[
  {
    "path": ".gitignore",
    "content": "# Maven #\ntarget/\n\n# IDEA #\n.idea/\n*.iml\n\n# Eclipse #\n.settings/\n.classpath\n.project"
  },
  {
    "path": "LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [2018-2026] [macrozheng]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "README.md",
    "content": "# mall\n\n<p>\n  <a href=\"#公众号\"><img src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-macrozheng-blue.svg\" alt=\"公众号\"></a>\n  <a href=\"#公众号\"><img src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E4%BA%A4%E6%B5%81-%E5%BE%AE%E4%BF%A1%E7%BE%A4-2BA245.svg\" alt=\"交流\"></a>\n  <a href=\"https://github.com/macrozheng/mall-learning\"><img src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%AD%A6%E4%B9%A0%E6%95%99%E7%A8%8B-mall--learning-green.svg\" alt=\"学习教程\"></a>\n  <a href=\"https://github.com/macrozheng/mall-swarm\"><img src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/Cloud%E7%89%88%E6%9C%AC-mall--swarm-brightgreen.svg\" alt=\"SpringCloud版本\"></a>\n  <a href=\"https://github.com/macrozheng/mall-admin-web\"><img src=\"https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F-mall--admin--web-green.svg\" alt=\"后台管理系统\"></a>\n  <a href=\"https://github.com/macrozheng/mall-app-web\"><img src=\"https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%89%8D%E5%8F%B0%E5%95%86%E5%9F%8E%E9%A1%B9%E7%9B%AE-mall--app--web-green.svg\" alt=\"前台商城项目\"></a>\n  <a href=\"https://gitee.com/macrozheng/mall\"><img src=\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E7%A0%81%E4%BA%91-%E9%A1%B9%E7%9B%AE%E5%9C%B0%E5%9D%80-orange.svg\" alt=\"码云\"></a>\n</p>\n\n## 友情提示\n\n> 1. **快速体验项目**：[在线访问地址](https://www.macrozheng.com/admin/index.html) 。\n> 2. **全套学习教程**：[《mall学习教程》](https://www.macrozheng.com) 。\n> 3. **视频教程**：[《mall视频教程》](https://www.macrozheng.com/mall/foreword/mall_video.html) 。\n> 4. **微服务版本**：基于Spring Cloud Alibaba的项目：[mall-swarm](https://github.com/macrozheng/mall-swarm) 。\n> 5. **分支说明**：`master`分支基于Spring Boot 2.7+JDK 8，`dev-v3`分支基于Spring Boot 3.2+JDK 17。\n\n## 前言\n\n`mall`项目致力于打造一个完整的电商系统，采用现阶段主流技术实现。\n\n## 项目文档\n\n文档地址：[https://www.macrozheng.com](https://www.macrozheng.com)\n\n## 项目介绍\n\n`mall`项目是一套电商系统，包括前台商城系统及后台管理系统，基于SpringBoot+MyBatis实现，采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。\n\n### 项目演示\n\n#### 后台管理系统\n\n前端项目`mall-admin-web`地址：https://github.com/macrozheng/mall-admin-web\n\n项目演示地址： [https://www.macrozheng.com/admin/index.html](https://www.macrozheng.com/admin/index.html)  \n\n![后台管理系统功能演示](./document/resource/mall_admin_show.png)\n\n#### 前台商城系统\n\n前端项目`mall-app-web`地址：https://github.com/macrozheng/mall-app-web\n\n项目演示地址（将浏览器切换为手机模式效果更佳）：[https://www.macrozheng.com/app/](https://www.macrozheng.com/app/)\n\n![前台商城系统功能演示](./document/resource/re_mall_app_show.jpg)\n\n### 组织结构\n\n``` lua\nmall\n├── mall-common -- 工具类及通用代码\n├── mall-mbg -- MyBatisGenerator生成的数据库操作代码\n├── mall-security -- SpringSecurity封装公用模块\n├── mall-admin -- 后台商城管理系统接口\n├── mall-search -- 基于Elasticsearch的商品搜索系统\n├── mall-portal -- 前台商城系统接口\n└── mall-demo -- 框架搭建时的测试代码\n```\n\n### 技术选型\n\n#### 后端技术\n\n| 技术                 | 说明                | 官网                                           |\n| -------------------- | ------------------- | ---------------------------------------------- |\n| SpringBoot           | Web应用开发框架      | https://spring.io/projects/spring-boot         |\n| SpringSecurity       | 认证和授权框架      | https://spring.io/projects/spring-security     |\n| MyBatis              | ORM框架             | http://www.mybatis.org/mybatis-3/zh/index.html |\n| MyBatisGenerator     | 数据层代码生成器     | http://www.mybatis.org/generator/index.html    |\n| Elasticsearch        | 搜索引擎            | https://github.com/elastic/elasticsearch       |\n| RabbitMQ             | 消息队列            | https://www.rabbitmq.com/                      |\n| Redis                | 内存数据存储         | https://redis.io/                              |\n| MongoDB              | NoSql数据库         | https://www.mongodb.com                        |\n| LogStash             | 日志收集工具        | https://github.com/elastic/logstash            |\n| Kibana               | 日志可视化查看工具  | https://github.com/elastic/kibana              |\n| Nginx                | 静态资源服务器      | https://www.nginx.com/                         |\n| Docker               | 应用容器引擎        | https://www.docker.com                         |\n| Jenkins              | 自动化部署工具      | https://github.com/jenkinsci/jenkins           |\n| Druid                | 数据库连接池        | https://github.com/alibaba/druid               |\n| OSS                  | 对象存储            | https://github.com/aliyun/aliyun-oss-java-sdk  |\n| MinIO                | 对象存储            | https://github.com/minio/minio                 |\n| JWT                  | JWT登录支持         | https://github.com/jwtk/jjwt                   |\n| Lombok               | Java语言增强库      | https://github.com/rzwitserloot/lombok         |\n| Hutool               | Java工具类库        | https://github.com/looly/hutool                |\n| PageHelper           | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |\n| Swagger-UI           | API文档生成工具      | https://github.com/swagger-api/swagger-ui      |\n| Hibernator-Validator | 验证框架            | http://hibernate.org/validator                 |\n\n#### 前端技术\n\n| 技术       | 说明                  | 官网                                   |\n| ---------- | --------------------- | -------------------------------------- |\n| Vue        | 前端框架              | https://vuejs.org/                     |\n| Vue-router | 路由框架              | https://router.vuejs.org/              |\n| Vuex       | 全局状态管理框架      | https://vuex.vuejs.org/                |\n| Element    | 前端UI框架            | https://element.eleme.io               |\n| Axios      | 前端HTTP框架          | https://github.com/axios/axios         |\n| v-charts   | 基于Echarts的图表框架 | https://v-charts.js.org/               |\n| Js-cookie  | cookie管理工具        | https://github.com/js-cookie/js-cookie |\n| nprogress  | 进度条控件            | https://github.com/rstacruz/nprogress  |\n\n#### 移动端技术\n\n| 技术         | 说明             | 官网                                    |\n| ------------ | ---------------- | --------------------------------------- |\n| Vue          | 核心前端框架     | https://vuejs.org                       |\n| Vuex         | 全局状态管理框架 | https://vuex.vuejs.org                  |\n| uni-app      | 移动端前端框架   | https://uniapp.dcloud.io                |\n| mix-mall     | 电商项目模板     | https://ext.dcloud.net.cn/plugin?id=200 |\n| luch-request | HTTP请求框架     | https://github.com/lei-mu/luch-request  |\n\n#### 架构图\n\n##### 系统架构图\n\n![系统架构图](./document/resource/re_mall_system_arch.jpg)\n\n##### 业务架构图\n\n![业务架构图](./document/resource/re_mall_business_arch.jpg)\n\n#### 模块介绍\n\n##### 后台管理系统 `mall-admin`\n\n- 商品管理：[功能结构图-商品.jpg](document/resource/mind_product.jpg)\n- 订单管理：[功能结构图-订单.jpg](document/resource/mind_order.jpg)\n- 促销管理：[功能结构图-促销.jpg](document/resource/mind_sale.jpg)\n- 内容管理：[功能结构图-内容.jpg](document/resource/mind_content.jpg)\n- 用户管理：[功能结构图-用户.jpg](document/resource/mind_member.jpg)\n\n##### 前台商城系统 `mall-portal`\n\n[功能结构图-前台.jpg](document/resource/mind_portal.jpg)\n\n#### 开发进度\n\n![项目开发进度图](./document/resource/re_mall_dev_flow.jpg)\n\n## 环境搭建\n\n### 开发工具\n\n| 工具          | 说明                | 官网                                            |\n| ------------- | ------------------- | ----------------------------------------------- |\n| IDEA          | 开发IDE             | https://www.jetbrains.com/idea/download         |\n| RedisDesktop  | redis客户端连接工具 | https://github.com/qishibo/AnotherRedisDesktopManager  |\n| Robomongo     | mongo客户端连接工具 | https://robomongo.org/download                  |\n| SwitchHosts   | 本地host管理        | https://oldj.github.io/SwitchHosts/             |\n| X-shell       | Linux远程连接工具   | http://www.netsarang.com/download/software.html |\n| Navicat       | 数据库连接工具      | http://www.formysql.com/xiazai.html             |\n| PowerDesigner | 数据库设计工具      | http://powerdesigner.de/                        |\n| Axure         | 原型设计工具        | https://www.axure.com/                          |\n| MindMaster    | 思维导图设计工具    | http://www.edrawsoft.cn/mindmaster              |\n| ScreenToGif   | gif录制工具         | https://www.screentogif.com/                    |\n| ProcessOn     | 流程图绘制工具      | https://www.processon.com/                      |\n| PicPick       | 图片处理工具        | https://picpick.app/zh/                         |\n| Snipaste      | 屏幕截图工具        | https://www.snipaste.com/                       |\n| Postman       | API接口调试工具      | https://www.postman.com/                        |\n| Typora        | Markdown编辑器      | https://typora.io/                              |\n\n### 开发环境\n\n| 工具          | 版本号 | 下载                                                         |\n| ------------- | ------ | ------------------------------------------------------------ |\n| JDK           | 1.8    | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |\n| MySQL         | 5.7    | https://www.mysql.com/                                       |\n| Redis         | 7.0    | https://redis.io/download                                    |\n| MongoDB       | 5.0    | https://www.mongodb.com/download-center                      |\n| RabbitMQ      | 3.10.5 | http://www.rabbitmq.com/download.html                        |\n| Nginx         | 1.22   | http://nginx.org/en/download.html                            |\n| Elasticsearch | 7.17.3 | https://www.elastic.co/downloads/elasticsearch               |\n| Logstash      | 7.17.3 | https://www.elastic.co/cn/downloads/logstash                 |\n| Kibana        | 7.17.3 | https://www.elastic.co/cn/downloads/kibana                   |\n\n### 搭建步骤\n\n> Windows环境部署\n\n- Windows环境搭建请参考：[mall项目后端开发环境搭建](https://www.macrozheng.com/mall/start/mall_deploy_windows.html);\n- 注意：如果只启动`mall-admin`模块，仅需安装MySQL、Redis即可;\n- 克隆`mall-admin-web`项目，并导入到IDEA中完成编译：[前端项目地址](https://github.com/macrozheng/mall-admin-web);\n- `mall-admin-web`项目的安装及部署请参考：[mall项目前端发环境搭建](https://www.macrozheng.com/mall/start/mall_deploy_web.html) 。\n\n> Docker环境部署\n\n- 使用虚拟机安装CentOS7.6请参考：[虚拟机安装及使用Linux，看这一篇就够了](https://www.macrozheng.com/mall/deploy/linux_install.html);\n- 本项目Docker镜像构建请参考：[使用Maven插件为SpringBoot应用构建Docker镜像](https://www.macrozheng.com/project/maven_docker_fabric8.html);\n- 本项目在Docker容器下的部署请参考：[mall在Linux环境下的部署（基于Docker容器）](https://www.macrozheng.com/mall/deploy/mall_deploy_docker.html);\n- 本项目使用Docker Compose请参考： [mall在Linux环境下的部署（基于Docker Compose）](https://www.macrozheng.com/mall/deploy/mall_deploy_docker_compose.html);\n- 本项目在Linux下的自动化部署请参考：[mall在Linux环境下的自动化部署（基于Jenkins）](https://www.macrozheng.com/mall/deploy/mall_deploy_jenkins.html);\n\n## 公众号\n\n加微信群交流，关注公众号「**macrozheng**」，回复「**加群**」即可。\n\n![公众号图片](./document/resource/qrcode_for_macrozheng_258.jpg)\n\n## 许可证\n\n[Apache License 2.0](https://github.com/macrozheng/mall/blob/master/LICENSE)\n\nCopyright (c) 2018-2026 macrozheng\n"
  },
  {
    "path": "document/axure/app-design.md",
    "content": "## app-design\n\n### 原型尺寸\n\n名称 | 尺寸\n----|----\nandroid|360x640\nios|375x667\n\n### 尺寸\n\n#### 字体大小\n\n名称 | 尺寸\n----|----\n标题栏标题|17\n标题栏编辑|15\n标题字体1|17\n标题字体2|15\n正文字体|13\n\n#### 中继器尺寸\n\n名称 | 尺寸\n----|----\n单列宽度|375\n双列宽度|150\n双列左右填充|30\n双列水平垂直边距|15\n\n#### 图标尺寸\n\n名称 | 尺寸\n----|----\n图标|24x24\n\n#### 通用尺寸\n\n名称 | 尺寸\n----|----\n标题栏高度|44\n单行列表高度|44或48\n矩形内部填充间距|20\n分隔条宽度|15\n分隔条宽度2|20\n\n### 颜色\n\n名称 | 尺寸\n----|----\napp主色|#2AB795\n屏幕背景色|#EEEEEE\n弹框背景色|#04040F(40%)\n醒目色1|#FB0017\n醒目色2|#FD994B\n文字颜色1|#333333\n文字颜色2|#666666\n文字颜色3|#999999\n边框及分隔线颜色|#CCCCCC\n图标颜色|#666666或主色\n半透明色|纯黑色调整透明度"
  },
  {
    "path": "document/docker/docker-compose-app.yml",
    "content": "version: '3'\nservices:\n  mall-admin:\n    image: mall/mall-admin:1.0-SNAPSHOT\n    container_name: mall-admin\n    ports:\n      - 8080:8080\n    volumes:\n      - /mydata/app/mall-admin/logs:/var/logs\n      - /etc/localtime:/etc/localtime\n    environment:\n      - 'TZ=\"Asia/Shanghai\"'\n    external_links:\n      - mysql:db #可以用db这个域名访问mysql服务\n  mall-search:\n    image: mall/mall-search:1.0-SNAPSHOT\n    container_name: mall-search\n    ports:\n      - 8081:8081\n    volumes:\n      - /mydata/app/mall-search/logs:/var/logs\n      - /etc/localtime:/etc/localtime\n    environment:\n      - 'TZ=\"Asia/Shanghai\"'\n    external_links:\n      - elasticsearch:es #可以用es这个域名访问elasticsearch服务\n      - mysql:db #可以用db这个域名访问mysql服务\n  mall-portal:\n    image: mall/mall-portal:1.0-SNAPSHOT\n    container_name: mall-portal\n    ports:\n      - 8085:8085\n    volumes:\n      - /mydata/app/mall-portal/logs:/var/logs\n      - /etc/localtime:/etc/localtime\n    environment:\n      - 'TZ=\"Asia/Shanghai\"'\n    external_links:\n      - redis:redis #可以用redis这个域名访问redis服务\n      - mongo:mongo #可以用mongo这个域名访问mongo服务\n      - mysql:db #可以用db这个域名访问mysql服务\n      - rabbitmq:rabbit #可以用rabbit这个域名访问rabbitmq服务"
  },
  {
    "path": "document/docker/docker-compose-env.yml",
    "content": "version: '3'\nservices:\n  mysql:\n    image: mysql:5.7\n    container_name: mysql\n    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci\n    restart: always\n    environment:\n      MYSQL_ROOT_PASSWORD: root #设置root帐号密码\n    ports:\n      - 3306:3306\n    volumes:\n      - /mydata/mysql/data:/var/lib/mysql #数据文件目录挂载\n      - /mydata/mysql/conf:/etc/mysql #配置文件目录挂载\n      - /mydata/mysql/log:/var/log/mysql #日志文件目录挂载\n  redis:\n    image: redis:7\n    container_name: redis\n    command: redis-server --appendonly yes\n    volumes:\n      - /mydata/redis/data:/data #数据文件目录挂载\n    ports:\n      - 6379:6379\n  nginx:\n    image: nginx:1.22\n    container_name: nginx\n    volumes:\n      - /mydata/nginx/conf:/etc/nginx #配置文件目录挂载\n      - /mydata/nginx/html:/usr/share/nginx/html #静态资源根目录挂载\n      - /mydata/nginx/logs:/var/log/nginx #日志文件目录挂载\n    ports:\n      - 80:80\n  rabbitmq:\n    image: rabbitmq:3.9.11-management\n    container_name: rabbitmq\n    volumes:\n      - /mydata/rabbitmq/data:/var/lib/rabbitmq #数据文件目录挂载\n    ports:\n      - 5672:5672\n      - 15672:15672\n  elasticsearch:\n    image: elasticsearch:7.17.3\n    container_name: elasticsearch\n    environment:\n      - \"cluster.name=elasticsearch\" #设置集群名称为elasticsearch\n      - \"discovery.type=single-node\" #以单一节点模式启动\n      - \"ES_JAVA_OPTS=-Xms512m -Xmx1024m\" #设置es使用的jvm内存大小\n    volumes:\n      - /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件目录挂载\n      - /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件目录挂载\n    ports:\n      - 9200:9200\n      - 9300:9300\n  logstash:\n    image: logstash:7.17.3\n    container_name: logstash\n    environment:\n      - TZ=Asia/Shanghai\n    volumes:\n      - /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf #配置文件挂载\n    depends_on:\n      - elasticsearch #kibana在elasticsearch启动之后再启动\n    links:\n      - elasticsearch:es #可以用es这个域名访问elasticsearch服务\n    ports:\n      - 4560:4560\n      - 4561:4561\n      - 4562:4562\n      - 4563:4563\n  kibana:\n    image: kibana:7.17.3\n    container_name: kibana\n    links:\n      - elasticsearch:es #可以用es这个域名访问elasticsearch服务\n    depends_on:\n      - elasticsearch #kibana在elasticsearch启动之后再启动\n    environment:\n      - \"elasticsearch.hosts=http://es:9200\" #设置访问elasticsearch的地址\n    ports:\n      - 5601:5601\n  mongo:\n    image: mongo:4\n    container_name: mongo\n    volumes:\n      - /mydata/mongo/db:/data/db #数据文件目录挂载\n    ports:\n      - 27017:27017\n  minio:\n    image: minio/minio\n    container_name: minio\n    command: server /data --console-address \":9001\" #指定数据目录及console运行端口启动\n    volumes:\n      - /mydata/minio/data:/data #数据目录挂载\n    environment:\n      - \"MINIO_ROOT_USER=minioadmin\"\n      - \"MINIO_ROOT_PASSWORD=minioadmin\"\n    ports:\n      - 9090:9000\n      - 9001:9001\n"
  },
  {
    "path": "document/docker/nginx.conf",
    "content": "\nuser  nginx;\nworker_processes  1;\n\nerror_log  /var/log/nginx/error.log warn;\npid        /var/run/nginx.pid;\n\n\nevents {\n    worker_connections  1024;\n}\n\n\nhttp {\n    include       /etc/nginx/mime.types;\n    default_type  application/octet-stream;\n\n    log_format  main  '$remote_addr - $remote_user [$time_local] \"$request\" '\n                      '$status $body_bytes_sent \"$http_referer\" '\n                      '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n\n    access_log  /var/log/nginx/access.log  main;\n\n    sendfile        on;\n    #tcp_nopush     on;\n\n    keepalive_timeout  65;\n\n    #gzip  on;\n\n    server {\n\t    listen       80;\n\t    server_name  localhost;\n\n\t    location / {\n\t        root   /usr/share/nginx/html;\n\t        index  index.html index.htm;\n\t    }\n\n\t    error_page   500 502 503 504  /50x.html;\n\t    location = /50x.html {\n\t        root   /usr/share/nginx/html;\n\t    }\n\t}\n}\n"
  },
  {
    "path": "document/elk/logstash.conf",
    "content": "input {\n  tcp {\n    mode => \"server\"\n    host => \"0.0.0.0\"\n    port => 4560\n    codec => json_lines\n    type => \"debug\"\n  }\n  tcp {\n    mode => \"server\"\n    host => \"0.0.0.0\"\n    port => 4561\n    codec => json_lines\n    type => \"error\"\n  }\n  tcp {\n    mode => \"server\"\n    host => \"0.0.0.0\"\n    port => 4562\n    codec => json_lines\n    type => \"business\"\n  }\n  tcp {\n    mode => \"server\"\n    host => \"0.0.0.0\"\n    port => 4563\n    codec => json_lines\n    type => \"record\"\n  }\n}\nfilter{\n  if [type] == \"record\" {\n    mutate {\n      remove_field => \"port\"\n      remove_field => \"host\"\n      remove_field => \"@version\"\n    }\n    json {\n      source => \"message\"\n      remove_field => [\"message\"]\n    }\n  }\n}\noutput {\n  elasticsearch {\n    hosts => \"localhost:9200\"\n    index => \"mall-%{type}-%{+YYYY.MM.dd}\"\n  }\n}"
  },
  {
    "path": "document/pdm/mall.pdb",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?PowerDesigner AppLocale=\"UTF16\" ID=\"{7BB41C87-EFE8-409A-A86E-B1C3FCE34F8C}\" Label=\"\" LastModificationDate=\"1582621151\" Name=\"mall\" Objects=\"1197\" Symbols=\"156\" Target=\"MySQL 5.0\" Type=\"{CDE44E21-9669-11D1-9914-006097355D9B}\" signature=\"PDM_DATA_MODEL_XML\" version=\"16.5.0.3982\"?>\n<!-- do not edit this file -->\n\n<Model xmlns:a=\"attribute\" xmlns:c=\"collection\" xmlns:o=\"object\">\n\n<o:RootObject Id=\"o1\">\n<c:Children>\n<o:Model Id=\"o2\">\n<a:ObjectID>7BB41C87-EFE8-409A-A86E-B1C3FCE34F8C</a:ObjectID>\n<a:Name>mall</a:Name>\n<a:Code>mall</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:PackageOptionsText>[FolderOptions]\n\n[FolderOptions\\Physical Objects]\nGenerationCheckModel=Yes\nGenerationPath=\nGenerationOptions=\nGenerationTasks=\nGenerationTargets=\nGenerationSelections=\nRevPkey=Yes\nRevFkey=Yes\nRevAkey=Yes\nRevCheck=Yes\nRevIndx=Yes\nRevOpts=Yes\nRevViewAsTabl=No\nRevViewOpts=Yes\nRevSystAsTabl=Yes\nRevTablPerm=No\nRevViewPerm=No\nRevProcPerm=No\nRevDbpkPerm=No\nRevSqncPerm=No\nRevAdtPerm=No\nRevUserPriv=No\nRevUserOpts=No\nRevGrpePriv=No\nRevRolePriv=No\nRevDtbsOpts=Yes\nRevDtbsPerm=No\nRevViewIndx=Yes\nRevJidxOpts=Yes\nRevStats=No\nRevTspcPerm=No\nRevCaseSensitive=No\nGenTrgrStdMsg=Yes\nGenTrgrMsgTab=\nGenTrgrMsgNo=\nGenTrgrMsgTxt=\nTrgrPreserve=No\nTrgrIns=Yes\nTrgrUpd=Yes\nTrgrDel=Yes\nTrgrC2Ins=Yes\nTrgrC2Upd=Yes\nTrgrC3=Yes\nTrgrC4=Yes\nTrgrC5=Yes\nTrgrC6=Yes\nTrgrC7=Yes\nTrgrC8=Yes\nTrgrC9=Yes\nTrgrC10=Yes\nTrgrC11=Yes\nTrgrC1=Yes\nTrgrC12Ins=Yes\nTrgrC12Upd=Yes\nTrgrC13=Yes\nUpdateTableStatistics=Yes\nUpdateColumnStatistics=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation]\nGenScriptName=create.sql\nGenScriptName0=update.sql\nGenScriptName1=crebas.sql\nGenScriptName2=crebas\nGenScriptName3=\nGenScriptName4=\nGenScriptName5=\nGenScriptName6=\nGenScriptName7=\nGenScriptName8=\nGenScriptName9=\nGenPathName=C:\\Users\\zhenghong\\Desktop\\\nGenSingleFile=Yes\nGenODBC=No\nGenCheckModel=Yes\nGenScriptPrev=Yes\nGenArchiveModel=No\nGenUseSync=No\nGenSyncChoice=0\nGenSyncArch=\nGenSyncRmg=0\n\n[FolderOptions\\Physical Objects\\Database Generation\\Format]\nGenScriptTitle=Yes\nGenScriptNamLabl=No\nGenScriptQDtbs=No\nGenScriptQOwnr=Yes\nGenScriptCase=0\nGenScriptEncoding=UTF8\nGenScriptNAcct=No\nIdentifierDelimiter=&quot;\n\n[FolderOptions\\Physical Objects\\Database Generation\\Database]\nCreate=Yes\nOpen=Yes\nClose=Yes\nDrop=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Database\\Create]\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Tablespace]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Tablespace\\Create]\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Storage]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\User]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPrivilege=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\User\\Create]\nPhysical Options=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Group]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPrivilege=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Role]\nCreate=Yes\nDrop=Yes\nPrivilege=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\UserDefinedDataType]\nCreate=Yes\nComment=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\UserDefinedDataType\\Create]\nDefault value=Yes\nCheck=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\AbstractDataType]\nCreate=Yes\nHeader=Yes\nFooter=Yes\nDrop=Yes\nComment=Yes\nInstall JAVA class=Yes\nRemove JAVA class=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Rule]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Default]\nCreate=Yes\nComment=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Sequence]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column]\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Table]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Table\\Create]\nCheck=Yes\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Table\\Create\\Check]\nConstraint declaration=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Column]\nUser datatype=No\nDefault value=Yes\nCheck=Yes\nPhysical Options=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Column\\Check]\nConstraint declaration=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key]\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Primary key]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Primary key\\Create]\nConstraint declaration=No\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Alternate key]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Alternate key\\Create]\nConstraint declaration=No\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Foreign key]\nCreate=No\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Foreign key\\Create]\nConstraint declaration=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Index]\nCreate=No\nDrop=No\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Index\\Create]\nConstraint declaration=Yes\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Index\\Filter]\nPrimary key=No\nForeign key=No\nAlternate key=No\nCluster=Yes\nOther=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Trigger]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Trigger\\Filter]\nFor insert=Yes\nFor update=Yes\nFor delete=Yes\nFor other=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\Create]\nForce Column list=No\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewColumn]\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewIndex]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewIndex\\Create]\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewIndex\\Filter]\nCluster=Yes\nOther=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\Trigger]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\Trigger\\Filter]\nFor insert=Yes\nFor update=Yes\nFor delete=Yes\nFor other=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\DBMSTrigger]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Synonym]\nCreate=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Synonym\\Filter]\nTable=Yes\nView=Yes\nProc=Yes\nSynonym=Yes\nDatabase Package=Yes\nSequence=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\JoinIndex]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\JoinIndex\\Create]\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Procedure]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Procedure\\Create]\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\DatabasePackage]\nCreate=Yes\nDrop=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\WebService]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Dimension]\nCreate=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Synchronization]\nGenBackupTabl=1\nGenKeepBackTabl=1\nGenTmpTablDrop=No\nGenKeepTablOpts=No\n\n[FolderOptions\\Physical Objects\\Test Data]\nGenDataPathName=C:\\Users\\zhenghong\\Desktop\\\nGenDataSinglefile=Yes\nGenDataScriptName=testdata.sql\nGenDataScriptName0=\nGenDataScriptName1=\nGenDataScriptName2=\nGenDataScriptName3=\nGenDataScriptName4=\nGenDataScriptName5=\nGenDataScriptName6=\nGenDataScriptName7=\nGenDataScriptName8=\nGenDataScriptName9=\nGenDataOdbc=0\nGenDataDelOld=No\nGenDataTitle=No\nGenDataDefNumRows=20\nGenDataCommit=0\nGenDataPacket=0\nGenDataOwner=No\nGenDataProfNumb=\nGenDataProfChar=\nGenDataProfDate=\nGenDataCSVSeparator=,\nGenDataFileFormat=CSV\nGenDataUseWizard=No\n\n[FolderOptions\\Pdm]\nIndxIQName=%COLUMN%_%INDEXTYPE%\nIndxPK=Yes\nIndxFK=Yes\nIndxAK=Yes\nIndxPKName=%TABLE%_PK\nIndxFKName=%REFR%_FK\nIndxAKName=%AKEY%_AK\nIndxPreserve=No\nIndxThreshold=0\nIndxStats=No\nRefrPreserve=No\nJidxPreserve=No\nRbldMultiFact=Yes\nRbldMultiDim=Yes\nRbldMultiJidx=Yes\nCubePreserve=No\nTablStProcPreserve=No\nProcDepPreserve=Yes\nTrgrDepPreserve=Yes\nCubeScriptPath=\nCubeScriptCase=0\nCubeScriptEncoding=ANSI\nCubeScriptNacct=No\nCubeScriptHeader=No\nCubeScriptExt=csv\nCubeScriptExt0=txt\nCubeScriptExt1=\nCubeScriptExt2=\nCubeScriptSep=,\nCubeScriptDeli=&quot;\nEstimationYears=0\nDfltDomnName=D_%.U:VALUE%\nDfltColnName=D_%.U:VALUE%\nDfltReuse=Yes\nDfltDrop=Yes\n\n[FolderOptions\\CheckModel]\n\n[FolderOptions\\CheckModel\\Package]\n\n[FolderOptions\\CheckModel\\Package\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CheckPackageMissTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\DefaultCheckPackageMissTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CircularReference]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\ConstraintName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CnstMaxLen]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CircularDependency]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\ShortcutUniqCode]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Table]\n\n[FolderOptions\\CheckModel\\Table\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\UniqIndex]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MaxLen - NAME]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - COLNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - INDXCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - KEYCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\SerialColumnNumber]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyCollYesYes]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\TableIndexes]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\Mapping]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MappingSFMap]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - PERMCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Table\\CheckTablePartitionKey]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableStartDate]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableRefNoLifecycle]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableSourceMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTablePartialColumnMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableKeyColumnMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableNotOnLifecycleTablespace]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MYSQL50_Table_Table_storage_type]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column]\n\n[FolderOptions\\CheckModel\\Table.Column\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\DomainDivergence]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColumnMandatory]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckNumParam]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckPrecSupLng]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckUndefDttp]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\FkeyDttpDivergence]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\FkeyCheckDivergence]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColnSqncNoKey]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColnSqncDttp]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\SerialColumnFK]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColumnCompExpr]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckColumnOneToOneMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckColumnDataTypeMapping]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckColumnNoMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckDttpIncompatibleFormat]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\MYSQL50_Column_Auto_increment_key]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\MYSQL50_Column_Datatype_attributes]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index]\n\n[FolderOptions\\CheckModel\\Table.Index\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\EmptyColl - CIDXCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\UndefIndexType]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\IndexColumnCount]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\IQIndxHNGUniq]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\CheckIncludeColl - Tabl]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\MYSQL50_Index_Fulltext_indexes_validity]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key]\n\n[FolderOptions\\CheckModel\\Table.Key\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\EmptyColl - COLNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\CheckIncludeColl - Tabl]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\MultiKeySqnc]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger]\n\n[FolderOptions\\CheckModel\\Table.Trigger\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index]\n\n[FolderOptions\\CheckModel\\Join Index\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View]\n\n[FolderOptions\\CheckModel\\View\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\EmptyColl - PERMCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\View.View Index]\n\n[FolderOptions\\CheckModel\\View.View Index\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\EmptyColl - CIDXCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\IndexColumnCount]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\CheckIncludeColl - Tabl]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference]\n\n[FolderOptions\\CheckModel\\Reference\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\Reflexive]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\EmptyColl - RFJNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\IncompleteJoin]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\JoinOrder]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference]\n\n[FolderOptions\\CheckModel\\View Reference\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\EmptyColl - VRFJNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain]\n\n[FolderOptions\\CheckModel\\Domain\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckNumParam]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckPrecSupLng]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckUndefDttp]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckDttpIncompatibleFormat]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default]\n\n[FolderOptions\\CheckModel\\Default\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DfltValeEmpty]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DfltSameVale]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User]\n\n[FolderOptions\\CheckModel\\User\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\UniquePassword]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Group]\n\n[FolderOptions\\CheckModel\\Group\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\EmptyColl - USERCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\UniquePassword]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Role]\n\n[FolderOptions\\CheckModel\\Role\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\EmptyColl - USERCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure]\n\n[FolderOptions\\CheckModel\\Procedure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\ProcBodyEmpty]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\EmptyColl - PERMCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\DBMS Trigger]\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\DbmsTriggerEvent]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source]\n\n[FolderOptions\\CheckModel\\Data Source\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\EmptyColl - MODLSRC]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\DtscTargets]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\CheckDataSourceModels]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning]\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\EmptyColl - PARTCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\TargetTables]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning]\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\EmptyColl - PARTCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\TargetTables]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing]\n\n[FolderOptions\\CheckModel\\Table Collapsing\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing\\EmptyColl - TargetTable]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing\\TargetTables]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact]\n\n[FolderOptions\\CheckModel\\Fact\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\EmptyColl - MEASCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\Mapping]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\MappingSFMap]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\EmptyColl - ALLOLINKCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\CubeDupAssociation]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension]\n\n[FolderOptions\\CheckModel\\Dimension\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\EmptyColl - DATTRCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\EmptyColl - HIERCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DimnDupHierarchy]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DimnDefHierarchy]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\Mapping]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\MappingSFMap]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\SerialColumnNumber]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association]\n\n[FolderOptions\\CheckModel\\Association\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\EmptyColl - Hierarchy]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute]\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure]\n\n[FolderOptions\\CheckModel\\Fact.Measure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy]\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\EmptyColl - DATTRCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym]\n\n[FolderOptions\\CheckModel\\Synonym\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\MaxLen - NAME]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\EmptyColl - BASEOBJ]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type]\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\AdtInstantiable]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\AdtAbstractUsed]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure]\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\AdtProcUniqName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\ReturnDataType]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package]\n\n[FolderOptions\\CheckModel\\Database Package\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\MaxLen - NAME]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - PROCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - CURCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - VARCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - TYPCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - EXCCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\EmptyColl - PARM]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\ReturnDataType]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence]\n\n[FolderOptions\\CheckModel\\Sequence\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\ReturnDataType]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\EmptyColl - PARM]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\CheckUndefDttp]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace]\n\n[FolderOptions\\CheckModel\\Tablespace\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\IsObjectUsed]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage]\n\n[FolderOptions\\CheckModel\\Storage\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\IsObjectUsed]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database]\n\n[FolderOptions\\CheckModel\\Database\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\IsObjectUsed]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service]\n\n[FolderOptions\\CheckModel\\Web Service\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation]\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle]\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckLifecyclePhase]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckLifecycleRetention]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckPartitionRange]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase]\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseTbspace]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseIQTbspace]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseDuplicateTbspace]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseTbspaceCurrency]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseRetention]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseIdlePeriod]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseDataSource]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseExternalOnFirst]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Replication]\n\n[FolderOptions\\CheckModel\\Replication\\PartialReplication]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule]\n\n[FolderOptions\\CheckModel\\Business Rule\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\EmptyColl - OBJCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object]\n\n[FolderOptions\\CheckModel\\Extended Object\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link]\n\n[FolderOptions\\CheckModel\\Extended Link\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File]\n\n[FolderOptions\\CheckModel\\File\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\CheckPathExists]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format]\n\n[FolderOptions\\CheckModel\\Data Format\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\CheckDataFormatNullExpression]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes</a:PackageOptionsText>\n<a:ModelOptionsText>[ModelOptions]\n\n[ModelOptions\\Physical Objects]\nCaseSensitive=No\nDisplayName=Yes\nEnableTrans=No\nUseTerm=No\nEnableRequirements=No\nEnableFullShortcut=Yes\nDefaultDttp=\nIgnoreOwner=No\nRebuildTrigger=Yes\nRefrUnique=No\nRefrAutoMigrate=Yes\nRefrMigrateReuse=No\nRefrMigrateDomain=Yes\nRefrMigrateCheck=Yes\nRefrMigrateRule=Yes\nRefrMigrateExtd=No\nRefrMigrDefaultLink=No\nRefrDfltImpl=D\nRefrPrgtColn=No\nRefrMigrateToEnd=No\nRebuildTriggerDep=No\nColnFKName=%.3:PARENT%_%COLUMN%\nColnFKNameUse=No\nDomnCopyDttp=Yes\nDomnCopyChck=No\nDomnCopyRule=No\nDomnCopyMand=No\nDomnCopyExtd=No\nDomnCopyProf=No\nNotation=0\nDomnDefaultMandatory=No\nColnDefaultMandatory=No\nTablDefaultOwner=\nViewDefaultOwner=\nTrgrDefaultOwnerTabl=\nTrgrDefaultOwnerView=\nIdxDefaultOwnerTabl=\nIdxDefaultOwnerView=\nJdxDefaultOwner=\nDBPackDefaultOwner=\nSeqDefaultOwner=\nProcDefaultOwner=\nDBMSTrgrDefaultOwner=\nCurrency=USD\nRefrDeleteConstraint=1\nRefrUpdateConstraint=1\nRefrParentMandatory=No\nRefrParentChangeAllow=Yes\nRefrCheckOnCommit=No\n\n[ModelOptions\\Physical Objects\\NamingOptionsTemplates]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMPCKG]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMPCKG\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMPCKG\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMDOMN]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMDOMN\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMDOMN\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\TABL]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\TABL\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\TABL\\Code]\nTemplate=\nMaxLen=64\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\COLN]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\COLN\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\COLN\\Code]\nTemplate=\nMaxLen=64\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\INDX]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\INDX\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\INDX\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\REFR]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\REFR\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\REFR\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VREF]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VREF\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VREF\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEW]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEW\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEW\\Code]\nTemplate=\nMaxLen=64\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEWC]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEWC\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEWC\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBSERV]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBSERV\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBSERV\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=&#39;a&#39;-&#39;z&#39;,&#39;A&#39;-&#39;Z&#39;,&#39;0&#39;-&#39;9&#39;,&quot;/-_.!~*&#39;()&quot;\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBOP]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBOP\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBOP\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=&#39;a&#39;-&#39;z&#39;,&#39;A&#39;-&#39;Z&#39;,&#39;0&#39;-&#39;9&#39;,&quot;/-_.!~*&#39;()&quot;\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WPARAM]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WPARAM\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WPARAM\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FACT]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FACT\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FACT\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DIMN]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DIMN\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DIMN\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\MEAS]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\MEAS\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\MEAS\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DATTR]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DATTR\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DATTR\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FILO]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FILO\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FILO\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMEOBJ]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMEOBJ\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMEOBJ\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMELNK]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMELNK\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMELNK\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DefaultClass]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DefaultClass\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DefaultClass\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Connection]\n\n[ModelOptions\\Pdm]\n\n[ModelOptions\\Generate]\n\n[ModelOptions\\Generate\\Xsm]\nGenRootElement=Yes\nGenComplexType=No\nGenAttribute=Yes\nCheckModel=Yes\nSaveLinks=Yes\nORMapping=No\nNameToCode=No\n\n[ModelOptions\\Generate\\Pdm]\nRRMapping=No\n\n[ModelOptions\\Generate\\Cdm]\nCheckModel=Yes\nSaveLinks=Yes\nNameToCode=No\nNotation=2\n\n[ModelOptions\\Generate\\Oom]\nCheckModel=Yes\nSaveLinks=Yes\nORMapping=No\nNameToCode=Yes\nClassPrefix=\n\n[ModelOptions\\Generate\\Ldm]\nCheckModel=Yes\nSaveLinks=Yes\nNameToCode=No\n\n[ModelOptions\\Default Opts]\n\n[ModelOptions\\Default Opts\\TABL]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\COLN]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\INDX]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\AKEY]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\PKEY]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\STOR]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\TSPC]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\SQNC]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\DTBS]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\USER]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\JIDX]\nPhysOpts=</a:ModelOptionsText>\n<c:DBMS>\n<o:Shortcut Id=\"o3\">\n<a:ObjectID>14D4F090-917F-4538-8687-B423AA42B832</a:ObjectID>\n<a:Name>MySQL 5.0</a:Name>\n<a:Code>MYSQL50</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521705583</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:TargetStereotype/>\n<a:TargetID>F4F16ECD-F2F1-4006-AF6F-638D5C65F35E</a:TargetID>\n<a:TargetClassID>4BA9F647-DAB1-11D1-9944-006097355D9B</a:TargetClassID>\n</o:Shortcut>\n</c:DBMS>\n<c:PhysicalDiagrams>\n<o:PhysicalDiagram Id=\"o4\">\n<a:ObjectID>137EC109-4534-4C7A-BB72-091B8362EA59</a:ObjectID>\n<a:Name>diagram</a:Name>\n<a:Code>diagram</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DisplayPreferences>[DisplayPreferences]\n\n[DisplayPreferences\\PDM]\n\n[DisplayPreferences\\General]\nAdjust to text=Yes\nSnap Grid=No\nConstrain Labels=Yes\nDisplay Grid=No\nShow Page Delimiter=Yes\nShow Links intersections=Yes\nActivate automatic link routing=Yes\nGrid size=800\nGraphic unit=2\nWindow color=255 255 255\nBackground image=\nBackground mode=8\nWatermark image=\nWatermark mode=8\nShow watermark on screen=No\nGradient mode=0\nGradient end color=255 255 255\nShow Swimlane=No\nSwimlaneVert=Yes\nTreeVert=No\nCompDark=0\n\n[DisplayPreferences\\Object]\nShow Icon=No\nMode=2\nTrunc Length=40\nWord Length=40\nWord Text=!&quot;#$%&amp;&#39;)*+,-./:;=&gt;?@\\]^_`|}~\nShortcut IntIcon=Yes\nShortcut IntLoct=Yes\nShortcut IntFullPath=No\nShortcut IntLastPackage=Yes\nShortcut ExtIcon=Yes\nShortcut ExtLoct=No\nShortcut ExtFullPath=No\nShortcut ExtLastPackage=Yes\nShortcut ExtIncludeModl=Yes\nEObjShowStrn=Yes\nExtendedObject.Comment=No\nExtendedObject.IconPicture=No\nExtendedObject.TextStyle=No\nExtendedObject_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Object Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nELnkShowStrn=Yes\nELnkShowName=Yes\nExtendedLink_SymbolLayout=&lt;Form&gt;[CRLF] &lt;Form Name=&quot;Center&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Source&quot; &gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Destination&quot; &gt;[CRLF] &lt;/Form&gt;[CRLF]&lt;/Form&gt;\nFileObject.Stereotype=No\nFileObject.DisplayName=Yes\nFileObject.LocationOrName=No\nFileObject.IconPicture=No\nFileObject.TextStyle=No\nFileObject.IconMode=Yes\nFileObject_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Location&quot; Attribute=&quot;LocationOrName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nPackage.Stereotype=Yes\nPackage.Comment=No\nPackage.IconPicture=No\nPackage.TextStyle=No\nPackage_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nDisplay Model Version=Yes\nTable.Stereotype=Yes\nTable.DisplayName=Yes\nTable.OwnerDisplayName=No\nTable.Columns=Yes\nTable.Columns._Filter=&quot;All Columns&quot; PDMCOLNALL\nTable.Columns._Columns=Stereotype DataType KeyIndicator\nTable.Columns._Limit=-5\nTable.Keys=No\nTable.Keys._Columns=Stereotype Indicator\nTable.Indexes=No\nTable.Indexes._Columns=Stereotype\nTable.Triggers=No\nTable.Triggers._Columns=Stereotype\nTable.Comment=No\nTable.IconPicture=No\nTable.TextStyle=No\nTable_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Owner and Name&quot; Attribute=&quot;OwnerDisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Columns&quot; Collection=&quot;Columns&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes\\r\\nDataType No\\r\\nSymbolDataType No &amp;quot;Domain or Data type&amp;quot;\\r\\nDomain No\\r\\nKeyIndicator No\\r\\nIndexIndicator No\\r\\nNullStatus No&quot; Filters=&quot;&amp;quot;All Columns&amp;quot;  PDMCOLNALL &amp;quot;&amp;quot;\\r\\n&amp;quot;PK Columns&amp;quot;  PDMCOLNPK &amp;quot;\\&amp;quot;PRIM \\&amp;quot;TRUE\\&amp;quot; TRUE\\&amp;quot;&amp;quot;\\r\\n&amp;quot;Key Columns&amp;quot;  PDMCOLNKEY &amp;quot;\\&amp;quot;KEYS \\&amp;quot;TRUE\\&amp;quot; TRUE\\&amp;quot;&amp;quot;&quot; HasLimit=&quot;Yes&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Keys&quot; Collection=&quot;Keys&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes\\r\\nIndicator No&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Indexes&quot; Collection=&quot;Indexes&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes\\r\\nIndicator No&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Triggers&quot; Collection=&quot;Triggers&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nView.Stereotype=Yes\nView.DisplayName=Yes\nView.OwnerDisplayName=No\nView.Columns=Yes\nView.Columns._Columns=DisplayName\nView.Columns._Limit=-5\nView.TemporaryVTables=Yes\nView.Indexes=No\nView.Comment=No\nView.IconPicture=No\nView.TextStyle=No\nView_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Owner and Name&quot; Attribute=&quot;OwnerDisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Columns&quot; Collection=&quot;Columns&quot; Columns=&quot;DisplayName No\\r\\nExpression No\\r\\nDataType No\\r\\nSymbolDataType No &amp;quot;Domain or Data type&amp;quot;\\r\\nIndexIndicator No&quot; HasLimit=&quot;Yes&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Tables&quot; Collection=&quot;TemporaryVTables&quot; Columns=&quot;Name Yes&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Indexes&quot; Collection=&quot;Indexes&quot; Columns=&quot;DisplayName Yes&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nProcedure.Stereotype=No\nProcedure.DisplayName=Yes\nProcedure.OwnerDisplayName=No\nProcedure.Comment=No\nProcedure.IconPicture=No\nProcedure.TextStyle=No\nProcedure_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Owner and Name&quot; Attribute=&quot;OwnerDisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nReference.Cardinality=No\nReference.ImplementationType=No\nReference.ChildRole=Yes\nReference.Stereotype=Yes\nReference.DisplayName=No\nReference.ForeignKeyConstraintName=No\nReference.JoinExpression=No\nReference.Integrity=No\nReference.ParentRole=Yes\nReference_SymbolLayout=&lt;Form&gt;[CRLF] &lt;Form Name=&quot;Source&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Cardinality&quot; Attribute=&quot;Cardinality&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Implementation&quot; Attribute=&quot;ImplementationType&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Child Role&quot; Attribute=&quot;ChildRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Center&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;No&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]   &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]   &lt;StandardAttribute Name=&quot;Cons&amp;amp;traint Name&quot; Attribute=&quot;ForeignKeyConstraintName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;Cons&amp;amp;traint Name&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]   &lt;StandardAttribute Name=&quot;Join&quot; Attribute=&quot;JoinExpression&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;Join&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;/ExclusiveChoice&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Referential integrity&quot; Attribute=&quot;Integrity&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;Referential integrity&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Destination&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Parent Role&quot; Attribute=&quot;ParentRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF]&lt;/Form&gt;\nViewReference.ChildRole=Yes\nViewReference.Stereotype=Yes\nViewReference.DisplayName=No\nViewReference.JoinExpression=No\nViewReference.ParentRole=Yes\nViewReference_SymbolLayout=&lt;Form&gt;[CRLF] &lt;Form Name=&quot;Source&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Child Role&quot; Attribute=&quot;ChildRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Center&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;No&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]   &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]   &lt;StandardAttribute Name=&quot;Join Expression&quot; Attribute=&quot;JoinExpression&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;/ExclusiveChoice&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Destination&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Parent Role&quot; Attribute=&quot;ParentRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF]&lt;/Form&gt;\n\n[DisplayPreferences\\Symbol]\n\n[DisplayPreferences\\Symbol\\FRMEOBJ]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=6000\nHeight=2000\nBrush color=255 255 255\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=64\nBrush gradient color=192 192 192\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 255 128 128\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\FRMELNK]\nCENTERFont=新宋体,8,N\nCENTERFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 128 255\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\FILO]\nOBJSTRNFont=新宋体,8,N\nOBJSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nLCNMFont=新宋体,8,N\nLCNMFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=3600\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 0 255\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\PDMPCKG]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=4000\nBrush color=255 255 192\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 178 178 178\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\TABL]\nSTRNFont=新宋体,10,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nOWNRDISPNAMEFont=新宋体,8,N\nOWNRDISPNAMEFont color=0 0 0\nColumnsFont=新宋体,8,N\nColumnsFont color=0 0 0\nTablePkColumnsFont=新宋体,8,U\nTablePkColumnsFont color=0 0 0\nTableFkColumnsFont=新宋体,8,N\nTableFkColumnsFont color=0 0 0\nKeysFont=新宋体,8,N\nKeysFont color=0 0 0\nIndexesFont=新宋体,8,N\nIndexesFont color=0 0 0\nTriggersFont=新宋体,8,N\nTriggersFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=4000\nBrush color=178 214 252\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\VIEW]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nOWNRDISPNAMEFont=新宋体,8,N\nOWNRDISPNAMEFont color=0 0 0\nColumnsFont=新宋体,8,N\nColumnsFont color=0 0 0\nTablePkColumnsFont=新宋体,8,U\nTablePkColumnsFont color=0 0 0\nTableFkColumnsFont=新宋体,8,N\nTableFkColumnsFont color=0 0 0\nTemporaryVTablesFont=新宋体,8,N\nTemporaryVTablesFont color=0 0 0\nIndexesFont=新宋体,8,N\nIndexesFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=4000\nBrush color=208 208 255\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\PROC]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nOWNRDISPNAMEFont=新宋体,8,N\nOWNRDISPNAMEFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4000\nHeight=1000\nBrush color=255 255 192\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 108 0\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\REFR]\nSOURCEFont=新宋体,8,N\nSOURCEFont color=0 0 0\nCENTERFont=新宋体,8,N\nCENTERFont color=0 0 0\nDESTINATIONFont=新宋体,8,N\nDESTINATIONFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\VREF]\nSOURCEFont=新宋体,8,N\nSOURCEFont color=0 0 0\nCENTERFont=新宋体,8,N\nCENTERFont color=0 0 0\nDESTINATIONFont=新宋体,8,N\nDESTINATIONFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\USRDEPD]\nOBJXSTRFont=新宋体,8,N\nOBJXSTRFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=2 0 128 128 255\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\Free Symbol]\nFree TextFont=新宋体,8,N\nFree TextFont color=0 0 0\nLine style=0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 0 255\nShadow color=192 192 192\nShadow=0</a:DisplayPreferences>\n<a:PaperSize>(2280, 128972)</a:PaperSize>\n<a:PageMargins>((315,354), (433,354))</a:PageMargins>\n<a:PageOrientation>1</a:PageOrientation>\n<a:PaperSource>15</a:PaperSource>\n<c:Symbols>\n<o:ReferenceSymbol Id=\"o5\">\n<a:CreationDate>1521706257</a:CreationDate>\n<a:ModificationDate>1522399274</a:ModificationDate>\n<a:Rect>((118,137911), (3606,139161))</a:Rect>\n<a:ListOfPoints>((518,138536),(3206,138536))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o7\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o8\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o9\">\n<a:CreationDate>1521710488</a:CreationDate>\n<a:ModificationDate>1522301998</a:ModificationDate>\n<a:Rect>((-32542,131813), (-18882,146342))</a:Rect>\n<a:ListOfPoints>((-32142,145942),(-32142,132438),(-19282,132438))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o10\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o11\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o12\">\n<a:CreationDate>1521770349</a:CreationDate>\n<a:ModificationDate>1522399160</a:ModificationDate>\n<a:Rect>((-19307,147483), (-18057,152962))</a:Rect>\n<a:ListOfPoints>((-18682,152562),(-18682,147883))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o13\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o14\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o15\">\n<a:CreationDate>1521771362</a:CreationDate>\n<a:ModificationDate>1522722888</a:ModificationDate>\n<a:Rect>((-2768,147483), (-1518,154573))</a:Rect>\n<a:ListOfPoints>((-2143,154173),(-2143,147883))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o16\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o17\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o18\">\n<a:CreationDate>1521773101</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((118,145689), (8052,147828))</a:Rect>\n<a:ListOfPoints>((518,146089),(4085,146089),(4085,147203),(7652,147203))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o20\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o21\">\n<a:CreationDate>1521783613</a:CreationDate>\n<a:ModificationDate>1522301998</a:ModificationDate>\n<a:Rect>((-36148,140470), (-18882,141720))</a:Rect>\n<a:ListOfPoints>((-19282,141095),(-35748,141095))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o22\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o23\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o24\">\n<a:CreationDate>1521791466</a:CreationDate>\n<a:ModificationDate>1522721783</a:ModificationDate>\n<a:Rect>((-35006,116007), (-18882,117257))</a:Rect>\n<a:ListOfPoints>((-34606,116632),(-19282,116632))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o25\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o26\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o27\">\n<a:CreationDate>1521792428</a:CreationDate>\n<a:ModificationDate>1522721669</a:ModificationDate>\n<a:Rect>((-37186,123158), (-18882,124408))</a:Rect>\n<a:ListOfPoints>((-36786,123783),(-19282,123783))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o28\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o29\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o30\">\n<a:CreationDate>1521792909</a:CreationDate>\n<a:ModificationDate>1522721672</a:ModificationDate>\n<a:Rect>((-36959,130601), (-18882,131851))</a:Rect>\n<a:ListOfPoints>((-36559,131226),(-19282,131226))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o31\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o32\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o33\">\n<a:CreationDate>1522045168</a:CreationDate>\n<a:ModificationDate>1522399263</a:ModificationDate>\n<a:Rect>((26779,91096), (28029,95555))</a:Rect>\n<a:ListOfPoints>((27404,91496),(27404,95155))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o34\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o35\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o36\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o37\">\n<a:CreationDate>1522046100</a:CreationDate>\n<a:ModificationDate>1522399263</a:ModificationDate>\n<a:Rect>((118,99478), (28233,125231))</a:Rect>\n<a:ListOfPoints>((518,124831),(27608,124831),(27608,99878))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o35\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o38\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o39\">\n<a:CreationDate>1522046451</a:CreationDate>\n<a:ModificationDate>1522399258</a:ModificationDate>\n<a:Rect>((-10672,88961), (-7729,112209))</a:Rect>\n<a:ListOfPoints>((-8129,89361),(-10047,89361),(-10047,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o40\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o41\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o42\">\n<a:CreationDate>1522046456</a:CreationDate>\n<a:ModificationDate>1522399261</a:ModificationDate>\n<a:Rect>((6477,85210), (12264,86460))</a:Rect>\n<a:ListOfPoints>((6877,85835),(11864,85835))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o40\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o34\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o43\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o44\">\n<a:CreationDate>1522112691</a:CreationDate>\n<a:ModificationDate>1522399105</a:ModificationDate>\n<a:Rect>((-41320,55031), (-36214,56281))</a:Rect>\n<a:ListOfPoints>((-36614,55656),(-40920,55656))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o45\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o46\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o47\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o48\">\n<a:CreationDate>1522112694</a:CreationDate>\n<a:ModificationDate>1522399105</a:ModificationDate>\n<a:Rect>((-16713,57856), (-15463,112209))</a:Rect>\n<a:ListOfPoints>((-16088,58256),(-16088,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o45\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o49\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o50\">\n<a:CreationDate>1522114406</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((16796,151962), (26808,154513))</a:Rect>\n<a:ListOfPoints>((18480,152362),(26408,152362),(26408,153888),(17196,153888))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>4</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o51\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o52\">\n<a:CreationDate>1522115961</a:CreationDate>\n<a:ModificationDate>1522399266</a:ModificationDate>\n<a:Rect>((16844,105298), (20156,145559))</a:Rect>\n<a:ListOfPoints>((17244,105698),(19531,105698),(19531,145159))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o53\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o54\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o55\">\n<a:CreationDate>1522115983</a:CreationDate>\n<a:ModificationDate>1522399266</a:ModificationDate>\n<a:Rect>((11839,91096), (13089,104099))</a:Rect>\n<a:ListOfPoints>((12464,103699),(12464,91496))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o53\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o34\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o56\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o57\">\n<a:CreationDate>1522118676</a:CreationDate>\n<a:ModificationDate>1522721912</a:ModificationDate>\n<a:Rect>((-21193,102395), (-18057,112209))</a:Rect>\n<a:ListOfPoints>((-20793,102795),(-18682,102795),(-18682,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o58\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o59\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o60\">\n<a:CreationDate>1522119056</a:CreationDate>\n<a:ModificationDate>1522721912</a:ModificationDate>\n<a:Rect>((-37481,102138), (-32899,103388))</a:Rect>\n<a:ListOfPoints>((-37081,102763),(-33299,102763))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o61\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o58\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o62\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o63\">\n<a:CreationDate>1522120295</a:CreationDate>\n<a:ModificationDate>1522399221</a:ModificationDate>\n<a:Rect>((-24810,167598), (-19344,168848))</a:Rect>\n<a:ListOfPoints>((-19744,168223),(-24410,168223))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o64\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o65\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o66\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o67\">\n<a:CreationDate>1522138613</a:CreationDate>\n<a:ModificationDate>1522399095</a:ModificationDate>\n<a:Rect>((-24954,40604), (-19115,41854))</a:Rect>\n<a:ListOfPoints>((-19515,41229),(-24554,41229))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o68\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o70\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o71\">\n<a:CreationDate>1522138618</a:CreationDate>\n<a:ModificationDate>1522399095</a:ModificationDate>\n<a:Rect>((-34348,42015), (-12721,130651))</a:Rect>\n<a:ListOfPoints>((-13121,42415),(-13121,75553),(-33948,75553),(-33948,130026),(-19282,130026))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o68\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o72\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o73\">\n<a:CreationDate>1522138705</a:CreationDate>\n<a:ModificationDate>1522399092</a:ModificationDate>\n<a:Rect>((-43671,34853), (-38546,36103))</a:Rect>\n<a:ListOfPoints>((-38946,35478),(-43271,35478))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o74\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o75\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o76\">\n<a:CreationDate>1522141157</a:CreationDate>\n<a:ModificationDate>1522399066</a:ModificationDate>\n<a:Rect>((-25433,19586), (-17431,20836))</a:Rect>\n<a:ListOfPoints>((-17831,20211),(-25033,20211))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o77\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o78\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o79\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o80\">\n<a:CreationDate>1522141232</a:CreationDate>\n<a:ModificationDate>1522399094</a:ModificationDate>\n<a:Rect>((-43321,40604), (-38546,41854))</a:Rect>\n<a:ListOfPoints>((-42921,41229),(-38946,41229))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o81\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o82\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o83\">\n<a:CreationDate>1522141316</a:CreationDate>\n<a:ModificationDate>1522399068</a:ModificationDate>\n<a:Rect>((-44663,18136), (-38253,19386))</a:Rect>\n<a:ListOfPoints>((-38653,18761),(-44263,18761))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o78\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o84\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o85\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o86\">\n<a:CreationDate>1522142006</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:Rect>((-42272,4919), (-33459,6169))</a:Rect>\n<a:ListOfPoints>((-41872,5544),(-33859,5544))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o87\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o88\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o89\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o90\">\n<a:CreationDate>1522215975</a:CreationDate>\n<a:ModificationDate>1522398810</a:ModificationDate>\n<a:Rect>((62000,154589), (65163,155839))</a:Rect>\n<a:ListOfPoints>((62400,155214),(64763,155214))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o91\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o93\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o94\">\n<a:CreationDate>1522216015</a:CreationDate>\n<a:ModificationDate>1522398810</a:ModificationDate>\n<a:Rect>((118,129221), (50900,156036))</a:Rect>\n<a:ListOfPoints>((50500,155636),(41338,155636),(41338,129846),(518,129846))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o91\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o95\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o96\">\n<a:CreationDate>1522216251</a:CreationDate>\n<a:ModificationDate>1522398808</a:ModificationDate>\n<a:Rect>((62486,144990), (65163,146240))</a:Rect>\n<a:ListOfPoints>((62886,145615),(64763,145615))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o97\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o98\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o99\">\n<a:CreationDate>1522216380</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((20100,145134), (46631,146384))</a:Rect>\n<a:ListOfPoints>((46231,145759),(20500,145759))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o97\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o100\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o101\">\n<a:CreationDate>1522220508</a:CreationDate>\n<a:ModificationDate>1541490687</a:ModificationDate>\n<a:Rect>((77597,148397), (88375,149647))</a:Rect>\n<a:ListOfPoints>((87975,149022),(77997,149022))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o102\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o103\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o104\">\n<a:CreationDate>1522220546</a:CreationDate>\n<a:ModificationDate>1541490615</a:ModificationDate>\n<a:Rect>((59369,64259), (99115,147363))</a:Rect>\n<a:ListOfPoints>((98715,146963),(98715,64884),(59769,64884))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o102\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o106\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o107\">\n<a:CreationDate>1522224364</a:CreationDate>\n<a:ModificationDate>1522399274</a:ModificationDate>\n<a:Rect>((18744,122602), (80891,138598))</a:Rect>\n<a:ListOfPoints>((80491,123002),(74505,123002),(74505,137973),(19144,137973))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o108\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o7\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o109\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o110\">\n<a:CreationDate>1522225874</a:CreationDate>\n<a:ModificationDate>1522398795</a:ModificationDate>\n<a:Rect>((118,126647), (80417,130069))</a:Rect>\n<a:ListOfPoints>((80017,129669),(72926,129669),(72926,127272),(518,127272))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o111\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o112\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o113\">\n<a:CreationDate>1522226077</a:CreationDate>\n<a:ModificationDate>1522398792</a:ModificationDate>\n<a:Rect>((118,130712), (79609,136199))</a:Rect>\n<a:ListOfPoints>((79209,135799),(38938,135799),(38938,131337),(518,131337))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o114\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o115\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o116\">\n<a:CreationDate>1522226272</a:CreationDate>\n<a:ModificationDate>1522399075</a:ModificationDate>\n<a:Rect>((-38306,48140), (83441,113756))</a:Rect>\n<a:ListOfPoints>((83041,113356),(83041,94555),(-37681,94555),(-37681,48540))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o117\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o118\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o119\">\n<a:CreationDate>1522303390</a:CreationDate>\n<a:ModificationDate>1542180981</a:ModificationDate>\n<a:Rect>((56152,72245), (57402,98630))</a:Rect>\n<a:ListOfPoints>((56777,98230),(56777,72645))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o120\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o121\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o122\">\n<a:CreationDate>1522303410</a:CreationDate>\n<a:ModificationDate>1542180981</a:ModificationDate>\n<a:Rect>((-9472,101195), (50367,112209))</a:Rect>\n<a:ListOfPoints>((49967,101595),(-8847,101595),(-8847,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o120\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o123\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o124\">\n<a:CreationDate>1522304178</a:CreationDate>\n<a:ModificationDate>1538200596</a:ModificationDate>\n<a:Rect>((35098,10654), (42842,11904))</a:Rect>\n<a:ListOfPoints>((35498,11279),(42442,11279))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o125\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o126\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o127\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o128\">\n<a:CreationDate>1522386868</a:CreationDate>\n<a:ModificationDate>1522398605</a:ModificationDate>\n<a:Rect>((36870,42888), (49607,52723))</a:Rect>\n<a:ListOfPoints>((49207,52323),(49207,43513),(37270,43513))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o129\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o130\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o131\">\n<a:CreationDate>1522387461</a:CreationDate>\n<a:ModificationDate>1522399143</a:ModificationDate>\n<a:Rect>((50982,72245), (52232,75672))</a:Rect>\n<a:ListOfPoints>((51607,75272),(51607,72645))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o132\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o133\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o134\">\n<a:CreationDate>1522387526</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((20100,78871), (40538,151445))</a:Rect>\n<a:ListOfPoints>((40138,79271),(40138,150820),(20500,150820))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o132\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o135\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o136\">\n<a:CreationDate>1522389232</a:CreationDate>\n<a:ModificationDate>1522398872</a:ModificationDate>\n<a:Rect>((33605,58216), (43845,60017))</a:Rect>\n<a:ListOfPoints>((34005,59617),(34005,58841),(43445,58841))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>2</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o137\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o138\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o139\">\n<a:CreationDate>1522390434</a:CreationDate>\n<a:ModificationDate>1522398601</a:ModificationDate>\n<a:Rect>((33005,54232), (43845,55482))</a:Rect>\n<a:ListOfPoints>((33405,54857),(43445,54857))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o140\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o141\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o142\">\n<a:CreationDate>1522390644</a:CreationDate>\n<a:ModificationDate>1522398535</a:ModificationDate>\n<a:Rect>((33522,26819), (52232,52723))</a:Rect>\n<a:ListOfPoints>((33922,27219),(51607,27219),(51607,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o143\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o144\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o145\">\n<a:CreationDate>1522391366</a:CreationDate>\n<a:ModificationDate>1522398601</a:ModificationDate>\n<a:Rect>((59369,61859), (62562,63109))</a:Rect>\n<a:ListOfPoints>((62162,62484),(59769,62484))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o146\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o147\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o148\">\n<a:CreationDate>1522391379</a:CreationDate>\n<a:ModificationDate>1522398616</a:ModificationDate>\n<a:Rect>((69534,56429), (70784,60444))</a:Rect>\n<a:ListOfPoints>((70159,60044),(70159,56829))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o146\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o149\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o150\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o151\">\n<a:CreationDate>1522396648</a:CreationDate>\n<a:ModificationDate>1522398621</a:ModificationDate>\n<a:Rect>((52182,34420), (64724,52723))</a:Rect>\n<a:ListOfPoints>((64324,34820),(52807,34820),(52807,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o152\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o153\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o154\">\n<a:CreationDate>1522396864</a:CreationDate>\n<a:ModificationDate>1522398618</a:ModificationDate>\n<a:Rect>((53382,44918), (64185,52723))</a:Rect>\n<a:ListOfPoints>((63785,45318),(54007,45318),(54007,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o155\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o156\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o157\">\n<a:CreationDate>1522659209</a:CreationDate>\n<a:ModificationDate>1522724919</a:ModificationDate>\n<a:Rect>((-101497,31459), (51032,102938))</a:Rect>\n<a:ListOfPoints>((-101097,102538),(-101097,31859),(50407,31859),(50407,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o159\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o160\">\n<a:CreationDate>1522660753</a:CreationDate>\n<a:ModificationDate>1522724919</a:ModificationDate>\n<a:Rect>((-90857,129887), (-79217,131137))</a:Rect>\n<a:ListOfPoints>((-79617,130512),(-90457,130512))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o161\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o162\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o163\">\n<a:CreationDate>1522660820</a:CreationDate>\n<a:ModificationDate>1522719674</a:ModificationDate>\n<a:Rect>((-64973,127931), (-18882,129181))</a:Rect>\n<a:ListOfPoints>((-64573,128556),(-19282,128556))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o161\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o164\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o165\">\n<a:CreationDate>1522721755</a:CreationDate>\n<a:ModificationDate>1522721783</a:ModificationDate>\n<a:Rect>((-55169,48103), (20574,117096))</a:Rect>\n<a:ListOfPoints>((-49770,116696),(-54769,116696),(-54769,48728),(20174,48728))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o25\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o129\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o166\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o167\">\n<a:CreationDate>1522724329</a:CreationDate>\n<a:ModificationDate>1522724329</a:ModificationDate>\n<a:Rect>((-100297,77071), (65163,153166))</a:Rect>\n<a:ListOfPoints>((-99897,102538),(-99897,77471),(35821,77471),(35821,152541),(64763,152541))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o168\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o169\">\n<a:CreationDate>1522725331</a:CreationDate>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Rect>((-90857,117058), (-77798,118308))</a:Rect>\n<a:ListOfPoints>((-78198,117683),(-90457,117683))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o170\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o171\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o172\">\n<a:CreationDate>1522733188</a:CreationDate>\n<a:ModificationDate>1539745800</a:ModificationDate>\n<a:Rect>((-90857,102513), (-73424,103763))</a:Rect>\n<a:ListOfPoints>((-73824,103138),(-90457,103138))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o173\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o174\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o175\">\n<a:CreationDate>1522745521</a:CreationDate>\n<a:ModificationDate>1539745800</a:ModificationDate>\n<a:Rect>((-84902,89423), (-73424,90673))</a:Rect>\n<a:ListOfPoints>((-73824,90048),(-84502,90048))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o173\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o176\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o177\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o178\">\n<a:CreationDate>1533109967</a:CreationDate>\n<a:ModificationDate>1533110262</a:ModificationDate>\n<a:Rect>((-119919,81722), (-12496,112209))</a:Rect>\n<a:ListOfPoints>((-119519,94842),(-119519,82122),(-13121,82122),(-13121,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o179\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o180\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o181\">\n<a:CreationDate>1533115827</a:CreationDate>\n<a:ModificationDate>1533116074</a:ModificationDate>\n<a:Rect>((-112642,102747), (-38745,153053))</a:Rect>\n<a:ListOfPoints>((-112242,103147),(-109969,103147),(-109969,152428),(-39145,152428))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o179\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o10\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o182\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o183\">\n<a:CreationDate>1533115888</a:CreationDate>\n<a:ModificationDate>1533115888</a:ModificationDate>\n<a:Rect>((-121119,61859), (43845,95242))</a:Rect>\n<a:ListOfPoints>((-120719,94842),(-120719,78671),(37870,78671),(37870,62484),(43445,62484))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o179\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o184\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o185\">\n<a:CreationDate>1538202362</a:CreationDate>\n<a:ModificationDate>1580624566</a:ModificationDate>\n<a:Rect>((25795,-5333), (33632,-148))</a:Rect>\n<a:ListOfPoints>((26195,-2272),(26195,-548),(32832,-548),(32832,-4708),(32232,-4708))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>4</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o187\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o188\">\n<a:CreationDate>1538202471</a:CreationDate>\n<a:ModificationDate>1580609625</a:ModificationDate>\n<a:Rect>((54116,11057), (59346,12307))</a:Rect>\n<a:ListOfPoints>((58946,11682),(54516,11682))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o189\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o126\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o190\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o191\">\n<a:CreationDate>1538202492</a:CreationDate>\n<a:ModificationDate>1580609625</a:ModificationDate>\n<a:Rect>((65496,8109), (66746,11214))</a:Rect>\n<a:ListOfPoints>((66121,10814),(66121,8509))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o189\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o193\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o194\">\n<a:CreationDate>1538202586</a:CreationDate>\n<a:ModificationDate>1580624567</a:ModificationDate>\n<a:Rect>((46201,-5622), (66746,1711))</a:Rect>\n<a:ListOfPoints>((46601,-5222),(66121,-5222),(66121,1311))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o195\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o196\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o197\">\n<a:CreationDate>1538202588</a:CreationDate>\n<a:ModificationDate>1580624567</a:ModificationDate>\n<a:Rect>((31832,-6533), (34857,-5283))</a:Rect>\n<a:ListOfPoints>((34457,-5908),(32232,-5908))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o195\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o198\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o199\">\n<a:CreationDate>1538202927</a:CreationDate>\n<a:ModificationDate>1580624563</a:ModificationDate>\n<a:Rect>((31729,2823), (42842,4073))</a:Rect>\n<a:ListOfPoints>((32129,3448),(42442,3448))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o200\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o126\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o201\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o202\">\n<a:CreationDate>1538202929</a:CreationDate>\n<a:ModificationDate>1580624566</a:ModificationDate>\n<a:Rect>((24370,-2672), (25620,1487))</a:Rect>\n<a:ListOfPoints>((24995,1087),(24995,-2272))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o200\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o203\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o204\">\n<a:CreationDate>1539746524</a:CreationDate>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Rect>((-65536,108004), (-18882,114533))</a:Rect>\n<a:ListOfPoints>((-65136,108404),(-65136,113908),(-19282,113908))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o173\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o205\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o206\">\n<a:CreationDate>1541490540</a:CreationDate>\n<a:ModificationDate>1541490615</a:ModificationDate>\n<a:Rect>((-90857,91755), (97915,147363))</a:Rect>\n<a:ListOfPoints>((97515,146963),(97515,92155),(-20193,92155),(-20193,111251),(-90457,111251))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o102\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o207\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o208\">\n<a:CreationDate>1542179374</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:Rect>((47632,114935), (48882,118924))</a:Rect>\n<a:ListOfPoints>((48257,115335),(48257,118524))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o209\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o210\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o211\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o212\">\n<a:CreationDate>1542179394</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:Rect>((64837,114935), (66087,117902))</a:Rect>\n<a:ListOfPoints>((65462,115335),(65462,117502))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o209\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o213\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o214\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o215\">\n<a:CreationDate>1542179438</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:Rect>((118,111784), (42403,113034))</a:Rect>\n<a:ListOfPoints>((42003,112409),(518,112409))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o209\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o216\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o217\">\n<a:CreationDate>1580625109</a:CreationDate>\n<a:ModificationDate>1580625137</a:ModificationDate>\n<a:Rect>((83723,16521), (99015,25885))</a:Rect>\n<a:ListOfPoints>((86540,16921),(86540,25485),(98615,25485),(98615,20467),(84123,20467))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>4</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o218\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o218\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o219\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o220\">\n<a:CreationDate>1580625333</a:CreationDate>\n<a:ModificationDate>1580625381</a:ModificationDate>\n<a:Rect>((71758,1788), (77807,3038))</a:Rect>\n<a:ListOfPoints>((77407,2413),(72158,2413))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o221\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o222\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o223\">\n<a:CreationDate>1580625352</a:CreationDate>\n<a:ModificationDate>1580625378</a:ModificationDate>\n<a:Rect>((81744,4384), (82994,12281))</a:Rect>\n<a:ListOfPoints>((82369,4784),(82369,11881))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o221\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o218\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o224\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o225\">\n<a:CreationDate>1580625421</a:CreationDate>\n<a:ModificationDate>1580625458</a:ModificationDate>\n<a:Rect>((71758,4759), (92510,6009))</a:Rect>\n<a:ListOfPoints>((92110,5384),(72158,5384))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o226\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o227\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o228\">\n<a:CreationDate>1580625435</a:CreationDate>\n<a:ModificationDate>1581324463</a:ModificationDate>\n<a:Rect>((95430,5190), (96680,9775))</a:Rect>\n<a:ListOfPoints>((96055,5590),(96055,9375))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o226\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o229\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o230\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o231\">\n<a:CreationDate>1580869150</a:CreationDate>\n<a:ModificationDate>1581324463</a:ModificationDate>\n<a:Rect>((101766,14015), (107589,15265))</a:Rect>\n<a:ListOfPoints>((102166,14640),(107189,14640))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o229\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o232\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o233\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:TableSymbol Id=\"o6\">\n<a:CreationDate>1521705853</a:CreationDate>\n<a:ModificationDate>1524811003</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-19282,111809), (518,147883))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o234\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o7\">\n<a:CreationDate>1521706107</a:CreationDate>\n<a:ModificationDate>1522399274</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((3206,132976), (19144,143474))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:SymbolContent>Table.Stereotype 1\nTable.DisplayName 1\nTable.OwnerDisplayName 0\nTable.Columns 1 -5 &quot;All Columns&quot; PDMCOLNALL Stereotype DataType KeyIndicator\nTable.Keys 0 0 &quot;&quot; &quot;&quot; Stereotype Indicator\nTable.Indexes 0 0 &quot;&quot; &quot;&quot; Stereotype\nTable.Triggers 0 0 &quot;&quot; &quot;&quot; Stereotype\nTable.Comment 0</a:SymbolContent>\n<c:Object>\n<o:Table Ref=\"o235\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o10\">\n<a:CreationDate>1521709482</a:CreationDate>\n<a:ModificationDate>1582277412</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-39145,145942), (-25139,158914))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o236\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o13\">\n<a:CreationDate>1521710820</a:CreationDate>\n<a:ModificationDate>1522399160</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-25547,152562), (-13473,158934))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o237\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o16\">\n<a:CreationDate>1521770649</a:CreationDate>\n<a:ModificationDate>1522722888</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-9920,154173), (5632,165495))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o238\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o19\">\n<a:CreationDate>1521773028</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((7652,145159), (20500,156481))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o239\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o22\">\n<a:CreationDate>1521782818</a:CreationDate>\n<a:ModificationDate>1522116249</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49754,136272), (-35748,144294))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o240\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o25\">\n<a:CreationDate>1521791032</a:CreationDate>\n<a:ModificationDate>1528184156</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49770,113922), (-34606,119470))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o241\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o28\">\n<a:CreationDate>1521791865</a:CreationDate>\n<a:ModificationDate>1522721669</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-48860,121016), (-36786,126564))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o242\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o31\">\n<a:CreationDate>1521791901</a:CreationDate>\n<a:ModificationDate>1522721672</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49407,129426), (-36559,134150))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o243\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o35\">\n<a:CreationDate>1522044163</a:CreationDate>\n<a:ModificationDate>1522399263</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20787,95155), (34021,99878))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o244\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o34\">\n<a:CreationDate>1522044465</a:CreationDate>\n<a:ModificationDate>1522399261</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((11864,80174), (30892,91496))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o245\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o40\">\n<a:CreationDate>1522046351</a:CreationDate>\n<a:ModificationDate>1524811003</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-8675,84638), (6877,89361))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o246\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o78\">\n<a:CreationDate>1522050428</a:CreationDate>\n<a:ModificationDate>1522399063</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-38653,14550), (-25033,25872))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o247\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o46\">\n<a:CreationDate>1522112533</a:CreationDate>\n<a:ModificationDate>1522399103</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-53768,52470), (-40920,58842))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o248\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o45\">\n<a:CreationDate>1522112617</a:CreationDate>\n<a:ModificationDate>1522399105</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-36614,53594), (-15488,58256))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o249\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o53\">\n<a:CreationDate>1522115893</a:CreationDate>\n<a:ModificationDate>1522399266</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((378,103699), (17244,107698))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o250\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o58\">\n<a:CreationDate>1522118136</a:CreationDate>\n<a:ModificationDate>1522721912</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-33299,95709), (-20793,109817))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o251\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o61\">\n<a:CreationDate>1522118840</a:CreationDate>\n<a:ModificationDate>1522721910</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49529,99005), (-37081,106855))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o252\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o65\">\n<a:CreationDate>1522120039</a:CreationDate>\n<a:ModificationDate>1522399218</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-36872,165037), (-24410,171409))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o253\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o64\">\n<a:CreationDate>1522120250</a:CreationDate>\n<a:ModificationDate>1522399221</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-19744,166032), (-8442,170031))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o254\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o69\">\n<a:CreationDate>1522138190</a:CreationDate>\n<a:ModificationDate>1542086220</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-38946,33918), (-24554,48540))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o255\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o68\">\n<a:CreationDate>1522138561</a:CreationDate>\n<a:ModificationDate>1522399095</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-19515,38416), (-6728,42415))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o256\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o74\">\n<a:CreationDate>1522138655</a:CreationDate>\n<a:ModificationDate>1522399092</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-56119,32459), (-43271,38831))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o257\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o81\">\n<a:CreationDate>1522139643</a:CreationDate>\n<a:ModificationDate>1522399094</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-55369,40423), (-42921,47585))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o258\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o77\">\n<a:CreationDate>1522141104</a:CreationDate>\n<a:ModificationDate>1522399066</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-17831,15073), (-5383,22235))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o259\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o84\">\n<a:CreationDate>1522141269</a:CreationDate>\n<a:ModificationDate>1522399068</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-57111,15575), (-44263,21947))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o260\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o87\">\n<a:CreationDate>1522141745</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-50946,1067), (-41872,9775))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o261\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o88\">\n<a:CreationDate>1522141950</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-33859,2358), (-21783,8730))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o262\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o263\">\n<a:CreationDate>1522142154</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-14870,1448), (-1842,9470))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o264\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o92\">\n<a:CreationDate>1522215010</a:CreationDate>\n<a:ModificationDate>1541748859</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((64763,140885), (77997,157159))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o265\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o91\">\n<a:CreationDate>1522215792</a:CreationDate>\n<a:ModificationDate>1522398810</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((50500,153048), (62400,157047))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o266\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o97\">\n<a:CreationDate>1522216155</a:CreationDate>\n<a:ModificationDate>1522398808</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((46231,143710), (62886,147709))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o267\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o102\">\n<a:CreationDate>1522217089</a:CreationDate>\n<a:ModificationDate>1541490687</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((87975,146963), (103049,157789))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o268\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o105\">\n<a:CreationDate>1522217487</a:CreationDate>\n<a:ModificationDate>1522398601</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((43445,52323), (59769,72645))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o269\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o108\">\n<a:CreationDate>1522223818</a:CreationDate>\n<a:ModificationDate>1522398796</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((80491,120228), (94111,125776))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o270\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o111\">\n<a:CreationDate>1522224403</a:CreationDate>\n<a:ModificationDate>1522398795</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((80017,126895), (93637,132443))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o271\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o114\">\n<a:CreationDate>1522226008</a:CreationDate>\n<a:ModificationDate>1522398792</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((79209,133025), (92829,138573))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o272\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o117\">\n<a:CreationDate>1522226140</a:CreationDate>\n<a:ModificationDate>1522398801</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((81729,113356), (95349,118904))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o273\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o274\">\n<a:CreationDate>1522227700</a:CreationDate>\n<a:ModificationDate>1542179018</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((84563,94201), (96637,105523))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o275\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o210\">\n<a:CreationDate>1522300652</a:CreationDate>\n<a:ModificationDate>1542180972</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((42220,118524), (54294,124896))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o276\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o120\">\n<a:CreationDate>1522303116</a:CreationDate>\n<a:ModificationDate>1542180981</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((49967,98230), (63587,105428))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o277\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o126\">\n<a:CreationDate>1522303730</a:CreationDate>\n<a:ModificationDate>1538200596</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((42442,2610), (54516,12282))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o278\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o125\">\n<a:CreationDate>1522303928</a:CreationDate>\n<a:ModificationDate>1522398635</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((23424,7923), (35498,14295))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o279\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o129\">\n<a:CreationDate>1522379808</a:CreationDate>\n<a:ModificationDate>1522398605</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20174,37439), (37270,49587))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o280\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o132\">\n<a:CreationDate>1522387387</a:CreationDate>\n<a:ModificationDate>1522399143</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((38718,75272), (55734,79271))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o281\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o137\">\n<a:CreationDate>1522387906</a:CreationDate>\n<a:ModificationDate>1522398872</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20470,59617), (36794,74239))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o282\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o140\">\n<a:CreationDate>1522390106</a:CreationDate>\n<a:ModificationDate>1535437026</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20171,50021), (33405,59693))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o283\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o143\">\n<a:CreationDate>1522390511</a:CreationDate>\n<a:ModificationDate>1522398535</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((22234,23620), (33922,30818))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o284\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o149\">\n<a:CreationDate>1522390830</a:CreationDate>\n<a:ModificationDate>1522398616</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((62383,52106), (77935,56829))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o285\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o146\">\n<a:CreationDate>1522391304</a:CreationDate>\n<a:ModificationDate>1522398550</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((62162,60044), (74010,64043))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o286\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o152\">\n<a:CreationDate>1522396385</a:CreationDate>\n<a:ModificationDate>1522398621</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((64324,30809), (76786,38831))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o287\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o155\">\n<a:CreationDate>1522396809</a:CreationDate>\n<a:ModificationDate>1522398618</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((63785,41307), (76247,49329))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o288\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o289\">\n<a:CreationDate>1522397182</a:CreationDate>\n<a:ModificationDate>1522398632</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((60231,18019), (72693,23567))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o290\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o291\">\n<a:CreationDate>1522397511</a:CreationDate>\n<a:ModificationDate>1522398629</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((41533,16306), (57085,23504))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o292\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o293\">\n<a:CreationDate>1522398032</a:CreationDate>\n<a:ModificationDate>1535615091</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((22716,17129), (36336,22677))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o294\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o158\">\n<a:CreationDate>1522658325</a:CreationDate>\n<a:ModificationDate>1522724919</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-109337,102538), (-90457,132828))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o295\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o161\">\n<a:CreationDate>1522660695</a:CreationDate>\n<a:ModificationDate>1522723641</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-79617,123965), (-64573,137059))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o296\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o170\">\n<a:CreationDate>1522724973</a:CreationDate>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-78198,113051), (-65736,119423))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o297\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o298\">\n<a:CreationDate>1522726076</a:CreationDate>\n<a:ModificationDate>1522732894</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-125389,125206), (-111769,131578))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o299\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o173\">\n<a:CreationDate>1522732897</a:CreationDate>\n<a:ModificationDate>1539745800</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-73824,83922), (-57114,108404))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o300\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o176\">\n<a:CreationDate>1522745162</a:CreationDate>\n<a:ModificationDate>1522745515</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-97736,85264), (-84502,94832))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o301\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o302\">\n<a:CreationDate>1522745726</a:CreationDate>\n<a:ModificationDate>1522745726</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-125978,117636), (-113904,123184))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o303\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o179\">\n<a:CreationDate>1533108597</a:CreationDate>\n<a:ModificationDate>1533116074</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-126796,94842), (-112242,111452))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o304\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o192\">\n<a:CreationDate>1538200619</a:CreationDate>\n<a:ModificationDate>1538202954</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((60084,1311), (72158,8509))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o305\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o186\">\n<a:CreationDate>1538201545</a:CreationDate>\n<a:ModificationDate>1580624566</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20158,-11944), (32232,-2272))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o306\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o189\">\n<a:CreationDate>1538202419</a:CreationDate>\n<a:ModificationDate>1580609625</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((58946,10814), (73218,15337))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o307\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o195\">\n<a:CreationDate>1538202537</a:CreationDate>\n<a:ModificationDate>1580624567</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((34457,-7542), (46601,-2903))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o308\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o200\">\n<a:CreationDate>1538202617</a:CreationDate>\n<a:ModificationDate>1580624563</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20655,1087), (32129,5810))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o309\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o213\">\n<a:CreationDate>1542177985</a:CreationDate>\n<a:ModificationDate>1542179426</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((57941,117502), (72983,124214))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o310\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o209\">\n<a:CreationDate>1542179013</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((42003,107173), (68001,115335))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o311\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o218\">\n<a:CreationDate>1580624574</a:CreationDate>\n<a:ModificationDate>1580625137</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((76332,11881), (88406,21427))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o312\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o229\">\n<a:CreationDate>1580624625</a:CreationDate>\n<a:ModificationDate>1581324463</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((89944,9375), (102166,16974))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o313\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o221\">\n<a:CreationDate>1580624663</a:CreationDate>\n<a:ModificationDate>1580625381</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((77407,42), (87097,4784))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o314\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o226\">\n<a:CreationDate>1580624686</a:CreationDate>\n<a:ModificationDate>1580625458</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((92110,601), (102656,5590))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o315\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o232\">\n<a:CreationDate>1580869056</a:CreationDate>\n<a:ModificationDate>1580869177</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((107189,12279), (119263,17002))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o316\"/>\n</c:Object>\n</o:TableSymbol>\n</c:Symbols>\n</o:PhysicalDiagram>\n</c:PhysicalDiagrams>\n<c:DefaultDiagram>\n<o:PhysicalDiagram Ref=\"o4\"/>\n</c:DefaultDiagram>\n<c:Tables>\n<o:Table Id=\"o234\">\n<a:ObjectID>164FB8D9-0905-474E-87B0-2A812FEB067D</a:ObjectID>\n<a:Name>pms_product</a:Name>\n<a:Code>pms_product</a:Code>\n<a:CreationDate>1521705853</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179559</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品信息</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o317\">\n<a:ObjectID>8AF7359B-13B5-4473-A6E3-242871D32BD6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521705876</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o318\">\n<a:ObjectID>B6BFD1D9-71C4-49F0-A761-EB23FDF9EF89</a:ObjectID>\n<a:Name>brand_id</a:Name>\n<a:Code>brand_id</a:Code>\n<a:CreationDate>1521706257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706277</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o319\">\n<a:ObjectID>EFA57D19-DB53-47A2-9E13-6F237D2B8765</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1521773101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773123</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o320\">\n<a:ObjectID>9E4E0B0C-6DC6-4602-A1BB-BEF479CC25B4</a:ObjectID>\n<a:Name>feight_template_id</a:Name>\n<a:Code>feight_template_id</a:Code>\n<a:CreationDate>1521783613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o321\">\n<a:ObjectID>122FA791-93A8-4854-AB3B-87B68387B78D</a:ObjectID>\n<a:Name>product_attribute_category_id</a:Name>\n<a:Code>product_attribute_category_id</a:Code>\n<a:CreationDate>1522046100</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046125</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o322\">\n<a:ObjectID>C67A0956-CA1B-4ADF-878F-13B1538C122A</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521705899</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771550</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o323\">\n<a:ObjectID>EC9E5B4D-23BF-425E-9781-90BD8BC6D802</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1521705899</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770319</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o324\">\n<a:ObjectID>BAAD6FF5-DD35-4EFA-8B78-E4DB32CCFC06</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1521706312</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771591</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>货号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o325\">\n<a:ObjectID>FC369A8B-64C8-4931-A1E2-80F902E4FE4A</a:ObjectID>\n<a:Name>delete_status</a:Name>\n<a:Code>delete_status</a:Code>\n<a:CreationDate>1521773185</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773247</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>删除状态：0-&gt;未删除；1-&gt;已删除</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o326\">\n<a:ObjectID>12E77491-5C20-442C-9E04-DE7192B496D3</a:ObjectID>\n<a:Name>publish_status</a:Name>\n<a:Code>publish_status</a:Code>\n<a:CreationDate>1521706416</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708284</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上架状态：0-&gt;下架；1-&gt;上架</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o327\">\n<a:ObjectID>7E4B57E7-DCCD-4D96-93E0-E3A2E0D9B2F8</a:ObjectID>\n<a:Name>new_status</a:Name>\n<a:Code>new_status</a:Code>\n<a:CreationDate>1521708193</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708312</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>新品状态:0-&gt;不是新品；1-&gt;新品</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o328\">\n<a:ObjectID>C32DF9EC-A332-4DB2-A56B-74E0F6168FF1</a:ObjectID>\n<a:Name>recommand_status</a:Name>\n<a:Code>recommand_status</a:Code>\n<a:CreationDate>1521708193</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>推荐状态；0-&gt;不推荐；1-&gt;推荐</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o329\">\n<a:ObjectID>47876735-91B4-42FC-A052-22640AC057D8</a:ObjectID>\n<a:Name>verify_status</a:Name>\n<a:Code>verify_status</a:Code>\n<a:CreationDate>1521710674</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710725</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>审核状态：0-&gt;未审核；1-&gt;审核通过</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o330\">\n<a:ObjectID>07A57EB8-410D-4E59-AD0C-8A1AD4DD3951</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1521708381</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708544</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o331\">\n<a:ObjectID>93478201-C851-481D-B110-56414379F2A3</a:ObjectID>\n<a:Name>sale</a:Name>\n<a:Code>sale</a:Code>\n<a:CreationDate>1521710587</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>销量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o332\">\n<a:ObjectID>C5845093-F658-46C1-B381-6585F2337029</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1521706312</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o333\">\n<a:ObjectID>8A8C872F-23FC-42E2-BC8F-EA4374E0C4ED</a:ObjectID>\n<a:Name>promotion_price</a:Name>\n<a:Code>promotion_price</a:Code>\n<a:CreationDate>1521770729</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522720423</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o334\">\n<a:ObjectID>DADE2195-8B3B-42F2-9C5A-847124C0C327</a:ObjectID>\n<a:Name>gift_growth</a:Name>\n<a:Code>gift_growth</a:Code>\n<a:CreationDate>1527561524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535963779</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送的成长值</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o335\">\n<a:ObjectID>9ECDB8CD-593F-431C-B580-756BC29F0E69</a:ObjectID>\n<a:Name>gift_point</a:Name>\n<a:Code>gift_point</a:Code>\n<a:CreationDate>1521771016</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535963789</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送的积分</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o336\">\n<a:ObjectID>1C3E16DC-0AB6-489F-83D6-CB92058E8AD6</a:ObjectID>\n<a:Name>use_point_limit</a:Name>\n<a:Code>use_point_limit</a:Code>\n<a:CreationDate>1521771103</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771156</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限制使用的积分数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o337\">\n<a:ObjectID>8DBA22FF-9FEF-4E36-8B0D-D0712EB1AFDD</a:ObjectID>\n<a:Name>sub_title</a:Name>\n<a:Code>sub_title</a:Code>\n<a:CreationDate>1521773700</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773733</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>副标题</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o338\">\n<a:ObjectID>074C30CA-F802-4EA3-8B92-AE332D8FE237</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1521774517</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791536</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品描述</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o339\">\n<a:ObjectID>50335AAB-9D8F-4794-A706-A51E04285498</a:ObjectID>\n<a:Name>original_price</a:Name>\n<a:Code>original_price</a:Code>\n<a:CreationDate>1521775224</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775254</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>市场价</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o340\">\n<a:ObjectID>F1511198-BFDC-4CA7-A79F-6BEA7863E4CA</a:ObjectID>\n<a:Name>stock</a:Name>\n<a:Code>stock</a:Code>\n<a:CreationDate>1521775417</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775449</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>库存</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o341\">\n<a:ObjectID>9B83BF24-B43F-41AE-93AA-6E9723B41F3D</a:ObjectID>\n<a:Name>low_stock</a:Name>\n<a:Code>low_stock</a:Code>\n<a:CreationDate>1521775417</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775458</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>库存预警值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o342\">\n<a:ObjectID>29B50C2C-38C6-4080-83F7-309CC040B9D3</a:ObjectID>\n<a:Name>unit</a:Name>\n<a:Code>unit</a:Code>\n<a:CreationDate>1521775486</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775515</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>单位</a:Comment>\n<a:DataType>varchar(16)</a:DataType>\n<a:Length>16</a:Length>\n</o:Column>\n<o:Column Id=\"o343\">\n<a:ObjectID>F07F26B4-DC76-4F4D-8FF7-6E299DAE613A</a:ObjectID>\n<a:Name>weight</a:Name>\n<a:Code>weight</a:Code>\n<a:CreationDate>1521775567</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775649</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品重量，默认为克</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o344\">\n<a:ObjectID>730DF7D7-E307-4039-BFD4-04B4E145776D</a:ObjectID>\n<a:Name>preview_status</a:Name>\n<a:Code>preview_status</a:Code>\n<a:CreationDate>1521782409</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521782456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为预告商品：0-&gt;不是；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o345\">\n<a:ObjectID>BB566C0D-3C0A-42EB-AAFE-89E56EDB5AF3</a:ObjectID>\n<a:Name>service_ids</a:Name>\n<a:Code>service_ids</a:Code>\n<a:CreationDate>1521783875</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784127</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>以逗号分割的产品服务：1-&gt;无忧退货；2-&gt;快速退款；3-&gt;免费包邮</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o346\">\n<a:ObjectID>25E62F7C-D9D8-4B61-8337-7A94F4A1F969</a:ObjectID>\n<a:Name>keywords</a:Name>\n<a:Code>keywords</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o347\">\n<a:ObjectID>730BAD96-E459-412D-B812-E9BDBDF6DC1B</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o348\">\n<a:ObjectID>22BBCF62-4B72-4C69-BFE1-81F1378D4703</a:ObjectID>\n<a:Name>album_pics</a:Name>\n<a:Code>album_pics</a:Code>\n<a:CreationDate>1522046916</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046981</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>画册图片，连产品图片限制为5张，以逗号分割</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o349\">\n<a:ObjectID>27D69BFE-AEE5-4095-9688-3F11B0A3F5B3</a:ObjectID>\n<a:Name>detail_title</a:Name>\n<a:Code>detail_title</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o350\">\n<a:ObjectID>66C1D3B2-DFB9-472B-9B46-054F4A995EC8</a:ObjectID>\n<a:Name>detail_desc</a:Name>\n<a:Code>detail_desc</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o351\">\n<a:ObjectID>4407B70B-168F-489C-86FC-913130573035</a:ObjectID>\n<a:Name>detail_html</a:Name>\n<a:Code>detail_html</a:Code>\n<a:CreationDate>1522047002</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522047039</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品详情网页内容</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o352\">\n<a:ObjectID>A16D766A-2FAC-4806-B5B6-7BCE643BD125</a:ObjectID>\n<a:Name>detail_mobile_html</a:Name>\n<a:Code>detail_mobile_html</a:Code>\n<a:CreationDate>1522047022</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522047069</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>移动端网页详情</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o353\">\n<a:ObjectID>125B7984-46F6-4A6B-986E-637075A7B792</a:ObjectID>\n<a:Name>promotion_start_time</a:Name>\n<a:Code>promotion_start_time</a:Code>\n<a:CreationDate>1522721079</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销开始时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o354\">\n<a:ObjectID>CD7F32DC-B2C4-4F0B-86A6-C3EF8BBC11E4</a:ObjectID>\n<a:Name>promotion_end_time</a:Name>\n<a:Code>promotion_end_time</a:Code>\n<a:CreationDate>1522721096</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销结束时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o355\">\n<a:ObjectID>AF663519-4F0B-438D-9F86-A3B4494C91B5</a:ObjectID>\n<a:Name>promotion_per_limit</a:Name>\n<a:Code>promotion_per_limit</a:Code>\n<a:CreationDate>1522721333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721377</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>活动限购数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o356\">\n<a:ObjectID>2870F419-7F16-4C2C-BEE8-69AD3C322429</a:ObjectID>\n<a:Name>promotion_type</a:Name>\n<a:Code>promotion_type</a:Code>\n<a:CreationDate>1522721953</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179623</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销类型：0-&gt;没有促销使用原价;1-&gt;使用促销价；2-&gt;使用会员价；3-&gt;使用阶梯价格；4-&gt;使用满减价格；5-&gt;限时购</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o357\">\n<a:ObjectID>BC8E43C1-F35D-4BA2-A622-D282035B08CF</a:ObjectID>\n<a:Name>product_category_name</a:Name>\n<a:Code>product_category_name</a:Code>\n<a:CreationDate>1524810975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524811010</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品分类名称</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o358\">\n<a:ObjectID>7B4B3817-5E34-476B-B9DF-20FC181A2FC4</a:ObjectID>\n<a:Name>brand_name</a:Name>\n<a:Code>brand_name</a:Code>\n<a:CreationDate>1524811003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524811036</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌名称</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o359\">\n<a:ObjectID>8FF04A0E-BF3D-4A1B-B05D-FAD79976F256</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521705876</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o317\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:Indexes>\n<o:Index Id=\"o360\">\n<a:ObjectID>C003EAE8-4D2B-4CD2-910D-617ED63DCFDE</a:ObjectID>\n<a:Name>index_name</a:Name>\n<a:Code>index_name</a:Code>\n<a:CreationDate>1521771497</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771550</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:IndexColumns>\n<o:IndexColumn Id=\"o361\">\n<a:ObjectID>F55EF3D5-E93C-4AAE-95BE-5E91AD084511</a:ObjectID>\n<a:CreationDate>1521771542</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771550</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Column>\n<o:Column Ref=\"o322\"/>\n</c:Column>\n</o:IndexColumn>\n</c:IndexColumns>\n</o:Index>\n<o:Index Id=\"o362\">\n<a:ObjectID>EC80C139-CCE0-49CF-AF77-52A1C35DC8AC</a:ObjectID>\n<a:Name>index_product_sn</a:Name>\n<a:Code>index_product_sn</a:Code>\n<a:CreationDate>1521771497</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521772268</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Unique>1</a:Unique>\n<c:IndexColumns>\n<o:IndexColumn Id=\"o363\">\n<a:ObjectID>D0E6B1E9-C1D3-40AD-BCA6-928C253C57CC</a:ObjectID>\n<a:CreationDate>1521771579</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771591</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Column>\n<o:Column Ref=\"o324\"/>\n</c:Column>\n</o:IndexColumn>\n</c:IndexColumns>\n</o:Index>\n</c:Indexes>\n<c:PrimaryKey>\n<o:Key Ref=\"o359\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o235\">\n<a:ObjectID>8DB91C27-0C0C-42C1-9C82-B99A752DFFDE</a:ObjectID>\n<a:Name>pms_brand</a:Name>\n<a:Code>pms_brand</a:Code>\n<a:CreationDate>1521706107</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116692</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o364\">\n<a:ObjectID>BA330DA5-20D1-42FB-A362-94D07D30A4B6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521706123</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706154</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o365\">\n<a:ObjectID>45F3DFE2-8F5D-4CDF-9FE5-4A6904BB07D4</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521706148</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706194</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o366\">\n<a:ObjectID>CDFF668D-2DBA-4D99-8E76-B05114B8EAD7</a:ObjectID>\n<a:Name>first_letter</a:Name>\n<a:Code>first_letter</a:Code>\n<a:CreationDate>1522116447</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116473</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首字母</a:Comment>\n<a:DataType>varchar(8)</a:DataType>\n<a:Length>8</a:Length>\n</o:Column>\n<o:Column Id=\"o367\">\n<a:ObjectID>9E323340-1826-471A-93EE-92C45769B194</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522116482</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116540</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o368\">\n<a:ObjectID>97FF98F7-8A09-4C40-8D52-FC32F0021DF9</a:ObjectID>\n<a:Name>factory_status</a:Name>\n<a:Code>factory_status</a:Code>\n<a:CreationDate>1522116482</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116560</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为品牌制造商：0-&gt;不是；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o369\">\n<a:ObjectID>5F86AE1D-14C6-421F-9065-6B3248678ECF</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116692</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o370\">\n<a:ObjectID>A8CA06B3-8F05-4D05-A9E0-B979D053C74A</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116717</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o371\">\n<a:ObjectID>F6BC9D0C-3D20-4CB3-B906-0D660320FC88</a:ObjectID>\n<a:Name>product_comment_count</a:Name>\n<a:Code>product_comment_count</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116728</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品评论数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o372\">\n<a:ObjectID>28BF01C1-2534-46E1-8D03-3D1304399694</a:ObjectID>\n<a:Name>logo</a:Name>\n<a:Code>logo</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116744</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌logo</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o373\">\n<a:ObjectID>955AC940-E5A2-4791-8DB3-46874F51898B</a:ObjectID>\n<a:Name>big_pic</a:Name>\n<a:Code>big_pic</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116821</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专区大图</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o374\">\n<a:ObjectID>822303EE-A57E-432B-AB93-E9C6B4B67358</a:ObjectID>\n<a:Name>brand_story</a:Name>\n<a:Code>brand_story</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116753</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌故事</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o375\">\n<a:ObjectID>12C8D1EF-1F7E-46ED-AD23-4F0BD57F243D</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521706123</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706148</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o364\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o375\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o236\">\n<a:ObjectID>A9A5B46B-D1A3-4619-86D4-AD1A3FF949B1</a:ObjectID>\n<a:Name>pms_sku_stock</a:Name>\n<a:Code>pms_sku_stock</a:Code>\n<a:CreationDate>1521709482</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582621117</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>sku的库存</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o376\">\n<a:ObjectID>F8A87B5F-1B3E-416A-9AA6-E6330490C79F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521709484</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o377\">\n<a:ObjectID>0A9D0B97-8FCA-4D49-9649-6D3A6398F71D</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521710488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710505</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o378\">\n<a:ObjectID>300133D5-246C-492C-8106-E0464641A1AD</a:ObjectID>\n<a:Name>sku_code</a:Name>\n<a:Code>sku_code</a:Code>\n<a:CreationDate>1521709695</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522214782</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>sku编码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o379\">\n<a:ObjectID>2C098191-D831-42F7-981A-BB5FC58097A3</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1521709829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521709926</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o380\">\n<a:ObjectID>F0D06968-A5E5-4A38-82DA-909C1AF9500C</a:ObjectID>\n<a:Name>stock</a:Name>\n<a:Code>stock</a:Code>\n<a:CreationDate>1521709829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535619079</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>库存</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o381\">\n<a:ObjectID>627512CB-E621-46A5-B077-12BB80006181</a:ObjectID>\n<a:Name>low_stock</a:Name>\n<a:Code>low_stock</a:Code>\n<a:CreationDate>1521709829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521709939</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>预警库存</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o382\">\n<a:ObjectID>2385F4C5-9983-48B4-9E03-710937E056A4</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1521710423</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770332</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>展示图片</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o383\">\n<a:ObjectID>C9AA0DC8-AEE6-4401-AE9A-65B6FD89A608</a:ObjectID>\n<a:Name>sale</a:Name>\n<a:Code>sale</a:Code>\n<a:CreationDate>1521710565</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710584</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>销量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o384\">\n<a:ObjectID>F8B829D9-2390-44F9-AE79-B698E94E2F5D</a:ObjectID>\n<a:Name>promotion_price</a:Name>\n<a:Code>promotion_price</a:Code>\n<a:CreationDate>1534927833</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1534927874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>单品促销价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o385\">\n<a:ObjectID>385D5E74-8D2D-4429-8BF1-1DB7C0ED0E8D</a:ObjectID>\n<a:Name>lock_stock</a:Name>\n<a:Code>lock_stock</a:Code>\n<a:CreationDate>1534927865</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535619073</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>锁定库存</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o386\">\n<a:ObjectID>30F35E66-3167-4F75-B0DC-48B30CEC1C4F</a:ObjectID>\n<a:Name>sp_data</a:Name>\n<a:Code>sp_data</a:Code>\n<a:CreationDate>1582277384</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582277412</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性，json格式</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o387\">\n<a:ObjectID>BF22FDBF-9CF7-4FF4-A579-4C0AAC38A457</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521709484</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o376\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o387\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o237\">\n<a:ObjectID>B9FC590F-46F6-4235-8672-FF13B2E50A77</a:ObjectID>\n<a:Name>pms_product_vertify_record</a:Name>\n<a:Code>pms_product_vertify_record</a:Code>\n<a:CreationDate>1521710820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品审核记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o388\">\n<a:ObjectID>530FCADE-4166-42A4-8453-5D874EEC4522</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770174</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o389\">\n<a:ObjectID>7493F171-CA73-4150-A6EA-AB0D8FF46D75</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521770349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o390\">\n<a:ObjectID>9786F28F-F757-486B-93A9-7C5A5E46D950</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521711025</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o391\">\n<a:ObjectID>7E1BFDC6-E587-45E4-AE7C-8C3466279D4C</a:ObjectID>\n<a:Name>vertify_man</a:Name>\n<a:Code>vertify_man</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521711032</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>审核人</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o392\">\n<a:ObjectID>06C38A5C-1977-42C3-A614-B2DF0654BB47</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524816533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>审核后的状态：0-&gt;未通过；2-&gt;已通过</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o393\">\n<a:ObjectID>8C61E1D1-7809-4E91-8638-43739274A2CB</a:ObjectID>\n<a:Name>detail</a:Name>\n<a:Code>detail</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770161</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>反馈详情</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o394\">\n<a:ObjectID>5AA18CE6-B6B1-4D42-840C-F0ED5A7EE6AC</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521711025</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o388\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o394\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o238\">\n<a:ObjectID>9063AF6E-4B68-4106-803C-747646C77EB0</a:ObjectID>\n<a:Name>pms_product_operate_log</a:Name>\n<a:Code>pms_product_operate_log</a:Code>\n<a:CreationDate>1521770649</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o395\">\n<a:ObjectID>715605E0-FA0B-4C2F-87CA-35849F4999B3</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521770770</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770806</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o396\">\n<a:ObjectID>3DB748F5-8378-4A65-9103-BC4AF0D6CD51</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521771362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771375</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o397\">\n<a:ObjectID>ED9DDCD5-C1E3-4A0A-A2BF-6AE1FE20479B</a:ObjectID>\n<a:Name>price_old</a:Name>\n<a:Code>price_old</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o398\">\n<a:ObjectID>38DD8227-7B0A-4661-A5B4-48AE1CC49CB0</a:ObjectID>\n<a:Name>price_new</a:Name>\n<a:Code>price_new</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o399\">\n<a:ObjectID>25E58A65-F4B3-4A38-BF9F-B4951F1D2A52</a:ObjectID>\n<a:Name>sale_price_old</a:Name>\n<a:Code>sale_price_old</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o400\">\n<a:ObjectID>A2768BA1-44DB-4DA5-8E18-42AE3A6181FD</a:ObjectID>\n<a:Name>sale_price_new</a:Name>\n<a:Code>sale_price_new</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o401\">\n<a:ObjectID>ACC53AA1-DE06-4626-9248-159BA1AEF3C0</a:ObjectID>\n<a:Name>gift_point_old</a:Name>\n<a:Code>gift_point_old</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771014</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送的积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o402\">\n<a:ObjectID>AE80A7D3-2CF1-4F55-87C8-48BF66B3E0F5</a:ObjectID>\n<a:Name>gift_point_new</a:Name>\n<a:Code>gift_point_new</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o403\">\n<a:ObjectID>9D16C330-E114-4778-B552-DDF06AF3BC55</a:ObjectID>\n<a:Name>use_point_limit_old</a:Name>\n<a:Code>use_point_limit_old</a:Code>\n<a:CreationDate>1521771164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771200</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o404\">\n<a:ObjectID>F4FFECE7-3152-46A5-83C6-60D352457335</a:ObjectID>\n<a:Name>use_point_limit_new</a:Name>\n<a:Code>use_point_limit_new</a:Code>\n<a:CreationDate>1521771164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771200</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o405\">\n<a:ObjectID>74162271-05EF-4D60-A189-252B04234604</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1521771246</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771275</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o406\">\n<a:ObjectID>966002F8-6310-4146-A9EA-4F185033236B</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1521771269</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771335</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o407\">\n<a:ObjectID>74CA880E-049D-422E-9C8D-AD3A1E73DCE2</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521770770</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770804</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o395\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o407\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o239\">\n<a:ObjectID>0D760BB3-CA67-4F64-B6A5-2D093F7657D6</a:ObjectID>\n<a:Name>pms_product_category</a:Name>\n<a:Code>pms_product_category</a:Code>\n<a:CreationDate>1521773028</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115630</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品分类</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o408\">\n<a:ObjectID>7235E328-6BF3-4CFD-B1C6-A02A6F6718A9</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521773048</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773067</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o409\">\n<a:ObjectID>0E642091-F38B-4D5F-937D-DA9C4151EFE2</a:ObjectID>\n<a:Name>parent_id</a:Name>\n<a:Code>parent_id</a:Code>\n<a:CreationDate>1522114406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522114468</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上机分类的编号：0表示一级分类</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o410\">\n<a:ObjectID>BDD611F1-0142-4419-B183-4F15282363D5</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521773064</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773092</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o411\">\n<a:ObjectID>1A0124D2-0307-433A-ADEA-62C14A6003F0</a:ObjectID>\n<a:Name>level</a:Name>\n<a:Code>level</a:Code>\n<a:CreationDate>1522114959</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116072</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类级别：0-&gt;1级；1-&gt;2级</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o412\">\n<a:ObjectID>E50CCB02-2506-46DA-A95C-950DE16DF50F</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522115030</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115103</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o413\">\n<a:ObjectID>054029CE-B46E-4C2D-BFE1-E460D1B12275</a:ObjectID>\n<a:Name>product_unit</a:Name>\n<a:Code>product_unit</a:Code>\n<a:CreationDate>1522115030</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115103</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o414\">\n<a:ObjectID>8FF814D8-75E9-43DC-8CA8-890BECAEC537</a:ObjectID>\n<a:Name>nav_status</a:Name>\n<a:Code>nav_status</a:Code>\n<a:CreationDate>1522115030</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115270</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否显示在导航栏：0-&gt;不显示；1-&gt;显示</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o415\">\n<a:ObjectID>D38D4B8B-1852-4350-93ED-1803A7BEA6E7</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522115145</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115208</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>显示状态：0-&gt;不显示；1-&gt;显示</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o416\">\n<a:ObjectID>B47FED84-81B7-4E39-B763-8EE996F2424B</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522115178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o417\">\n<a:ObjectID>DB87CC69-B178-4FCD-B827-2A6C79ED2FE9</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522115323</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115342</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>图标</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o418\">\n<a:ObjectID>93F08150-5658-4346-B8FC-7F52F889824A</a:ObjectID>\n<a:Name>keywords</a:Name>\n<a:Code>keywords</a:Code>\n<a:CreationDate>1522115588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115630</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o419\">\n<a:ObjectID>4B01893A-E307-49EB-B5D4-98B55B0A48D1</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522115588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115634</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o420\">\n<a:ObjectID>64090BE2-8BEC-4616-8DDE-E24C94B52E9D</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521773048</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773064</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o408\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o420\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o240\">\n<a:ObjectID>4C5F5ABA-B6AB-4689-9F04-B487E920C073</a:ObjectID>\n<a:Name>pms_feight_template</a:Name>\n<a:Code>pms_feight_template</a:Code>\n<a:CreationDate>1521782818</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783539</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>运费模版</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o421\">\n<a:ObjectID>50FF090A-11EC-4F73-B237-ACA1D6347465</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521783117</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783139</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o422\">\n<a:ObjectID>E3A40203-E74E-4FC9-8A61-0169E8FD93BF</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521783135</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783238</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o423\">\n<a:ObjectID>8BE728B7-5B75-4D76-A896-09F73A87B08A</a:ObjectID>\n<a:Name>charge_type</a:Name>\n<a:Code>charge_type</a:Code>\n<a:CreationDate>1521783135</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783309</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>计费类型:0-&gt;按重量；1-&gt;按件数</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o424\">\n<a:ObjectID>63F6CF39-B317-4872-869A-4AA80BCB1FDC</a:ObjectID>\n<a:Name>first_weight</a:Name>\n<a:Code>first_weight</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783558</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首重kg</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o425\">\n<a:ObjectID>DC192E82-45CE-4623-AD18-DA14ECB31F39</a:ObjectID>\n<a:Name>first_fee</a:Name>\n<a:Code>first_fee</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783579</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首费（元）</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o426\">\n<a:ObjectID>7D5538AC-2415-4EFA-8A9B-A46204FF35CB</a:ObjectID>\n<a:Name>continue_weight</a:Name>\n<a:Code>continue_weight</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783539</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o427\">\n<a:ObjectID>4EC457E3-A82A-4B3B-86B7-D4E0C200780F</a:ObjectID>\n<a:Name>continme_fee</a:Name>\n<a:Code>continme_fee</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783539</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o428\">\n<a:ObjectID>FE7A715E-1C3C-4E28-BBB2-1B34605B2EAF</a:ObjectID>\n<a:Name>dest</a:Name>\n<a:Code>dest</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783601</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>目的地（省、市）</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o429\">\n<a:ObjectID>3F3D7980-1F46-4F3E-BDFD-AF0F8EEE2FA6</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521783117</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o421\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o429\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o241\">\n<a:ObjectID>22CB8FD3-3DDD-4FF9-AE76-E13CF6CD6875</a:ObjectID>\n<a:Name>pms_member_price</a:Name>\n<a:Code>pms_member_price</a:Code>\n<a:CreationDate>1521791032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1528184156</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品会员价格表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o430\">\n<a:ObjectID>30FC5C31-983F-4219-9339-C8B5BABB7234</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521791069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o431\">\n<a:ObjectID>9BC9FEC6-7030-4F2B-9C10-86F37EB776FD</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521791466</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791479</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o432\">\n<a:ObjectID>49BA6972-E766-4A84-8B8B-9C4DD271CE61</a:ObjectID>\n<a:Name>member_level_id</a:Name>\n<a:Code>member_level_id</a:Code>\n<a:CreationDate>1522721755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721767</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o433\">\n<a:ObjectID>941A6699-6C9F-4E4B-9FAA-B6E6F69906EC</a:ObjectID>\n<a:Name>member_price</a:Name>\n<a:Code>member_price</a:Code>\n<a:CreationDate>1522721615</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721665</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o434\">\n<a:ObjectID>0B4E79EF-7E2C-41DE-B72B-C9BC578A2F72</a:ObjectID>\n<a:Name>member_level_name</a:Name>\n<a:Code>member_level_name</a:Code>\n<a:CreationDate>1528184129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1528184156</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o435\">\n<a:ObjectID>FE782243-6FFE-4CEE-BA53-9AFE8D357748</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521791069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791083</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o430\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o435\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o242\">\n<a:ObjectID>DDA47447-C998-4D66-9FD0-1A64A30E043C</a:ObjectID>\n<a:Name>pms_product_ladder</a:Name>\n<a:Code>pms_product_ladder</a:Code>\n<a:CreationDate>1521791865</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721483</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品阶梯价格表(只针对同商品)</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o436\">\n<a:ObjectID>C7FD3278-BB15-4A88-A424-42163F101417</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521792127</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792152</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o437\">\n<a:ObjectID>3FDC1BDA-8A46-4848-9D75-3856408246F6</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521792428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792442</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o438\">\n<a:ObjectID>8A95CD6B-64CA-48FE-BF0F-46E24B04A977</a:ObjectID>\n<a:Name>count</a:Name>\n<a:Code>count</a:Code>\n<a:CreationDate>1521792148</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792177</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>满足的商品数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o439\">\n<a:ObjectID>F9D8DAEF-F28F-424D-9532-FB464AD4E654</a:ObjectID>\n<a:Name>discount</a:Name>\n<a:Code>discount</a:Code>\n<a:CreationDate>1521792164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792218</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>折扣</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o440\">\n<a:ObjectID>7693845E-7B98-4C2E-9406-863D4F8E612A</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1521792219</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>折后价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o441\">\n<a:ObjectID>4C0C9B14-EE1D-4112-A02D-85975F91C2F9</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521792127</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792148</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o436\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o441\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o243\">\n<a:ObjectID>9C7F6D83-696D-4AC2-B63C-41A457276432</a:ObjectID>\n<a:Name>pms_product_full_reduction</a:Name>\n<a:Code>pms_product_full_reduction</a:Code>\n<a:CreationDate>1521791901</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721499</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品满减表(只针对同商品)</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o442\">\n<a:ObjectID>1CB2D116-96CD-4A26-B9D4-B7AA00AD92E7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521792488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524721741</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o443\">\n<a:ObjectID>AF625FED-C1BF-47A8-94CE-EAB80C7CE452</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521792909</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792920</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o444\">\n<a:ObjectID>56253152-8B4B-4F5D-ABB7-DFAEBED5C6EA</a:ObjectID>\n<a:Name>full_price</a:Name>\n<a:Code>full_price</a:Code>\n<a:CreationDate>1521792498</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792848</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o445\">\n<a:ObjectID>A23F3BDA-C442-413A-8F7F-EBBAFF4EB634</a:ObjectID>\n<a:Name>reduce_price</a:Name>\n<a:Code>reduce_price</a:Code>\n<a:CreationDate>1521792498</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792848</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o446\">\n<a:ObjectID>42DEDB72-EACE-44AD-8377-601D1EF19A71</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521792488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792498</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o442\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o446\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o244\">\n<a:ObjectID>8CA12D96-D48C-4542-A89B-718C043C331E</a:ObjectID>\n<a:Name>pms_product_attribute_category</a:Name>\n<a:Code>pms_product_attribute_category</a:Code>\n<a:CreationDate>1522044163</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品属性分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o447\">\n<a:ObjectID>C0EDF8D7-B021-4E78-AB1C-3372732BAA8A</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522044196</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o448\">\n<a:ObjectID>DF80D9F1-71A8-4898-9D4B-CDEFFFD1C51F</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522044211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044389</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o449\">\n<a:ObjectID>34182414-4199-49E6-B221-AF015FAD34FB</a:ObjectID>\n<a:Name>attribute_count</a:Name>\n<a:Code>attribute_count</a:Code>\n<a:CreationDate>1522044211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044418</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o450\">\n<a:ObjectID>728FAF40-18B5-42AD-9006-390BB12DF6D5</a:ObjectID>\n<a:Name>param_count</a:Name>\n<a:Code>param_count</a:Code>\n<a:CreationDate>1522044211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044436</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>参数数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o451\">\n<a:ObjectID>C340AD67-5366-4172-A5C1-715381DA4E4C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522044527</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o447\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o451\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o245\">\n<a:ObjectID>1959D6C2-18BC-4144-85F7-C5CD3C830DB4</a:ObjectID>\n<a:Name>pms_product_attribute</a:Name>\n<a:Code>pms_product_attribute</a:Code>\n<a:CreationDate>1522044465</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045805</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品属性参数表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o452\">\n<a:ObjectID>9736DD68-0C91-45FD-98D9-098B45FAA881</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522044502</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044525</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o453\">\n<a:ObjectID>46A4A5DC-A87A-4AB1-A41A-E70B98AA3C7F</a:ObjectID>\n<a:Name>product_attribute_category_id</a:Name>\n<a:Code>product_attribute_category_id</a:Code>\n<a:CreationDate>1522045168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045192</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o454\">\n<a:ObjectID>A23C122D-1090-414B-A50F-64053E0CA705</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522044544</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044628</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o455\">\n<a:ObjectID>0475CD9F-ECC5-435C-812F-16D6D2FDA0F5</a:ObjectID>\n<a:Name>select_type</a:Name>\n<a:Code>select_type</a:Code>\n<a:CreationDate>1522044544</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1551343683</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性选择类型：0-&gt;唯一；1-&gt;单选；2-&gt;多选；对应属性和参数意义不同；</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o456\">\n<a:ObjectID>A656FC1F-FC28-4012-8876-5FE082ADCFC1</a:ObjectID>\n<a:Name>input_type</a:Name>\n<a:Code>input_type</a:Code>\n<a:CreationDate>1522044628</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044761</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性录入方式：0-&gt;手工录入；1-&gt;从列表中选取</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o457\">\n<a:ObjectID>673D1CDE-138E-45B6-9ADE-9C9FBAF1FA3C</a:ObjectID>\n<a:Name>input_list</a:Name>\n<a:Code>input_list</a:Code>\n<a:CreationDate>1522044737</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044853</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可选值列表，以逗号隔开</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o458\">\n<a:ObjectID>2710E2E2-FD53-4302-B88E-62F2B708E736</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522044833</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045635</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序字段：最高的可以单独上传图片</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o459\">\n<a:ObjectID>6A4CA846-5A79-4A70-9C1B-69D819C67C91</a:ObjectID>\n<a:Name>filter_type</a:Name>\n<a:Code>filter_type</a:Code>\n<a:CreationDate>1522044833</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045152</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类筛选样式：1-&gt;普通；1-&gt;颜色</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o460\">\n<a:ObjectID>2BE254B3-3CD8-4794-929E-3FBEB258936B</a:ObjectID>\n<a:Name>search_type</a:Name>\n<a:Code>search_type</a:Code>\n<a:CreationDate>1522045233</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045285</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>检索类型；0-&gt;不需要进行检索；1-&gt;关键字检索；2-&gt;范围检索</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o461\">\n<a:ObjectID>5C1F000F-8181-4CF0-B2C6-422AC7CD8EF3</a:ObjectID>\n<a:Name>related_status</a:Name>\n<a:Code>related_status</a:Code>\n<a:CreationDate>1522045363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045485</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>相同属性产品是否关联；0-&gt;不关联；1-&gt;关联</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o462\">\n<a:ObjectID>3660F2D1-79BF-4600-B965-259108FA8784</a:ObjectID>\n<a:Name>hand_add_status</a:Name>\n<a:Code>hand_add_status</a:Code>\n<a:CreationDate>1522045453</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045556</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否支持手动新增；0-&gt;不支持；1-&gt;支持</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o463\">\n<a:ObjectID>1EFD6D7F-29E6-4B52-A192-EDDEFFF5EB54</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522045781</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045820</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性的类型；0-&gt;规格；1-&gt;参数</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o464\">\n<a:ObjectID>D37FC115-4FED-46C1-9D29-34FE0FCB103F</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522044517</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044525</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o452\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o464\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o246\">\n<a:ObjectID>70D24471-1832-42AF-BF28-DF5C4D67427D</a:ObjectID>\n<a:Name>pms_product_attribute_value</a:Name>\n<a:Code>pms_product_attribute_value</a:Code>\n<a:CreationDate>1522046351</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>存储产品参数信息的表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o465\">\n<a:ObjectID>98949F13-7401-4B46-8C46-AD0EDB279FA6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522046392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046409</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o466\">\n<a:ObjectID>A73883DF-2D36-497D-8D90-9EB0F5CF3C5B</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522046451</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524710981</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o467\">\n<a:ObjectID>92ACF804-9722-47C3-826B-A2611338F2F6</a:ObjectID>\n<a:Name>product_attribute_id</a:Name>\n<a:Code>product_attribute_id</a:Code>\n<a:CreationDate>1522046456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524710981</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o468\">\n<a:ObjectID>E83F864A-D6C1-48EA-B9A3-7C9AB2ED55A1</a:ObjectID>\n<a:Name>value</a:Name>\n<a:Code>value</a:Code>\n<a:CreationDate>1522046406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1531100886</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>手动添加规格或参数的值，参数单值，规格有多个时以逗号隔开</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o469\">\n<a:ObjectID>66A6E0B8-A090-45F7-ACD4-8815D7DF6B6F</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522046392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046406</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o465\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o469\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o247\">\n<a:ObjectID>73D97C96-1D05-46E2-89CA-985688FD385B</a:ObjectID>\n<a:Name>cms_topic</a:Name>\n<a:Code>cms_topic</a:Code>\n<a:CreationDate>1522050428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>话题表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o470\">\n<a:ObjectID>E5586D56-C86E-40C0-8433-7EAAB1A7A79F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522050454</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522050470</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o471\">\n<a:ObjectID>8DBF595F-4E5A-42F6-A301-D87380DA3FE6</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1522141317</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141327</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o472\">\n<a:ObjectID>8CDFD790-F0B3-436A-8295-5F442B1A3E07</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522050467</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522050484</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o473\">\n<a:ObjectID>CD7B71CD-51EB-49B3-93FE-59F59BF51EF2</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o474\">\n<a:ObjectID>351D963E-FCB6-4A62-A03E-79FC4362CAFD</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o475\">\n<a:ObjectID>BC71816F-CC52-4DD7-869B-5EF23E07824D</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o476\">\n<a:ObjectID>082A202D-0BB3-41C1-9474-62FE6C172569</a:ObjectID>\n<a:Name>attend_count</a:Name>\n<a:Code>attend_count</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141052</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>参与人数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o477\">\n<a:ObjectID>6A84107F-35BF-4BB0-B867-39198A321E01</a:ObjectID>\n<a:Name>attention_count</a:Name>\n<a:Code>attention_count</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141063</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>关注人数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o478\">\n<a:ObjectID>5A9F5276-5222-4760-BA85-CA98154759F9</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o479\">\n<a:ObjectID>1931F93B-6D40-4FD7-9C4F-1C67815C3459</a:ObjectID>\n<a:Name>award_name</a:Name>\n<a:Code>award_name</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140997</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>奖品名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o480\">\n<a:ObjectID>6440D5DB-2981-4203-9519-A4CB896AB498</a:ObjectID>\n<a:Name>attend_type</a:Name>\n<a:Code>attend_type</a:Code>\n<a:CreationDate>1522140989</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141043</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>参与方式</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o481\">\n<a:ObjectID>C88BACB1-A103-4EC5-8800-F500CE872650</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522141034</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141083</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>话题内容</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o482\">\n<a:ObjectID>9469C4F2-63EF-48D7-85F7-749CBD56D5A9</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522050454</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522050467</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o470\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o482\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o248\">\n<a:ObjectID>143551D6-36A8-4263-B499-17416D5B4E78</a:ObjectID>\n<a:Name>cms_prefrence_area</a:Name>\n<a:Code>cms_prefrence_area</a:Code>\n<a:CreationDate>1522112533</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优选专区</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o483\">\n<a:ObjectID>601C99AA-881D-4188-A507-8EBC584792A1</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522112534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112571</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o484\">\n<a:ObjectID>FCDEF8AE-3C3E-4D80-8718-68B2BFDAAAAB</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522112567</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112584</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o485\">\n<a:ObjectID>6F54EFCF-2121-40E1-A012-0780AA817B9E</a:ObjectID>\n<a:Name>sub_title</a:Name>\n<a:Code>sub_title</a:Code>\n<a:CreationDate>1522139220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o486\">\n<a:ObjectID>31AB8614-FFF2-430B-A3B9-8592C41EC3B4</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522139329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139365</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>展示图片</a:Comment>\n<a:DataType>varbinary(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o487\">\n<a:ObjectID>27D98403-DF29-48CA-A724-8E2B6FFEFB01</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139372</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o488\">\n<a:ObjectID>3BD7C5D5-B647-4499-ABA6-AE5E08D069CE</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139372</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o489\">\n<a:ObjectID>D4E19AA8-AFAB-4791-A6C7-15DBDF850779</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522112534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112567</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o483\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o489\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o249\">\n<a:ObjectID>A13BD5C1-4EB4-4269-978C-7BC04C9CDC6E</a:ObjectID>\n<a:Name>cms_prefrence_area_product_relation</a:Name>\n<a:Code>cms_prefrence_area_product_relation</a:Code>\n<a:CreationDate>1522112617</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215871</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优选专区和产品关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o490\">\n<a:ObjectID>F54F6DBB-9A10-4191-9426-087F11A04093</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522112618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112684</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o491\">\n<a:ObjectID>AD6438FF-9782-40FA-82DB-D99F8C15BC39</a:ObjectID>\n<a:Name>prefrence_area_id</a:Name>\n<a:Code>prefrence_area_id</a:Code>\n<a:CreationDate>1522112691</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139303</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o492\">\n<a:ObjectID>A5DE8A1D-EF5C-4ADB-BAEC-1DC5B833C89D</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522112694</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112722</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o493\">\n<a:ObjectID>6248D431-92E7-4999-9E2E-A8492D60909B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522112618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112681</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o490\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o493\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o250\">\n<a:ObjectID>7124790D-D56B-43AC-9EF3-1CFC5BF12114</a:ObjectID>\n<a:Name>pms_product_category_attribute_relation</a:Name>\n<a:Code>pms_product_category_attribute_relation</a:Code>\n<a:CreationDate>1522115893</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215883</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品的分类和属性的关系表，用于设置分类筛选条件（只支持一级分类）</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o494\">\n<a:ObjectID>9185CBA8-9501-4F1D-869D-7CFE0D62A0E5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522115894</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115954</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o495\">\n<a:ObjectID>2A249FE2-167D-4966-B80C-A1F2029335D5</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1522115961</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o496\">\n<a:ObjectID>CA02967F-18F1-4803-AE3A-A4C6F3085047</a:ObjectID>\n<a:Name>product_attribute_id</a:Name>\n<a:Code>product_attribute_id</a:Code>\n<a:CreationDate>1522115983</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115997</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o497\">\n<a:ObjectID>7664FAB4-1504-4257-846E-556F70D39E63</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522115894</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o494\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o497\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o251\">\n<a:ObjectID>56CDA36B-EA58-4AE1-B858-A5F9A2F29A8E</a:ObjectID>\n<a:Name>pms_comment</a:Name>\n<a:Code>pms_comment</a:Code>\n<a:CreationDate>1522118136</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119143</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品评价表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o498\">\n<a:ObjectID>0B63A5AB-69A1-49D3-B274-537BE5F79603</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118175</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118191</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o499\">\n<a:ObjectID>AAEF7DDC-9B2F-46B6-A8B1-C6F87BF129B3</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522118676</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118692</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o500\">\n<a:ObjectID>E861609A-6A46-4405-ABD0-EE63DF7C18AB</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118254</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o501\">\n<a:ObjectID>93F98F3F-AE44-425D-8437-15EFCA931DEE</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522118254</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o502\">\n<a:ObjectID>3B937D50-F65E-4FCC-91E6-987280555E0F</a:ObjectID>\n<a:Name>star</a:Name>\n<a:Code>star</a:Code>\n<a:CreationDate>1522118296</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118388</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价星数：0-&gt;5</a:Comment>\n<a:DataType>int(3)</a:DataType>\n<a:Length>3</a:Length>\n</o:Column>\n<o:Column Id=\"o503\">\n<a:ObjectID>FF2F85AD-9EEF-4482-8425-012B16214ACC</a:ObjectID>\n<a:Name>member_ip</a:Name>\n<a:Code>member_ip</a:Code>\n<a:CreationDate>1522118356</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价的ip</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o504\">\n<a:ObjectID>928C78C9-46A9-4372-89AE-240801429406</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118413</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118537</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o505\">\n<a:ObjectID>60548BBB-24E8-420F-A512-5446E5A2E760</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522118413</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118537</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o506\">\n<a:ObjectID>9F48621B-2FCF-45E5-9143-1BE198FF29B5</a:ObjectID>\n<a:Name>product_attribute</a:Name>\n<a:Code>product_attribute</a:Code>\n<a:CreationDate>1522118413</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118546</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购买时的商品属性</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o507\">\n<a:ObjectID>DCCC00DA-5050-4C5E-B95B-2FCC03D9FD16</a:ObjectID>\n<a:Name>collect_couont</a:Name>\n<a:Code>collect_couont</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o508\">\n<a:ObjectID>0C6D9887-AA40-4B94-93DC-624FB5BDE0BA</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o509\">\n<a:ObjectID>7B205E86-CD8C-4B49-8E5C-34A3FB5FB46B</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o510\">\n<a:ObjectID>BE5DD03F-680E-4FF4-BC30-A3249F0F3240</a:ObjectID>\n<a:Name>pics</a:Name>\n<a:Code>pics</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118653</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上传图片地址，以逗号隔开</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o511\">\n<a:ObjectID>27BD4283-26AA-4F27-9E13-963F0588E6E2</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118919</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118952</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评论用户头像</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o512\">\n<a:ObjectID>1C85F6E9-ECED-473D-95C8-3509F812EBAE</a:ObjectID>\n<a:Name>replay_count</a:Name>\n<a:Code>replay_count</a:Code>\n<a:CreationDate>1522119113</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119127</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o513\">\n<a:ObjectID>FB3F2C83-222B-4B40-9A1A-B8E7586FC5D1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118175</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118187</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o498\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o513\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o252\">\n<a:ObjectID>9E632F70-2FF6-43F1-8035-39044AC4B722</a:ObjectID>\n<a:Name>pms_comment_replay</a:Name>\n<a:Code>pms_comment_replay</a:Code>\n<a:CreationDate>1522118840</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119205</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品评价回复表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o514\">\n<a:ObjectID>C0FE35AD-E3D8-46AA-BD43-0A4FE9348CF6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118870</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118887</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o515\">\n<a:ObjectID>6A4043C2-5C50-430C-BD5B-AA0D11362AC2</a:ObjectID>\n<a:Name>comment_id</a:Name>\n<a:Code>comment_id</a:Code>\n<a:CreationDate>1522119056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119072</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o516\">\n<a:ObjectID>C6A4F7EC-CA0E-4E95-80BB-BB5BD4C7CF03</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o517\">\n<a:ObjectID>D39F911F-9FF3-401E-89A2-A0CF1AEB11F5</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o518\">\n<a:ObjectID>37F379DF-80F8-4A2D-A1FD-F1B8DFFF3E8C</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o519\">\n<a:ObjectID>4D97D374-C6C4-4835-8901-0A0AF230090C</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o520\">\n<a:ObjectID>7323FC1E-0690-46C9-AE91-EBC17297BB57</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522119192</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119239</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评论人员类型；0-&gt;会员；1-&gt;管理员</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o521\">\n<a:ObjectID>AB67D302-57F5-41ED-BA76-1DA5FCEA3BD1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118880</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118887</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o514\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o521\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o253\">\n<a:ObjectID>6D104B7B-620F-491A-ABC4-B60B21CF69BC</a:ObjectID>\n<a:Name>pms_album</a:Name>\n<a:Code>pms_album</a:Code>\n<a:CreationDate>1522120039</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>相册表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o522\">\n<a:ObjectID>424E4971-5936-46F8-BAE1-7F4220EDC6B5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522120040</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120064</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o523\">\n<a:ObjectID>0C2DE146-32E0-438D-907D-FA27F53BE712</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o524\">\n<a:ObjectID>2DAC711E-D5AE-4A25-8D7E-3A748D5B5988</a:ObjectID>\n<a:Name>cover_pic</a:Name>\n<a:Code>cover_pic</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o525\">\n<a:ObjectID>B2BBBBA4-937B-440C-9708-7D2094D5893B</a:ObjectID>\n<a:Name>pic_count</a:Name>\n<a:Code>pic_count</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o526\">\n<a:ObjectID>F34D2B7C-8CB3-4078-99E6-ED7DA2FEC59B</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o527\">\n<a:ObjectID>1EED58B2-81C2-4FA8-8242-3B9845D29645</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o528\">\n<a:ObjectID>1535694E-35FA-45D2-9EC4-0AC46AAB6A81</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522120040</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120061</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o522\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o528\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o254\">\n<a:ObjectID>111B6F68-21FF-450D-9F6E-40C4E4F09B6C</a:ObjectID>\n<a:Name>pms_album_pic</a:Name>\n<a:Code>pms_album_pic</a:Code>\n<a:CreationDate>1522120250</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120295</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>画册图片表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o529\">\n<a:ObjectID>E25430EB-9E92-44D3-BD29-B357E9DCB2F6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522120251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120277</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o530\">\n<a:ObjectID>572B79C1-82C5-405D-A13E-11183C8382C3</a:ObjectID>\n<a:Name>album_id</a:Name>\n<a:Code>album_id</a:Code>\n<a:CreationDate>1522120295</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120304</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o531\">\n<a:ObjectID>EA74BD79-E880-467B-AEED-0E92E733AE95</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522120273</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o532\">\n<a:ObjectID>B677823F-37C2-47FB-A8EE-F10B80BF40BB</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522120251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120273</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o529\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o532\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o255\">\n<a:ObjectID>B57200C6-A503-406F-BC2F-5B144309EC10</a:ObjectID>\n<a:Name>cms_subject</a:Name>\n<a:Code>cms_subject</a:Code>\n<a:CreationDate>1522138190</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542086220</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o533\">\n<a:ObjectID>53BC0750-B403-49FD-A50A-F081E7D2409F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524711592</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o534\">\n<a:ObjectID>42524411-D613-4537-A110-5746681D4178</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1522138705</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139827</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o535\">\n<a:ObjectID>B88B2152-E11E-4B3E-8752-12B9A9B9D6E6</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138313</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o536\">\n<a:ObjectID>82CD4D66-89A8-4563-A6E1-1DE23B4E0326</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138320</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题主图</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o537\">\n<a:ObjectID>7CE3D060-441E-426C-A4DE-E36FA20C37B3</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138330</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>关联产品数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o538\">\n<a:ObjectID>DC926B26-780C-422A-9F01-918ACE01616D</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o539\">\n<a:ObjectID>ADDFD504-1961-4B20-A5A7-2663BE5DC0E6</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o540\">\n<a:ObjectID>5D13D140-A74E-4586-880C-1BFE0A0E11D4</a:ObjectID>\n<a:Name>collect_count</a:Name>\n<a:Code>collect_count</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o541\">\n<a:ObjectID>EAEA9201-9947-490A-9AA6-36A980292101</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o542\">\n<a:ObjectID>2FEB2EE8-3445-412B-809E-86AA3ECF4529</a:ObjectID>\n<a:Name>comment_count</a:Name>\n<a:Code>comment_count</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o543\">\n<a:ObjectID>3213DDDC-F105-4CF3-85B1-0AF4B28D18BD</a:ObjectID>\n<a:Name>album_pics</a:Name>\n<a:Code>album_pics</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138499</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>画册图片用逗号分割</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o544\">\n<a:ObjectID>3E65E187-85C6-4C2C-8508-6459E5634653</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522138733</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138806</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o545\">\n<a:ObjectID>2E84713F-CB2B-46A6-BA44-489D2F6458EE</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522138733</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139016</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>显示状态：0-&gt;不显示；1-&gt;显示</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o546\">\n<a:ObjectID>53DFEF92-6705-4834-A79D-DBE1EA44CC23</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522138733</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138806</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o547\">\n<a:ObjectID>2BEA9B61-5B2A-495A-A1F3-CDC9992E6EC0</a:ObjectID>\n<a:Name>forward_count</a:Name>\n<a:Code>forward_count</a:Code>\n<a:CreationDate>1522139567</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139597</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>转发数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o548\">\n<a:ObjectID>38F4212D-8579-407B-BA77-92A54008F60B</a:ObjectID>\n<a:Name>category_name</a:Name>\n<a:Code>category_name</a:Code>\n<a:CreationDate>1542086194</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542086464</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o549\">\n<a:ObjectID>EEB1DA22-1547-4B23-B534-2C0E6E700AC7</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138603</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138607</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o533\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o549\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o256\">\n<a:ObjectID>606E012F-14A2-4A00-AD6E-15A2EFBB9C5E</a:ObjectID>\n<a:Name>cms_subject_product_relation</a:Name>\n<a:Code>cms_subject_product_relation</a:Code>\n<a:CreationDate>1522138561</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215878</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题商品关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o550\">\n<a:ObjectID>5DF4FFB5-2AF3-432F-B7B4-7F3BB6E24DBE</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138589</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139788</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o551\">\n<a:ObjectID>CEA5917C-7E9D-4BBC-9C36-526EDCFEE760</a:ObjectID>\n<a:Name>subject_id</a:Name>\n<a:Code>subject_id</a:Code>\n<a:CreationDate>1522138613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138642</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o552\">\n<a:ObjectID>5071E824-D357-4D1D-A766-5EEF7042D9DB</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522138618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138642</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o553\">\n<a:ObjectID>F54E063F-39C6-4A3F-B83A-85972E2FF817</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138589</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138597</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o550\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o553\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o257\">\n<a:ObjectID>AB473418-20D2-4DA3-8888-C528B336912A</a:ObjectID>\n<a:Name>cms_subject_category</a:Name>\n<a:Code>cms_subject_category</a:Code>\n<a:CreationDate>1522138655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o554\">\n<a:ObjectID>25CBB635-2A80-4F21-B7E8-E352F1B4F77F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o555\">\n<a:ObjectID>A1D41EA4-B0CA-4941-A909-27D9909E0E37</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522138679</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138696</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o556\">\n<a:ObjectID>D8AE7B27-35EB-4915-B668-4C51D80A4A48</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522139032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139093</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o557\">\n<a:ObjectID>6FA5F7F2-CFF4-42F4-8F7D-21845B349CCB</a:ObjectID>\n<a:Name>subject_count</a:Name>\n<a:Code>subject_count</a:Code>\n<a:CreationDate>1522139087</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o558\">\n<a:ObjectID>B0C5DD2A-9B58-4590-8B05-06401B097A8C</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(2)</a:DataType>\n<a:Length>2</a:Length>\n</o:Column>\n<o:Column Id=\"o559\">\n<a:ObjectID>E2526823-EFE1-4B05-B1D2-26F058A2982A</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o560\">\n<a:ObjectID>FB93F2E5-22E1-4B1A-A200-33E4152340C2</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138679</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o554\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o560\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o258\">\n<a:ObjectID>49773448-772B-485E-A3C7-B11481FECA81</a:ObjectID>\n<a:Name>cms_subject_comment</a:Name>\n<a:Code>cms_subject_comment</a:Code>\n<a:CreationDate>1522118840</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题评论表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o561\">\n<a:ObjectID>1147FDE1-65B1-4BFD-A1A2-B020098BE42C</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118870</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o562\">\n<a:ObjectID>2ADF8874-CC3E-474C-B210-4025C4AC3F72</a:ObjectID>\n<a:Name>subject_id</a:Name>\n<a:Code>subject_id</a:Code>\n<a:CreationDate>1522141232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141245</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o563\">\n<a:ObjectID>B0459F20-23C7-466D-8A4F-8796D69A0C08</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o564\">\n<a:ObjectID>C2AF427F-DE7F-4C75-ACE7-0ABFD02455DA</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o565\">\n<a:ObjectID>5D00E7C2-F197-490B-819E-120CEC889DC6</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o566\">\n<a:ObjectID>DF4234D6-78A1-41C9-AD35-1888B1FEAB6F</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o567\">\n<a:ObjectID>86082980-A127-4EDF-8EFC-E8148463178A</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139856</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139873</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o568\">\n<a:ObjectID>36EEDF00-52B8-437E-B236-EEA161669A1B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118880</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o561\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o568\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o259\">\n<a:ObjectID>D0100727-1202-4283-BD62-F95371B06299</a:ObjectID>\n<a:Name>cms_topic_comment</a:Name>\n<a:Code>cms_topic_comment</a:Code>\n<a:CreationDate>1522118840</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522399064</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题评论表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o569\">\n<a:ObjectID>58CD3CFC-497C-4971-AD22-9987D668CDE6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118870</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o570\">\n<a:ObjectID>DE828932-9533-4CE1-86D2-A92BD6FED7AA</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o571\">\n<a:ObjectID>45FF2606-4361-412C-B9DC-397D23DEE33B</a:ObjectID>\n<a:Name>topic_id</a:Name>\n<a:Code>topic_id</a:Code>\n<a:CreationDate>1522141157</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141168</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o572\">\n<a:ObjectID>449FC5FE-AE37-4C13-B286-63FD48F70DA9</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o573\">\n<a:ObjectID>395DC11D-5668-46CE-AAA6-AFFD0AEC84A2</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o574\">\n<a:ObjectID>31AE7B63-BC68-4E98-B907-92F1D8C6CD90</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o575\">\n<a:ObjectID>711458F7-23E9-480C-8749-66742D667C05</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139856</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o576\">\n<a:ObjectID>AF9DA610-2D90-4723-8586-DE3F17CC93AC</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118880</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o569\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o576\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o260\">\n<a:ObjectID>DAA0A46E-FEF2-4004-97B6-4FF049BC1DF2</a:ObjectID>\n<a:Name>cms_topic_category</a:Name>\n<a:Code>cms_topic_category</a:Code>\n<a:CreationDate>1522138655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141297</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>话题分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o577\">\n<a:ObjectID>D109BEFC-0C6F-4B8C-AA21-461DB4903D66</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o578\">\n<a:ObjectID>F26259A6-E8E7-4CBC-BBBF-9E99449079B4</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522138679</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o579\">\n<a:ObjectID>1DAD2A73-1384-45CD-84B3-C8A2021FAB46</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522139032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o580\">\n<a:ObjectID>2413D731-87CA-45E0-AD41-AA64C90DA23F</a:ObjectID>\n<a:Name>subject_count</a:Name>\n<a:Code>subject_count</a:Code>\n<a:CreationDate>1522139087</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o581\">\n<a:ObjectID>B591EC57-36F5-4C03-A012-D0ADBF3E4C0F</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(2)</a:DataType>\n<a:Length>2</a:Length>\n</o:Column>\n<o:Column Id=\"o582\">\n<a:ObjectID>DAFFB2FD-33EB-4BB3-9E0C-0297E575E351</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o583\">\n<a:ObjectID>99A75D70-8F78-4D6E-8953-00CADCEAB0E0</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o577\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o583\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o261\">\n<a:ObjectID>5312D8EC-AF1A-469E-BC98-AB6273AAAE0E</a:ObjectID>\n<a:Name>cms_help</a:Name>\n<a:Code>cms_help</a:Code>\n<a:CreationDate>1522141745</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142006</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帮助表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o584\">\n<a:ObjectID>A9D8065D-3D37-419F-9038-978F59CEBB8F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522141746</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141791</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o585\">\n<a:ObjectID>99F1B8BB-6318-423F-8D30-A40703AF7A53</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1522142006</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142017</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o586\">\n<a:ObjectID>C7F74EDD-B6CB-4D46-9617-F8C14AB2DF2F</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o587\">\n<a:ObjectID>FF621D0D-B8FA-4725-A175-D7B2BABA5B94</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o588\">\n<a:ObjectID>E6895426-49FA-4AF4-BB77-757AA0BF864C</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o589\">\n<a:ObjectID>F08C0B0D-F6B3-4A69-AA15-9DE56C118112</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o590\">\n<a:ObjectID>4354AAE9-96D2-4D68-9074-4D6D43058031</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o591\">\n<a:ObjectID>38267C50-CED4-4040-80C3-F2BB84F55DE1</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o592\">\n<a:ObjectID>23861D6B-7336-4999-B247-2795E01A36A6</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522141746</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141776</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o584\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o592\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o262\">\n<a:ObjectID>C69D6CF4-1D0A-4C73-BD5D-728063BA5CF5</a:ObjectID>\n<a:Name>cms_help_category</a:Name>\n<a:Code>cms_help_category</a:Code>\n<a:CreationDate>1522138655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141973</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帮助分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o593\">\n<a:ObjectID>67081E82-4B28-4B4B-950A-A6977DDC416C</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o594\">\n<a:ObjectID>23A542BE-7271-45B8-9BA3-2994EC446525</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522138679</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o595\">\n<a:ObjectID>E5E3B51D-A536-42AF-A7B5-B0CB88FA1382</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522139032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o596\">\n<a:ObjectID>433A0125-DC14-4DE3-AC67-4F50F73D9C10</a:ObjectID>\n<a:Name>help_count</a:Name>\n<a:Code>help_count</a:Code>\n<a:CreationDate>1522139087</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141999</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o597\">\n<a:ObjectID>66476CEF-9E6C-4DD2-8CF4-F17B95C150DF</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(2)</a:DataType>\n<a:Length>2</a:Length>\n</o:Column>\n<o:Column Id=\"o598\">\n<a:ObjectID>08AA26A1-B9BA-42BA-B07E-A3F313619269</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o599\">\n<a:ObjectID>7062AB8C-E6E5-4256-9CAA-E35D576A4067</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o593\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o599\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o264\">\n<a:ObjectID>EE13E81B-7389-4258-A293-350022D681E9</a:ObjectID>\n<a:Name>cms_member_report</a:Name>\n<a:Code>cms_member_report</a:Code>\n<a:CreationDate>1522142154</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142502</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户举报表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o600\">\n<a:ObjectID>26970FB1-6D6F-4F9B-B5AE-A006A5DA00B0</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522142174</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142240</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o601\">\n<a:ObjectID>6447324C-45CB-4E42-9437-A15934CB1F0D</a:ObjectID>\n<a:Name>report_type</a:Name>\n<a:Code>report_type</a:Code>\n<a:CreationDate>1522142174</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142646</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>举报类型：0-&gt;商品评价；1-&gt;话题内容；2-&gt;用户评论</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o602\">\n<a:ObjectID>020ECB31-0883-4162-80FA-2DFC32D3C7A5</a:ObjectID>\n<a:Name>report_member_name</a:Name>\n<a:Code>report_member_name</a:Code>\n<a:CreationDate>1522142240</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142303</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>举报人</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o603\">\n<a:ObjectID>C0692AD1-F67F-4EA1-8AA3-ACA47B0262AB</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522142298</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142386</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o604\">\n<a:ObjectID>C57611C0-AF26-4C7A-8D51-A283494F883A</a:ObjectID>\n<a:Name>report_object</a:Name>\n<a:Code>report_object</a:Code>\n<a:CreationDate>1522142298</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142386</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o605\">\n<a:ObjectID>A426736C-C224-4935-88EF-580A9D84580B</a:ObjectID>\n<a:Name>report_status</a:Name>\n<a:Code>report_status</a:Code>\n<a:CreationDate>1522142298</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142414</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>举报状态：0-&gt;未处理；1-&gt;已处理</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o606\">\n<a:ObjectID>2C32CB54-23F4-4619-8AB4-530388A5E455</a:ObjectID>\n<a:Name>handle_status</a:Name>\n<a:Code>handle_status</a:Code>\n<a:CreationDate>1522142386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142486</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理结果：0-&gt;无效；1-&gt;有效；2-&gt;恶意</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o607\">\n<a:ObjectID>21DB5501-BCE1-40F6-9CEC-77A10758E766</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522142456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142502</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n</o:Table>\n<o:Table Id=\"o265\">\n<a:ObjectID>62AC3907-4D95-4CFC-BB5D-A066679C4474</a:ObjectID>\n<a:Name>sms_coupon</a:Name>\n<a:Code>sms_coupon</a:Code>\n<a:CreationDate>1522215010</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541664280</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠卷表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o608\">\n<a:ObjectID>D967F787-301C-4453-9F6B-54CD376E68F4</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522215060</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724388</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o609\">\n<a:ObjectID>A42144EE-CFD6-4093-B8DF-AAEB4D87BCE3</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522215069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215247</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠卷类型；0-&gt;全场赠券；1-&gt;会员赠券；2-&gt;购物赠券；3-&gt;注册赠券</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o610\">\n<a:ObjectID>4EEFF0DA-F8C0-4231-939F-9E67BFF4FA99</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522215086</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215247</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o611\">\n<a:ObjectID>C1161877-9671-43DB-8EA5-50B4ECBB89E4</a:ObjectID>\n<a:Name>platform</a:Name>\n<a:Code>platform</a:Code>\n<a:CreationDate>1522215086</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535445907</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用平台：0-&gt;全部；1-&gt;移动；2-&gt;PC</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o612\">\n<a:ObjectID>94DC173C-3B97-4520-9ADD-8F5F2ED04470</a:ObjectID>\n<a:Name>count</a:Name>\n<a:Code>count</a:Code>\n<a:CreationDate>1522215247</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215314</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o613\">\n<a:ObjectID>A15DA5DE-2744-4053-86C7-8A1CE2CA14D4</a:ObjectID>\n<a:Name>amount</a:Name>\n<a:Code>amount</a:Code>\n<a:CreationDate>1522215309</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o614\">\n<a:ObjectID>52D1095B-621A-413D-8161-72182E758527</a:ObjectID>\n<a:Name>per_limit</a:Name>\n<a:Code>per_limit</a:Code>\n<a:CreationDate>1522215394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215437</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每人限领张数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o615\">\n<a:ObjectID>5D8378FF-E9D3-487E-B268-ABEECE41A427</a:ObjectID>\n<a:Name>min_point</a:Name>\n<a:Code>min_point</a:Code>\n<a:CreationDate>1522215424</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747549</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用门槛；0表示无门槛</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o616\">\n<a:ObjectID>A7094DFB-0744-466F-8C88-3131A1FEDB45</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1522215598</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215693</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o617\">\n<a:ObjectID>D9174D11-163F-4C6F-A36B-6EE33F1B7541</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1522215598</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215693</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o618\">\n<a:ObjectID>DF9AE437-11C1-4711-8579-9BA970124238</a:ObjectID>\n<a:Name>use_type</a:Name>\n<a:Code>use_type</a:Code>\n<a:CreationDate>1522215598</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215739</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用类型：0-&gt;全场通用；1-&gt;指定分类；2-&gt;指定商品</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o619\">\n<a:ObjectID>6F6944A7-CA49-4C62-8D4E-42FAFBBECB22</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522215693</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215779</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o620\">\n<a:ObjectID>039EF37D-E0E4-4201-A3EF-539492AD9D53</a:ObjectID>\n<a:Name>publish_count</a:Name>\n<a:Code>publish_count</a:Code>\n<a:CreationDate>1522216740</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216765</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发行数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o621\">\n<a:ObjectID>6B22702A-9639-4B94-BDFF-D6203A623754</a:ObjectID>\n<a:Name>use_count</a:Name>\n<a:Code>use_count</a:Code>\n<a:CreationDate>1522216759</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216817</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>已使用数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o622\">\n<a:ObjectID>62F7E121-0FF8-41A5-A2F3-3CD1EBCF0113</a:ObjectID>\n<a:Name>receive_count</a:Name>\n<a:Code>receive_count</a:Code>\n<a:CreationDate>1535438655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535439531</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>领取数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o623\">\n<a:ObjectID>C16B86B5-7FE8-4A40-B5BC-0890539301BB</a:ObjectID>\n<a:Name>enable_time</a:Name>\n<a:Code>enable_time</a:Code>\n<a:CreationDate>1522216971</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217000</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可以领取的日期</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o624\">\n<a:ObjectID>57C38097-F524-4B80-9779-539E0F875778</a:ObjectID>\n<a:Name>code</a:Name>\n<a:Code>code</a:Code>\n<a:CreationDate>1522217015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o625\">\n<a:ObjectID>7F81033C-AF9F-48BD-9332-708B55931EE7</a:ObjectID>\n<a:Name>member_level</a:Name>\n<a:Code>member_level</a:Code>\n<a:CreationDate>1522288044</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522288094</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可领取的会员类型：0-&gt;无限时</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o626\">\n<a:ObjectID>F7B63883-C186-47A9-A442-EF3DC025999C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522215069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o608\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o626\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o266\">\n<a:ObjectID>F77D8A78-124B-40EF-BCA9-DF1D0BE3BBAD</a:ObjectID>\n<a:Name>sms_coupon_product_relation</a:Name>\n<a:Code>sms_coupon_product_relation</a:Code>\n<a:CreationDate>1522215792</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541748859</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券和产品的关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o627\">\n<a:ObjectID>51FBBF44-892D-4904-AD72-C367AD27B4DE</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522215913</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215933</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o628\">\n<a:ObjectID>8D3316AD-1CAF-4B5E-8FA0-645C1C73FFD7</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522215975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535445127</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o629\">\n<a:ObjectID>39E7492F-B104-48BA-9460-88C66C6B971E</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522216015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216048</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o630\">\n<a:ObjectID>6CFC63DC-3FA7-4C08-B3D3-EC4AB73264E5</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1541748810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541748864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品名称</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o631\">\n<a:ObjectID>30FFA3E1-D99B-4580-9685-A712EA6F1395</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1541748810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541748881</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品编码</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o632\">\n<a:ObjectID>0DDAC07B-7800-4763-A772-BEDE47E015F8</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522215913</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215928</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o627\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o632\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o267\">\n<a:ObjectID>18D5F08F-2392-4C0C-8AD0-1264DD968732</a:ObjectID>\n<a:Name>sms_coupon_product_category_relation</a:Name>\n<a:Code>sms_coupon_product_category_relation</a:Code>\n<a:CreationDate>1522216155</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541749816</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券和产品分类关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o633\">\n<a:ObjectID>B1EF094E-8F24-4E21-92C3-20D17815DD8E</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522216188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216239</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o634\">\n<a:ObjectID>0F265619-5CCA-4327-A335-B36E28B77CE9</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522216251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724416</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o635\">\n<a:ObjectID>BB220B24-5719-4254-9EAB-A73F809F1D91</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1522216380</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216395</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o636\">\n<a:ObjectID>8F514E26-8A5D-4746-9906-994728A01841</a:ObjectID>\n<a:Name>product_category_name</a:Name>\n<a:Code>product_category_name</a:Code>\n<a:CreationDate>1541749144</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541749816</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o637\">\n<a:ObjectID>E412773B-A578-4D21-B72F-679B380A40EC</a:ObjectID>\n<a:Name>parent_category_name</a:Name>\n<a:Code>parent_category_name</a:Code>\n<a:CreationDate>1541749144</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541749816</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>父分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o638\">\n<a:ObjectID>120C3D95-47A0-4ADC-86DD-F632EF5F5785</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522216188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216237</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o633\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o638\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o268\">\n<a:ObjectID>118563D1-BD6A-4137-B818-9A52AE43F4B3</a:ObjectID>\n<a:Name>sms_coupon_history</a:Name>\n<a:Code>sms_coupon_history</a:Code>\n<a:CreationDate>1522217089</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490649</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券使用、领取历史表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o639\">\n<a:ObjectID>8AF960D9-0931-474B-9087-67A9C769289A</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522217090</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535522371</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o640\">\n<a:ObjectID>AEA45EC9-857C-4ADD-B505-8E6D0638F274</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522220508</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724407</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o641\">\n<a:ObjectID>C2493798-DD46-4B0A-8BA4-76DED0B49E03</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522220546</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724407</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o642\">\n<a:ObjectID>254CB808-9D45-446D-9E7E-29A33FB74779</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1541490552</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490628</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o643\">\n<a:ObjectID>5D6DA42D-A033-45CC-8B4D-4A4577934E21</a:ObjectID>\n<a:Name>coupon_code</a:Name>\n<a:Code>coupon_code</a:Code>\n<a:CreationDate>1522217932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522218055</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o644\">\n<a:ObjectID>D55C94A5-5416-4994-9794-10BAFCDF3A70</a:ObjectID>\n<a:Name>member_nickname</a:Name>\n<a:Code>member_nickname</a:Code>\n<a:CreationDate>1522217932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522218107</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>领取人昵称</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o645\">\n<a:ObjectID>1FBF338D-A9F0-435F-A465-6C0D461C08EE</a:ObjectID>\n<a:Name>get_type</a:Name>\n<a:Code>get_type</a:Code>\n<a:CreationDate>1522218055</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522218134</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>获取类型：0-&gt;后台赠送；1-&gt;主动获取</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o646\">\n<a:ObjectID>2900D394-F7F9-411D-A014-19DB3D1ED702</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522218107</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220296</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o647\">\n<a:ObjectID>3447D394-9F55-41F0-B4AB-B52685CFD9B9</a:ObjectID>\n<a:Name>use_status</a:Name>\n<a:Code>use_status</a:Code>\n<a:CreationDate>1522218107</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220481</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用状态：0-&gt;未使用；1-&gt;已使用；2-&gt;已过期</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o648\">\n<a:ObjectID>74C76E33-9483-4D78-88C2-77812D6BE4E4</a:ObjectID>\n<a:Name>use_time</a:Name>\n<a:Code>use_time</a:Code>\n<a:CreationDate>1522220361</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220487</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o649\">\n<a:ObjectID>59A8EC2E-C3C8-479C-8D25-D43AAE161E1C</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1541490633</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490681</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单号码</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o650\">\n<a:ObjectID>539446A0-347B-4B13-9A1B-C1F91302A908</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522217090</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217131</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o639\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o650\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o269\">\n<a:ObjectID>39073F58-E0FD-4E97-91A0-AFA7D8C5F626</a:ObjectID>\n<a:Name>ums_member</a:Name>\n<a:Code>ums_member</a:Code>\n<a:CreationDate>1522217487</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o651\">\n<a:ObjectID>D9B1967D-3B90-493E-BF71-D0C0AA8AF792</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522217488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o652\">\n<a:ObjectID>BA9FA416-B0B0-49A8-99B2-EE1F2F689613</a:ObjectID>\n<a:Name>member_level_id</a:Name>\n<a:Code>member_level_id</a:Code>\n<a:CreationDate>1522386868</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391485</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o653\">\n<a:ObjectID>2B15CF6E-9928-4C28-A7F0-2D249CF28D2E</a:ObjectID>\n<a:Name>username</a:Name>\n<a:Code>username</a:Code>\n<a:CreationDate>1522217626</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o654\">\n<a:ObjectID>8B3B0D82-2CA0-4466-AEA1-F24F2791C164</a:ObjectID>\n<a:Name>password</a:Name>\n<a:Code>password</a:Code>\n<a:CreationDate>1522217626</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217766</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>密码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o655\">\n<a:ObjectID>A3756B41-7B58-47EE-9C90-4410B7014C14</a:ObjectID>\n<a:Name>nickname</a:Name>\n<a:Code>nickname</a:Code>\n<a:CreationDate>1522217712</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217794</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>昵称</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o656\">\n<a:ObjectID>771E62BD-6B4C-4AD5-8243-80EF105C5C12</a:ObjectID>\n<a:Name>phone</a:Name>\n<a:Code>phone</a:Code>\n<a:CreationDate>1522303316</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747629</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>手机号码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o657\">\n<a:ObjectID>2AC98331-159E-4556-B2BE-2A511AF1012B</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522386896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386937</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帐号启用状态:0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o658\">\n<a:ObjectID>290E9B19-DC94-49BE-8B20-4CC5BE6B4A2E</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522386911</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386982</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>注册时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o659\">\n<a:ObjectID>687462C1-C969-4A1F-8FF4-CFBDDF78FD97</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522387000</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387018</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>头像</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o660\">\n<a:ObjectID>3DBECFB8-A73F-4B4E-8770-394020C94B46</a:ObjectID>\n<a:Name>gender</a:Name>\n<a:Code>gender</a:Code>\n<a:CreationDate>1522387014</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387079</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>性别：0-&gt;未知；1-&gt;男；2-&gt;女</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o661\">\n<a:ObjectID>037D5C09-930F-4CB2-9488-A0D04C98B3DF</a:ObjectID>\n<a:Name>birthday</a:Name>\n<a:Code>birthday</a:Code>\n<a:CreationDate>1522387055</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387102</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>生日</a:Comment>\n<a:DataType>date</a:DataType>\n</o:Column>\n<o:Column Id=\"o662\">\n<a:ObjectID>5799AC70-2F20-49AD-ACB3-3ACE21BDFA24</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1522387097</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387133</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>所做城市</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o663\">\n<a:ObjectID>5E11EA43-DC5E-48B6-9C7D-4B3283DFEA04</a:ObjectID>\n<a:Name>job</a:Name>\n<a:Code>job</a:Code>\n<a:CreationDate>1522387127</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387170</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>职业</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o664\">\n<a:ObjectID>E4E5B724-CA9B-4DBF-9338-F35A6CEB07C6</a:ObjectID>\n<a:Name>personalized_signature</a:Name>\n<a:Code>personalized_signature</a:Code>\n<a:CreationDate>1522387164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387227</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>个性签名</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o665\">\n<a:ObjectID>B9C8A488-CE4C-4162-95B8-95AAF2F50D79</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522387221</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387354</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户来源</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o666\">\n<a:ObjectID>B2615BC0-8624-420C-9ADD-74B7CC0E1A34</a:ObjectID>\n<a:Name>integration</a:Name>\n<a:Code>integration</a:Code>\n<a:CreationDate>1522388283</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388297</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o667\">\n<a:ObjectID>68060654-B3F9-460C-B0AD-F69C3D79E7E4</a:ObjectID>\n<a:Name>growth</a:Name>\n<a:Code>growth</a:Code>\n<a:CreationDate>1522388293</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388314</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o668\">\n<a:ObjectID>F451866B-0691-4BD0-885F-8F8AC6BB07B6</a:ObjectID>\n<a:Name>luckey_count</a:Name>\n<a:Code>luckey_count</a:Code>\n<a:CreationDate>1522389179</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389203</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>剩余抽奖次数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o669\">\n<a:ObjectID>DF6E2A37-1087-482C-B3AB-6E24F7CF5824</a:ObjectID>\n<a:Name>history_integration</a:Name>\n<a:Code>history_integration</a:Code>\n<a:CreationDate>1522396288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396312</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>历史积分数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o670\">\n<a:ObjectID>D643CABA-BFF8-4444-BC9C-459F23DD209B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522217488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o651\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o670\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o270\">\n<a:ObjectID>A0B70C04-02B7-4362-8DE8-EEC09E11CFDE</a:ObjectID>\n<a:Name>sms_home_brand</a:Name>\n<a:Code>sms_home_brand</a:Code>\n<a:CreationDate>1522223818</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224364</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首页推荐品牌表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o671\">\n<a:ObjectID>55989B16-E9BA-4806-BE60-FBB53C20AFFB</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224219</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o672\">\n<a:ObjectID>6EB211BF-005A-45C4-9AD2-3B624549C78B</a:ObjectID>\n<a:Name>brand_id</a:Name>\n<a:Code>brand_id</a:Code>\n<a:CreationDate>1522224364</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224376</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o673\">\n<a:ObjectID>961D5B66-0DD8-42E5-BFB4-93E536FEC18A</a:ObjectID>\n<a:Name>brand_name</a:Name>\n<a:Code>brand_name</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224265</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o674\">\n<a:ObjectID>F2CF792A-6DB6-445B-9BA9-18C8DC17D441</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224356</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o675\">\n<a:ObjectID>1AB9EBEC-5310-4ADE-9CAD-39F414C49A73</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522224339</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224356</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o676\">\n<a:ObjectID>D81DA96A-E9F0-4D79-971E-1D88C5B3C093</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224216</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o671\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o676\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o271\">\n<a:ObjectID>A25B1802-83AF-4D73-B715-B3CD83BF30B8</a:ObjectID>\n<a:Name>sms_home_new_product</a:Name>\n<a:Code>sms_home_new_product</a:Code>\n<a:CreationDate>1522224403</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>新鲜好物表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o677\">\n<a:ObjectID>D44BCE8A-007A-475D-A1A8-A84615449866</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225765</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o678\">\n<a:ObjectID>41AB6B8F-5955-4D0F-82C9-3ECE03DE627F</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522225874</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225891</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o679\">\n<a:ObjectID>0199CB4D-CCB5-45A9-987A-C688680BAD6C</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225835</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o680\">\n<a:ObjectID>30DFEEA7-AEB5-420B-BB6F-99F4E2A2D4FC</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225835</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o681\">\n<a:ObjectID>D1A8F553-7744-46C7-B8BC-D27C3AD0717E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225844</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o682\">\n<a:ObjectID>73A2D055-78DF-477F-83FF-E76CEE5860BB</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225762</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o677\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o682\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o272\">\n<a:ObjectID>37399CAC-C0E1-4103-867A-C162B935BFDF</a:ObjectID>\n<a:Name>sms_home_recommend_product</a:Name>\n<a:Code>sms_home_recommend_product</a:Code>\n<a:CreationDate>1522224403</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>人气推荐商品表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o683\">\n<a:ObjectID>2C05FE30-5B42-49AB-B442-DA48DFBF56ED</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o684\">\n<a:ObjectID>81AA6507-AEAF-445F-8BCA-FE792FD6167D</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522226077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398713</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o685\">\n<a:ObjectID>5C55D312-2E41-4F12-80A1-D6220C9E71E0</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226008</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o686\">\n<a:ObjectID>D1CF9580-8D7D-44B9-82A5-1227DC667978</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226008</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o687\">\n<a:ObjectID>6B5CC5E0-6B02-4C2B-A8DB-EDAC443C4924</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226008</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o688\">\n<a:ObjectID>7256867D-3478-4506-AA49-3528838619BD</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o683\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o688\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o273\">\n<a:ObjectID>6B4E377F-EF19-4F4C-8FA6-0179636E1DD0</a:ObjectID>\n<a:Name>sms_home_recommend_subject</a:Name>\n<a:Code>sms_home_recommend_subject</a:Code>\n<a:CreationDate>1522223818</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首页推荐专题表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o689\">\n<a:ObjectID>BB3B377B-FD15-4644-9382-23DEE1D35C62</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o690\">\n<a:ObjectID>76387001-86B6-464D-9C61-25F2D7290848</a:ObjectID>\n<a:Name>subject_id</a:Name>\n<a:Code>subject_id</a:Code>\n<a:CreationDate>1522226272</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226311</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o691\">\n<a:ObjectID>FBF57C52-1D78-415A-A0F1-8C22ECDD209F</a:ObjectID>\n<a:Name>subject_name</a:Name>\n<a:Code>subject_name</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226180</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o692\">\n<a:ObjectID>95A506FC-F1AE-4FDC-A8B6-14DDC2C7686D</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226140</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o693\">\n<a:ObjectID>B7738C94-3636-4CDF-9361-426285F61C01</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522224339</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226140</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o694\">\n<a:ObjectID>4024BDA0-F53B-48E3-AD69-82EDDF413307</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o689\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o694\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o275\">\n<a:ObjectID>02B689AF-49BE-4746-9132-46B2A938FDCB</a:ObjectID>\n<a:Name>sms_home_advertise</a:Name>\n<a:Code>sms_home_advertise</a:Code>\n<a:CreationDate>1522227700</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541578000</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首页轮播广告表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o695\">\n<a:ObjectID>2794FB1E-CC31-453F-BE91-089DEA2F10D0</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522228220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228237</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o696\">\n<a:ObjectID>170EB06D-58AC-4810-AA05-2E800F4402A7</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522228234</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228288</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o697\">\n<a:ObjectID>2D08193E-455A-44D9-8568-65DFC657C51C</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522228234</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>轮播位置：0-&gt;PC首页轮播；1-&gt;app首页轮播</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o698\">\n<a:ObjectID>5BBDEC82-0B2C-4005-AE60-30C24AB2C60B</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o699\">\n<a:ObjectID>9544B543-B26F-4A94-8533-D1CD347E092A</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o700\">\n<a:ObjectID>EBE6682D-2345-42DD-B161-78D72008FC58</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o701\">\n<a:ObjectID>1E82BBF3-64A8-4937-B8E8-2EF1E5396463</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228415</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上下线状态：0-&gt;下线；1-&gt;上线</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o702\">\n<a:ObjectID>7FED5C77-61EC-4ED3-BC71-69B346DB69BD</a:ObjectID>\n<a:Name>click_count</a:Name>\n<a:Code>click_count</a:Code>\n<a:CreationDate>1522228387</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>点击数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o703\">\n<a:ObjectID>28ED368B-9046-4647-8365-6C3CC1A73A00</a:ObjectID>\n<a:Name>order_count</a:Name>\n<a:Code>order_count</a:Code>\n<a:CreationDate>1522228387</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228465</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>下单数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o704\">\n<a:ObjectID>18C101B3-A72F-483F-9A9A-68C90EA4A002</a:ObjectID>\n<a:Name>url</a:Name>\n<a:Code>url</a:Code>\n<a:CreationDate>1522228518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228545</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>链接地址</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o705\">\n<a:ObjectID>E271F2ED-7B8E-4D02-94F9-DCC3B014B01D</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522228518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228572</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o706\">\n<a:ObjectID>08E34019-824F-4A5D-8635-8CA439722F8E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1541577989</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541578016</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0=\n{B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0=\n\n</a:ExtendedAttributesText>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o707\">\n<a:ObjectID>8C05A0D5-5A40-4E5F-803C-21DE1581AB40</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522228220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228234</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o695\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o707\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o276\">\n<a:ObjectID>781E9BBD-7312-4347-A32B-F153B07BC2D6</a:ObjectID>\n<a:Name>sms_flash_promotion</a:Name>\n<a:Code>sms_flash_promotion</a:Code>\n<a:CreationDate>1522300652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522301372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o708\">\n<a:ObjectID>A001C3CA-7F30-48B5-BBCA-4DE4FF3AC6D7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522300654</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179315</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o709\">\n<a:ObjectID>E7B4D1BF-2B28-4CB5-A266-BF73B2C545CD</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522300838</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o710\">\n<a:ObjectID>9E90026D-CCB7-42C4-8305-6C9ED00FBEAD</a:ObjectID>\n<a:Name>start_date</a:Name>\n<a:Code>start_date</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>开始日期</a:Comment>\n<a:DataType>date</a:DataType>\n</o:Column>\n<o:Column Id=\"o711\">\n<a:ObjectID>9C92406F-BE6E-4DD0-B9F6-B6DB731826D8</a:ObjectID>\n<a:Name>end_date</a:Name>\n<a:Code>end_date</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178653</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>结束日期</a:Comment>\n<a:DataType>date</a:DataType>\n</o:Column>\n<o:Column Id=\"o712\">\n<a:ObjectID>7CF4BD09-90C4-4A00-861D-E4BB0DEDE4F0</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522300845</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上下线状态</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o713\">\n<a:ObjectID>8D6B6BCE-483E-49D8-9BFE-66FF9BAF4E04</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522301354</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178658</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>秒杀时间段名称</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o714\">\n<a:ObjectID>E91F0404-5C5E-465C-965B-AA29A2AC352C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522300654</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522300717</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o708\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o714\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o277\">\n<a:ObjectID>FC0B4AB8-B381-4962-9E00-9012B9389DB2</a:ObjectID>\n<a:Name>sms_flash_promotion_log</a:Name>\n<a:Code>sms_flash_promotion_log</a:Code>\n<a:CreationDate>1522303116</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购通知记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o715\">\n<a:ObjectID>8D5CC3D3-9472-4F2E-85C5-141575078624</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522303118</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303155</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o716\">\n<a:ObjectID>43575263-62FC-44CF-9134-A53E2549A413</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522303390</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o717\">\n<a:ObjectID>0E5CDA77-D030-43C4-8F3F-62F1DDAF2321</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522303410</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303424</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o718\">\n<a:ObjectID>58059F15-8E1E-441A-B852-B83A2DC6AF61</a:ObjectID>\n<a:Name>member_phone</a:Name>\n<a:Code>member_phone</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o719\">\n<a:ObjectID>E37B4C93-8839-4792-A41C-174666319BC6</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o720\">\n<a:ObjectID>26E55C30-24F2-46E9-8FB8-937189C88290</a:ObjectID>\n<a:Name>subscribe_time</a:Name>\n<a:Code>subscribe_time</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303306</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员订阅时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o721\">\n<a:ObjectID>63E8BD65-5DC6-4E86-90D0-81644C960C3A</a:ObjectID>\n<a:Name>send_time</a:Name>\n<a:Code>send_time</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o722\">\n<a:ObjectID>F5CEFAF5-C8E0-41B0-8893-07DF42A1591B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522303118</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303152</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o715\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o722\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o278\">\n<a:ObjectID>284E46B4-B9CC-41C1-B331-6F43782ADCC3</a:ObjectID>\n<a:Name>ums_admin</a:Name>\n<a:Code>ums_admin</a:Code>\n<a:CreationDate>1522303730</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200957</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o723\">\n<a:ObjectID>6D584959-4514-4CEC-A0D4-785E46D1A943</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303915</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o724\">\n<a:ObjectID>C69E81B8-3A8A-4F1C-AD79-05187FCF35D3</a:ObjectID>\n<a:Name>username</a:Name>\n<a:Code>username</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199970</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o725\">\n<a:ObjectID>7EB23336-7D63-4C02-AD85-17DA3DC93E6A</a:ObjectID>\n<a:Name>password</a:Name>\n<a:Code>password</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>密码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o726\">\n<a:ObjectID>FD9B4CBF-DDF3-4CC8-BD69-15221A3E52A8</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303910</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>头像</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o727\">\n<a:ObjectID>68129CD9-A241-453D-9223-FB146806D646</a:ObjectID>\n<a:Name>email</a:Name>\n<a:Code>email</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199986</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>邮箱</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o728\">\n<a:ObjectID>5722E92D-6F67-43AA-B480-756C0DC91BDE</a:ObjectID>\n<a:Name>nick_name</a:Name>\n<a:Code>nick_name</a:Code>\n<a:CreationDate>1538199900</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199929</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>昵称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o729\">\n<a:ObjectID>FF0D16AA-77D3-4829-B8E2-9831244DE3B9</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1538199923</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200014</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注信息</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o730\">\n<a:ObjectID>AFA0423A-C6BD-424F-B7DB-85D9635EB5A6</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1538200009</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200107</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o731\">\n<a:ObjectID>8CBC1229-E6C7-4EB9-B50D-E765E651E3F4</a:ObjectID>\n<a:Name>login_time</a:Name>\n<a:Code>login_time</a:Code>\n<a:CreationDate>1538200009</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200119</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>最后登录时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o732\">\n<a:ObjectID>63B04D92-8CF8-40F0-855D-272C2976729F</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1538200789</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200890</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帐号启用状态：0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DefaultValue>1</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o733\">\n<a:ObjectID>DC1A590C-BB4F-430C-A34E-014AEC5844D1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303905</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o723\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o733\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o279\">\n<a:ObjectID>DC20F109-83F4-4E8A-B2CF-299453506A86</a:ObjectID>\n<a:Name>ums_admin_login_log</a:Name>\n<a:Code>ums_admin_login_log</a:Code>\n<a:CreationDate>1522303928</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304178</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户登录日志表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o734\">\n<a:ObjectID>8F7618DF-D0CA-48C3-9E4F-CBAA9A41A69B</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522303929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303971</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o735\">\n<a:ObjectID>C8AEFA16-C796-4CED-902C-21EA9F55C75C</a:ObjectID>\n<a:Name>admin_id</a:Name>\n<a:Code>admin_id</a:Code>\n<a:CreationDate>1522304178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304187</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o736\">\n<a:ObjectID>B535BE06-4C99-4645-9B42-D984356CF2FF</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o737\">\n<a:ObjectID>6236706F-C5E9-44A6-8BC2-FE0D2F8C8476</a:ObjectID>\n<a:Name>ip</a:Name>\n<a:Code>ip</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o738\">\n<a:ObjectID>9E05D212-E28A-463B-9F1D-87FD83F90421</a:ObjectID>\n<a:Name>address</a:Name>\n<a:Code>address</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o739\">\n<a:ObjectID>D481AC77-5DC7-490F-856C-C3676F9407AA</a:ObjectID>\n<a:Name>user_agent</a:Name>\n<a:Code>user_agent</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304158</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>浏览器登录类型</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o740\">\n<a:ObjectID>127CDB1B-576E-4CE4-B977-681E887F8EEE</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522303929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303968</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o734\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o740\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o280\">\n<a:ObjectID>A6C67972-0C12-4876-8087-2E48F9028CA7</a:ObjectID>\n<a:Name>ums_member_level</a:Name>\n<a:Code>ums_member_level</a:Code>\n<a:CreationDate>1522379808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员等级表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o741\">\n<a:ObjectID>129583EA-DC62-4E57-AEF8-FCA2A4DD3BD4</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522379810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o742\">\n<a:ObjectID>4D12F464-1BC3-4D75-9BF6-AB23F4899E9B</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522379831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522379896</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o743\">\n<a:ObjectID>38041EA5-676A-4D2B-931F-8158FDA8CB48</a:ObjectID>\n<a:Name>growth_point</a:Name>\n<a:Code>growth_point</a:Code>\n<a:CreationDate>1522379831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522379896</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o744\">\n<a:ObjectID>63E410FA-E2CC-41F9-9FE9-9272F61F19A1</a:ObjectID>\n<a:Name>default_status</a:Name>\n<a:Code>default_status</a:Code>\n<a:CreationDate>1522379896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522379987</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为默认等级：0-&gt;不是；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o745\">\n<a:ObjectID>4B60128E-FF93-4486-B758-081868324568</a:ObjectID>\n<a:Name>free_freight_point</a:Name>\n<a:Code>free_freight_point</a:Code>\n<a:CreationDate>1522379964</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380124</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>免运费标准</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o746\">\n<a:ObjectID>9A810F9D-3942-417E-9057-39A71284BEB1</a:ObjectID>\n<a:Name>comment_growth_point</a:Name>\n<a:Code>comment_growth_point</a:Code>\n<a:CreationDate>1522380184</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380212</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每次评价获取的成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o747\">\n<a:ObjectID>437D93E8-BC05-48F4-9103-AAADEC2F18B3</a:ObjectID>\n<a:Name>priviledge_free_freight</a:Name>\n<a:Code>priviledge_free_freight</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380558</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有免邮特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o748\">\n<a:ObjectID>4ACB8B0D-322B-4240-994A-BF76A866C4C1</a:ObjectID>\n<a:Name>priviledge_sign_in</a:Name>\n<a:Code>priviledge_sign_in</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380566</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有签到特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o749\">\n<a:ObjectID>76160658-2A87-4D99-8A9E-9F2CA2752530</a:ObjectID>\n<a:Name>priviledge_comment</a:Name>\n<a:Code>priviledge_comment</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380592</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有评论获奖励特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o750\">\n<a:ObjectID>4BFAE1D1-5395-4502-BA29-FD53E5C998FF</a:ObjectID>\n<a:Name>priviledge_promotion</a:Name>\n<a:Code>priviledge_promotion</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380617</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有专享活动特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o751\">\n<a:ObjectID>4D408989-5456-40D8-AEEE-9E1E14564E6A</a:ObjectID>\n<a:Name>priviledge_member_price</a:Name>\n<a:Code>priviledge_member_price</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747697</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有会员价格特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o752\">\n<a:ObjectID>3C4297F8-BFE4-42AC-8967-1627A0EB62AE</a:ObjectID>\n<a:Name>priviledge_birthday</a:Name>\n<a:Code>priviledge_birthday</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380640</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有生日特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o753\">\n<a:ObjectID>CD9D3466-6A59-4BD3-B7BC-8B3478EDA73B</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522386815</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386830</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o754\">\n<a:ObjectID>E6F6D42A-97D4-4207-B966-0BBD47776D79</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522379810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o741\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o754\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o281\">\n<a:ObjectID>31084C7B-4E3D-4630-A484-B457DFC84069</a:ObjectID>\n<a:Name>ums_member_product_category_relation</a:Name>\n<a:Code>ums_member_product_category_relation</a:Code>\n<a:CreationDate>1522387387</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387526</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员与产品分类关系表（用户喜欢的分类）</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o755\">\n<a:ObjectID>9F3E472B-AE33-4C2A-BC75-F7EF6CD3F295</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522387388</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387447</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o756\">\n<a:ObjectID>CF33591F-94A0-4ECB-A19E-1FCDECAEFB2B</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522387461</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o757\">\n<a:ObjectID>26A81B95-6339-4F97-9FD9-7A9343D8FC3C</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1522387526</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387541</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o758\">\n<a:ObjectID>319FB1F7-17E2-404B-8A53-1D83019DBED4</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522387388</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387444</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o755\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o758\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o282\">\n<a:ObjectID>94C05B4D-0F20-4449-8EC4-52604C753834</a:ObjectID>\n<a:Name>ums_member_statistics_info</a:Name>\n<a:Code>ums_member_statistics_info</a:Code>\n<a:CreationDate>1522387906</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390765</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员统计信息</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o759\">\n<a:ObjectID>6B92C176-B80A-42DF-913D-4B9F276C8DEE</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522387936</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391425</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o760\">\n<a:ObjectID>D357658D-303B-4EF3-AC8E-E97A22EB9F28</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522389232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391425</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o761\">\n<a:ObjectID>854439C2-AEFC-4DBE-B9F0-26F768FACD07</a:ObjectID>\n<a:Name>consume_amount</a:Name>\n<a:Code>consume_amount</a:Code>\n<a:CreationDate>1522387970</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388137</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>累计消费金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o762\">\n<a:ObjectID>6F0A7AA7-4899-4BD7-B041-449A73F83B50</a:ObjectID>\n<a:Name>order_count</a:Name>\n<a:Code>order_count</a:Code>\n<a:CreationDate>1522388177</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388194</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o763\">\n<a:ObjectID>03C07BA1-E675-412B-AE21-FC427A919156</a:ObjectID>\n<a:Name>coupon_count</a:Name>\n<a:Code>coupon_count</a:Code>\n<a:CreationDate>1522388366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388384</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o764\">\n<a:ObjectID>40B971A2-E3E9-4987-9B21-2455EF702FA4</a:ObjectID>\n<a:Name>comment_count</a:Name>\n<a:Code>comment_count</a:Code>\n<a:CreationDate>1522388395</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388414</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o765\">\n<a:ObjectID>285C0BDD-D3D2-4715-969F-3F04972A9216</a:ObjectID>\n<a:Name>return_order_count</a:Name>\n<a:Code>return_order_count</a:Code>\n<a:CreationDate>1522388791</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388810</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o766\">\n<a:ObjectID>D44D9C8E-834B-49C2-A487-19243A6B75C7</a:ObjectID>\n<a:Name>login_count</a:Name>\n<a:Code>login_count</a:Code>\n<a:CreationDate>1522388804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388842</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>登录次数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o767\">\n<a:ObjectID>A6954A96-3E39-412D-8648-6420D1DE69A8</a:ObjectID>\n<a:Name>attend_count</a:Name>\n<a:Code>attend_count</a:Code>\n<a:CreationDate>1522388885</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>关注数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o768\">\n<a:ObjectID>801A9777-A84E-455D-87DB-CB5F223BEC40</a:ObjectID>\n<a:Name>fans_count</a:Name>\n<a:Code>fans_count</a:Code>\n<a:CreationDate>1522388904</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388949</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>粉丝数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o769\">\n<a:ObjectID>E7A5B7B0-3561-4149-A49A-F8130558ABBD</a:ObjectID>\n<a:Name>collect_product_count</a:Name>\n<a:Code>collect_product_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o770\">\n<a:ObjectID>5E257B18-EF0C-4C89-941D-78783C0D17DF</a:ObjectID>\n<a:Name>collect_subject_count</a:Name>\n<a:Code>collect_subject_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o771\">\n<a:ObjectID>37323B30-236A-4CAE-B7E5-AE3A5F527ABA</a:ObjectID>\n<a:Name>collect_topic_count</a:Name>\n<a:Code>collect_topic_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o772\">\n<a:ObjectID>186B8DCF-6580-4D89-AA2B-89333527FCD6</a:ObjectID>\n<a:Name>collect_comment_count</a:Name>\n<a:Code>collect_comment_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o773\">\n<a:ObjectID>29465239-85D6-4029-B631-809C1AC7F1FB</a:ObjectID>\n<a:Name>invite_friend_count</a:Name>\n<a:Code>invite_friend_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389309</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o774\">\n<a:ObjectID>C133A420-C28D-4442-B747-9CFEA1E2FA2A</a:ObjectID>\n<a:Name>recent_order_time</a:Name>\n<a:Code>recent_order_time</a:Code>\n<a:CreationDate>1522390747</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390773</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>最后一次下订单时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o775\">\n<a:ObjectID>920005AF-C54B-4D67-9D61-7A15D96EC34D</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522387936</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387970</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o759\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o775\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o283\">\n<a:ObjectID>C1C1114F-DE94-4DF6-80DD-7A8210AC0D1B</a:ObjectID>\n<a:Name>ums_member_receive_address</a:Name>\n<a:Code>ums_member_receive_address</a:Code>\n<a:CreationDate>1522390106</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员收货地址表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o776\">\n<a:ObjectID>98B61DFE-761A-4910-A45C-89DE44A801BD</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390428</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o777\">\n<a:ObjectID>817400C5-8063-4373-9F89-F52F0AA9E815</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522390434</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o778\">\n<a:ObjectID>AFF04439-EC58-4338-8228-623D8193B384</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390245</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o779\">\n<a:ObjectID>0CDFE5D1-E06C-466F-B066-F6FFC0FC0873</a:ObjectID>\n<a:Name>phone_number</a:Name>\n<a:Code>phone_number</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390221</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o780\">\n<a:ObjectID>2D383AAE-D002-480B-B081-4ABB9A0FE45F</a:ObjectID>\n<a:Name>default_status</a:Name>\n<a:Code>default_status</a:Code>\n<a:CreationDate>1522390286</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390346</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为默认</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o781\">\n<a:ObjectID>013038D3-3265-4B47-AA73-C893A6006BD8</a:ObjectID>\n<a:Name>post_code</a:Name>\n<a:Code>post_code</a:Code>\n<a:CreationDate>1522390221</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390293</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>邮政编码</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o782\">\n<a:ObjectID>214E7869-4680-4DDC-A4AF-611BDB9DB594</a:ObjectID>\n<a:Name>province</a:Name>\n<a:Code>province</a:Code>\n<a:CreationDate>1535436971</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437029</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>省份/直辖市</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o783\">\n<a:ObjectID>B014298F-01AD-4171-9D9F-916D27574AB6</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1535436971</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437115</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>城市</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o784\">\n<a:ObjectID>106C677E-A9B6-40ED-A992-CD0CADF4BFFF</a:ObjectID>\n<a:Name>region</a:Name>\n<a:Code>region</a:Code>\n<a:CreationDate>1535437026</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437123</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>区</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o785\">\n<a:ObjectID>4EDEC710-4328-4BF8-BCCC-EA8EAAA48FF1</a:ObjectID>\n<a:Name>detail_address</a:Name>\n<a:Code>detail_address</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535436990</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>详细地址(街道)</a:Comment>\n<a:DataType>varchar(128)</a:DataType>\n<a:Length>128</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o786\">\n<a:ObjectID>DF83812C-9AB1-43B1-9C66-06DDD339917E</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522390409</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390420</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o776\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o786\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o284\">\n<a:ObjectID>202E7837-16F9-471E-8D27-BADDF8ABC40F</a:ObjectID>\n<a:Name>ums_member_login_log</a:Name>\n<a:Code>ums_member_login_log</a:Code>\n<a:CreationDate>1522390511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747822</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员登录记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o787\">\n<a:ObjectID>4B9B3F0B-970F-4BD2-ADA9-9B5AF12CB5AB</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522390513</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390660</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o788\">\n<a:ObjectID>96996021-E445-4698-B1A6-42E723CA01EF</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522390644</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391446</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o789\">\n<a:ObjectID>D5AD4C5C-E858-4BA3-8DB3-741A4D6D780C</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747822</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o790\">\n<a:ObjectID>EA660841-B4C3-4D58-BA70-765F688BBFB9</a:ObjectID>\n<a:Name>ip</a:Name>\n<a:Code>ip</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390603</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o791\">\n<a:ObjectID>4129F50F-3EB2-402A-8239-25FB68B06BE1</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390603</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o792\">\n<a:ObjectID>9C080457-2FBF-4EEA-B7DF-B465681C679C</a:ObjectID>\n<a:Name>login_type</a:Name>\n<a:Code>login_type</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390637</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>登录类型：0-&gt;PC；1-&gt;android;2-&gt;ios;3-&gt;小程序</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o793\">\n<a:ObjectID>026D0B9F-44F5-4302-8766-551E0CBA48E2</a:ObjectID>\n<a:Name>province</a:Name>\n<a:Code>province</a:Code>\n<a:CreationDate>1522747786</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747822</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o794\">\n<a:ObjectID>EC511DBF-DA00-49B0-9DD3-AE6E4E18496A</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522390513</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390531</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o787\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o794\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o285\">\n<a:ObjectID>2A13105F-B4ED-4672-A401-CDDE4B9CE410</a:ObjectID>\n<a:Name>ums_member_tag</a:Name>\n<a:Code>ums_member_tag</a:Code>\n<a:CreationDate>1522390830</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391227</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户标签表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o795\">\n<a:ObjectID>438F1497-2B84-4368-AE85-9E1806F36FC9</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522390831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390857</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o796\">\n<a:ObjectID>96FB084C-E214-4481-95FD-52FF9AF5C1FA</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522390831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391227</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o797\">\n<a:ObjectID>C727F26A-5CFA-4C30-9EE3-A5F87998DE9E</a:ObjectID>\n<a:Name>finish_order_count</a:Name>\n<a:Code>finish_order_count</a:Code>\n<a:CreationDate>1522390854</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动打标签完成订单数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o798\">\n<a:ObjectID>148613FB-7BCE-4145-B955-B0077E630B6E</a:ObjectID>\n<a:Name>finish_order_amount</a:Name>\n<a:Code>finish_order_amount</a:Code>\n<a:CreationDate>1522390854</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391246</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动打标签完成订单金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o799\">\n<a:ObjectID>02E5405B-3466-42C6-B07B-090E17D190BA</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522390831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390854</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o795\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o799\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o286\">\n<a:ObjectID>2D7B72D8-D25F-4A09-B4FA-16D2CEC9752A</a:ObjectID>\n<a:Name>ums_member_member_tag_relation</a:Name>\n<a:Code>ums_member_member_tag_relation</a:Code>\n<a:CreationDate>1522391304</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户和标签关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o800\">\n<a:ObjectID>BB1BD091-E5C8-4C12-8A9A-C2ADC962E7E5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522391305</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o801\">\n<a:ObjectID>854EDA6D-D3FB-4AFF-92AD-1FDF1DC32E1E</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522391366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o802\">\n<a:ObjectID>89D08954-C6F1-4B1F-8BAE-E19BDF39DE08</a:ObjectID>\n<a:Name>tag_id</a:Name>\n<a:Code>tag_id</a:Code>\n<a:CreationDate>1522391379</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o803\">\n<a:ObjectID>AEBACA14-2E96-4718-ACE9-C6F76721B8E8</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522391305</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o800\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o803\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o287\">\n<a:ObjectID>58F43871-0D7C-4478-9A1B-43102436A177</a:ObjectID>\n<a:Name>ums_integration_change_history</a:Name>\n<a:Code>ums_integration_change_history</a:Code>\n<a:CreationDate>1522396385</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396758</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分变化历史记录表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o804\">\n<a:ObjectID>457FA52E-BCCD-40B6-9595-2597CD6C75E2</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396494</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o805\">\n<a:ObjectID>9964C6D5-F7BD-40FB-957B-7A66DFF172A4</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522396648</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396659</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o806\">\n<a:ObjectID>BCF4B5AF-DEA0-4D46-8A23-E5348BF281C8</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396534</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o807\">\n<a:ObjectID>52CE81B5-6BDF-40F0-97BA-2DC303583FF4</a:ObjectID>\n<a:Name>change_type</a:Name>\n<a:Code>change_type</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396606</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>改变类型：0-&gt;增加；1-&gt;减少</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o808\">\n<a:ObjectID>6D9BAE2A-F62A-4DA0-B9B4-AD3695E3ADEC</a:ObjectID>\n<a:Name>change_count</a:Name>\n<a:Code>change_count</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396606</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分改变数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o809\">\n<a:ObjectID>E63C6C7E-249C-4653-AF54-3DF677FF8B65</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1522396534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396612</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o810\">\n<a:ObjectID>079B7A28-0F20-4439-934B-AC8ABA31B76A</a:ObjectID>\n<a:Name>operate_note</a:Name>\n<a:Code>operate_note</a:Code>\n<a:CreationDate>1522396606</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396638</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作备注</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o811\">\n<a:ObjectID>A51DAFDF-D7E9-403D-A31F-7341E809448F</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522396738</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396780</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分来源：0-&gt;购物；1-&gt;管理员修改</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o812\">\n<a:ObjectID>A0C0BBC3-CBCB-4FD0-A047-91D827AFA920</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396491</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o804\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o812\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o288\">\n<a:ObjectID>DDBBBFBE-DCB3-4F92-A291-19A1F5767709</a:ObjectID>\n<a:Name>ums_growth_change_history</a:Name>\n<a:Code>ums_growth_change_history</a:Code>\n<a:CreationDate>1522396385</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>成长值变化历史记录表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o813\">\n<a:ObjectID>0161A828-441F-4CAB-90F0-2FC4EF6A6B3F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o814\">\n<a:ObjectID>B546E2F7-48AB-4A7C-A4A0-28A667D75391</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522396864</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396878</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o815\">\n<a:ObjectID>D33F598C-18B5-4DF4-8326-FF7328B10F00</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o816\">\n<a:ObjectID>A0377031-7298-442C-B4DF-94C554828629</a:ObjectID>\n<a:Name>change_type</a:Name>\n<a:Code>change_type</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>改变类型：0-&gt;增加；1-&gt;减少</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o817\">\n<a:ObjectID>0EF45C85-5160-4E92-A3A6-C4B546D93214</a:ObjectID>\n<a:Name>change_count</a:Name>\n<a:Code>change_count</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分改变数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o818\">\n<a:ObjectID>4893755C-D937-4D36-9611-B9AD46A57BAA</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1522396534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o819\">\n<a:ObjectID>6CA349B8-491B-4E27-880E-D83491AB7849</a:ObjectID>\n<a:Name>operate_note</a:Name>\n<a:Code>operate_note</a:Code>\n<a:CreationDate>1522396606</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作备注</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o820\">\n<a:ObjectID>52268506-CE01-481B-ABD3-F84E4E9758C9</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522396738</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分来源：0-&gt;购物；1-&gt;管理员修改</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o821\">\n<a:ObjectID>2BAA5513-B2CF-4B60-A990-6319EB2671C4</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o813\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o821\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o290\">\n<a:ObjectID>D2D961A9-BB8B-41D8-A501-1AF511F65DF9</a:ObjectID>\n<a:Name>ums_member_task</a:Name>\n<a:Code>ums_member_task</a:Code>\n<a:CreationDate>1522397182</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397290</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员任务表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o822\">\n<a:ObjectID>56B17C0E-8FBA-4594-8C45-1FF6469A7159</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522397183</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397211</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o823\">\n<a:ObjectID>65D902D3-95D4-4540-BC18-F384B3710D83</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397290</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o824\">\n<a:ObjectID>20EF2EF9-E621-4652-B334-862949676CA3</a:ObjectID>\n<a:Name>growth</a:Name>\n<a:Code>growth</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397322</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o825\">\n<a:ObjectID>55E587FF-CF0D-45D0-B63D-171E313D0FEB</a:ObjectID>\n<a:Name>intergration</a:Name>\n<a:Code>intergration</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397329</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o826\">\n<a:ObjectID>6878B9A3-18D2-4405-97D4-B3BE49EBA993</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397312</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>任务类型：0-&gt;新手任务；1-&gt;日常任务</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o827\">\n<a:ObjectID>EA426689-78F7-40C2-B520-83BA9FCC54D1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522397183</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397207</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o822\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o827\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o292\">\n<a:ObjectID>9E564377-D9BE-4655-AC2E-13B0FD5CAF22</a:ObjectID>\n<a:Name>ums_member_rule_setting</a:Name>\n<a:Code>ums_member_rule_setting</a:Code>\n<a:CreationDate>1522397511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397900</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员积分成长规则表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o828\">\n<a:ObjectID>125CFE60-6A33-4680-B726-FC5E68082C98</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522397511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397554</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o829\">\n<a:ObjectID>38E3DC37-0559-41F6-84C0-3F5C43C48FF0</a:ObjectID>\n<a:Name>continue_sign_day</a:Name>\n<a:Code>continue_sign_day</a:Code>\n<a:CreationDate>1522397551</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397634</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>连续签到天数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o830\">\n<a:ObjectID>9508FDB7-6018-4E59-A007-49274C4627DC</a:ObjectID>\n<a:Name>continue_sign_point</a:Name>\n<a:Code>continue_sign_point</a:Code>\n<a:CreationDate>1522397620</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397799</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>连续签到赠送数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o831\">\n<a:ObjectID>2D67D7C4-242F-4287-AE03-819499C5EEE9</a:ObjectID>\n<a:Name>consume_per_point</a:Name>\n<a:Code>consume_per_point</a:Code>\n<a:CreationDate>1522397671</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397900</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每消费多少元获取1个点</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o832\">\n<a:ObjectID>3099A480-47E9-45F0-9183-7884D0C8B799</a:ObjectID>\n<a:Name>low_order_amount</a:Name>\n<a:Code>low_order_amount</a:Code>\n<a:CreationDate>1522397671</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397933</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>最低获取点数的订单金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o833\">\n<a:ObjectID>10ECB92A-03AE-4EC0-9F92-D4693B754400</a:ObjectID>\n<a:Name>max_point_per_order</a:Name>\n<a:Code>max_point_per_order</a:Code>\n<a:CreationDate>1522397799</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397949</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每笔订单最高获取点数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o834\">\n<a:ObjectID>BBA261DE-035F-41ED-96F8-64CF61B19EB8</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522397799</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397970</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>类型：0-&gt;积分规则；1-&gt;成长值规则</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o835\">\n<a:ObjectID>B72372E9-CEF8-4759-A874-B60E418F73DE</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522397511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397551</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o828\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o835\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o294\">\n<a:ObjectID>C1DCA2EA-AC28-420C-BFEF-FFE7F5644910</a:ObjectID>\n<a:Name>ums_integration_consume_setting</a:Name>\n<a:Code>ums_integration_consume_setting</a:Code>\n<a:CreationDate>1522398032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535615091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分消费设置</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o836\">\n<a:ObjectID>5A65A4E0-C798-494B-89AA-899A5FE7ECC3</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522398033</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398074</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o837\">\n<a:ObjectID>E5B7DEEB-C659-43D6-A649-4A7AA6BA968A</a:ObjectID>\n<a:Name>deduction_per_amount</a:Name>\n<a:Code>deduction_per_amount</a:Code>\n<a:CreationDate>1522398071</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398169</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每一元需要抵扣的积分数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o838\">\n<a:ObjectID>3F3EBC7E-C661-4BF6-9748-A63740946E37</a:ObjectID>\n<a:Name>max_percent_per_order</a:Name>\n<a:Code>max_percent_per_order</a:Code>\n<a:CreationDate>1522398150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398207</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每笔订单最高抵用百分比</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o839\">\n<a:ObjectID>A51ACE1C-D2CC-4935-AEEE-392472F47BA1</a:ObjectID>\n<a:Name>use_unit</a:Name>\n<a:Code>use_unit</a:Code>\n<a:CreationDate>1522398194</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398281</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每次使用积分最小单位100</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o840\">\n<a:ObjectID>381B38BC-D7D6-44F6-8E9A-7EC3ED2D96C3</a:ObjectID>\n<a:Name>coupon_status</a:Name>\n<a:Code>coupon_status</a:Code>\n<a:CreationDate>1522398253</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398330</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否可以和优惠券同用；0-&gt;不可以；1-&gt;可以</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o841\">\n<a:ObjectID>E57C57B8-9833-47BB-905A-F54F0A5010DA</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522398033</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398071</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o836\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o841\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o295\">\n<a:ObjectID>9FDE9178-BEB4-4D80-8DFE-245B7FA5954D</a:ObjectID>\n<a:Name>oms_order</a:Name>\n<a:Code>oms_order</a:Code>\n<a:CreationDate>1522658325</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o842\">\n<a:ObjectID>3563269E-6EED-49DE-AC40-20CDE76A70F7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522658326</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o843\">\n<a:ObjectID>1BFDD362-9A3F-4A39-A46A-988EFE0700F4</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522659209</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o844\">\n<a:ObjectID>7A1BB5A1-6ACE-4259-9D2F-A11D74465729</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522724329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724373</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o845\">\n<a:ObjectID>190337D5-DBCF-44C7-8E8F-60BA716C7D73</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1522658365</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658432</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单编号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o846\">\n<a:ObjectID>42DE6A32-DB28-4441-9D31-43954E2B32F8</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522658421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658633</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>提交时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o847\">\n<a:ObjectID>B66D00FB-2706-4456-9C8D-5BE63900E843</a:ObjectID>\n<a:Name>member_username</a:Name>\n<a:Code>member_username</a:Code>\n<a:CreationDate>1522658628</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658689</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户帐号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o848\">\n<a:ObjectID>93AF6B00-CE9F-4E65-852A-21DF3E8E38D3</a:ObjectID>\n<a:Name>total_amount</a:Name>\n<a:Code>total_amount</a:Code>\n<a:CreationDate>1522658628</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723559</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单总金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o849\">\n<a:ObjectID>AA07B22F-DFD0-4443-B124-4E7A948B8F1A</a:ObjectID>\n<a:Name>pay_amount</a:Name>\n<a:Code>pay_amount</a:Code>\n<a:CreationDate>1535611784</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535611836</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>应付金额（实际支付金额）</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o850\">\n<a:ObjectID>93484605-04CB-4451-BA1C-1D43843E1FE8</a:ObjectID>\n<a:Name>freight_amount</a:Name>\n<a:Code>freight_amount</a:Code>\n<a:CreationDate>1522723575</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723610</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>运费金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o851\">\n<a:ObjectID>31D4C71F-D7FF-4C00-88F3-D1A8B195D948</a:ObjectID>\n<a:Name>promotion_amount</a:Name>\n<a:Code>promotion_amount</a:Code>\n<a:CreationDate>1522723762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723859</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销优化金额（促销价、满减、阶梯价）</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o852\">\n<a:ObjectID>2AC97908-B95C-4C45-AD78-5AEBD42D415E</a:ObjectID>\n<a:Name>integration_amount</a:Name>\n<a:Code>integration_amount</a:Code>\n<a:CreationDate>1522723873</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723942</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分抵扣金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o853\">\n<a:ObjectID>BDECF3D8-B85D-459A-9336-D298B11A129C</a:ObjectID>\n<a:Name>coupon_amount</a:Name>\n<a:Code>coupon_amount</a:Code>\n<a:CreationDate>1522724126</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724255</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券抵扣金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o854\">\n<a:ObjectID>570A30CB-E74E-4D54-A2F5-354511EEAD73</a:ObjectID>\n<a:Name>discount_amount</a:Name>\n<a:Code>discount_amount</a:Code>\n<a:CreationDate>1522724794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724828</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>管理员后台调整订单使用的折扣金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o855\">\n<a:ObjectID>2506F5AD-C896-45DA-B1A9-47A3F09F32A7</a:ObjectID>\n<a:Name>pay_type</a:Name>\n<a:Code>pay_type</a:Code>\n<a:CreationDate>1522658684</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>支付方式：0-&gt;未支付；1-&gt;支付宝；2-&gt;微信</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o856\">\n<a:ObjectID>1E796BD6-898E-4EDA-8ADE-A86D6305ED56</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522658832</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658869</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单来源：0-&gt;PC订单；1-&gt;app订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o857\">\n<a:ObjectID>EBDE3354-1D7D-43AF-ADC1-D73233AF9967</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522658850</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659024</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单状态：0-&gt;待付款；1-&gt;待发货；2-&gt;已发货；3-&gt;已完成；4-&gt;已关闭；5-&gt;无效订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o858\">\n<a:ObjectID>17C117FA-5488-480A-98AD-35E18E6B084D</a:ObjectID>\n<a:Name>order_type</a:Name>\n<a:Code>order_type</a:Code>\n<a:CreationDate>1522658951</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659122</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单类型：0-&gt;正常订单；1-&gt;秒杀订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o859\">\n<a:ObjectID>61822C95-27AC-4143-8C5F-CDE6DFE15B2C</a:ObjectID>\n<a:Name>delivery_company</a:Name>\n<a:Code>delivery_company</a:Code>\n<a:CreationDate>1522659709</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725481</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>物流公司(配送方式)</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o860\">\n<a:ObjectID>91DA7F9F-8F28-4D16-8A89-1379C5141304</a:ObjectID>\n<a:Name>delivery_sn</a:Name>\n<a:Code>delivery_sn</a:Code>\n<a:CreationDate>1522659876</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659902</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>物流单号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o861\">\n<a:ObjectID>ACB792D2-4ED5-47EE-BAFD-C389DAAA07E3</a:ObjectID>\n<a:Name>auto_confirm_day</a:Name>\n<a:Code>auto_confirm_day</a:Code>\n<a:CreationDate>1522659893</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659955</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动确认时间（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o862\">\n<a:ObjectID>C142CF56-1ED7-4D71-95DF-9F114248A7BC</a:ObjectID>\n<a:Name>integration</a:Name>\n<a:Code>integration</a:Code>\n<a:CreationDate>1522660001</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660021</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可以获得的积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o863\">\n<a:ObjectID>EA968274-2B27-4C3C-9565-619251E927BA</a:ObjectID>\n<a:Name>growth</a:Name>\n<a:Code>growth</a:Code>\n<a:CreationDate>1522660001</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660081</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可以活动的成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o864\">\n<a:ObjectID>B8CC6F72-DB4E-4A81-9D94-16B7AE9470A1</a:ObjectID>\n<a:Name>promotion_info</a:Name>\n<a:Code>promotion_info</a:Code>\n<a:CreationDate>1522660053</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>活动信息</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o865\">\n<a:ObjectID>BBE7BE20-0F91-48B2-96EA-7852ACCE40D1</a:ObjectID>\n<a:Name>bill_type</a:Name>\n<a:Code>bill_type</a:Code>\n<a:CreationDate>1522660081</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660200</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发票类型：0-&gt;不开发票；1-&gt;电子发票；2-&gt;纸质发票</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o866\">\n<a:ObjectID>5A0811A5-51AF-47C2-A7F8-A2909F856961</a:ObjectID>\n<a:Name>bill_header</a:Name>\n<a:Code>bill_header</a:Code>\n<a:CreationDate>1522660171</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660226</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发票抬头</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o867\">\n<a:ObjectID>B0E18290-D990-4622-B718-71A7113E9480</a:ObjectID>\n<a:Name>bill_content</a:Name>\n<a:Code>bill_content</a:Code>\n<a:CreationDate>1522660220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660256</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发票内容</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o868\">\n<a:ObjectID>CE69C28B-C4BC-44AA-B3F2-30B6AD8390F8</a:ObjectID>\n<a:Name>bill_receiver_phone</a:Name>\n<a:Code>bill_receiver_phone</a:Code>\n<a:CreationDate>1522660252</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660326</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收票人电话</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o869\">\n<a:ObjectID>DB7AE7E6-2321-4C2C-8580-7AEB802EBE2C</a:ObjectID>\n<a:Name>bill_receiver_email</a:Name>\n<a:Code>bill_receiver_email</a:Code>\n<a:CreationDate>1522660252</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660344</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收票人邮箱</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o870\">\n<a:ObjectID>98B312FD-4E06-4D2B-AC6F-970B84E6C73F</a:ObjectID>\n<a:Name>receiver_name</a:Name>\n<a:Code>receiver_name</a:Code>\n<a:CreationDate>1522660318</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人姓名</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o871\">\n<a:ObjectID>1174D5FE-B8AE-49E7-A4D2-F947BFE08091</a:ObjectID>\n<a:Name>receiver_phone</a:Name>\n<a:Code>receiver_phone</a:Code>\n<a:CreationDate>1522660394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人电话</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o872\">\n<a:ObjectID>AA0D5272-63FA-45D9-8816-9D547B177F10</a:ObjectID>\n<a:Name>receiver_post_code</a:Name>\n<a:Code>receiver_post_code</a:Code>\n<a:CreationDate>1522660418</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660472</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人邮编</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o873\">\n<a:ObjectID>7E47519A-F397-40EF-A70D-4B26E116BD67</a:ObjectID>\n<a:Name>receiver_province</a:Name>\n<a:Code>receiver_province</a:Code>\n<a:CreationDate>1522660464</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660527</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>省份/直辖市</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o874\">\n<a:ObjectID>3218F635-7F7D-4A36-9BF2-E1C822053456</a:ObjectID>\n<a:Name>receiver_city</a:Name>\n<a:Code>receiver_city</a:Code>\n<a:CreationDate>1522660515</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660549</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>城市</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o875\">\n<a:ObjectID>8C3E74BC-0BCA-4E3F-A1F8-4C06D7192D4E</a:ObjectID>\n<a:Name>receiver_region</a:Name>\n<a:Code>receiver_region</a:Code>\n<a:CreationDate>1522660544</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660590</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>区</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o876\">\n<a:ObjectID>661DB749-D0D5-43E2-B96E-2444DA4DBA06</a:ObjectID>\n<a:Name>receiver_detail_address</a:Name>\n<a:Code>receiver_detail_address</a:Code>\n<a:CreationDate>1522660585</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>详细地址</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o877\">\n<a:ObjectID>F0169A36-508E-4CDA-8BD0-6077437C30DA</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522724892</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724915</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o878\">\n<a:ObjectID>735D23D8-B7B2-4474-A113-1ED7AAA6C9B8</a:ObjectID>\n<a:Name>confirm_status</a:Name>\n<a:Code>confirm_status</a:Code>\n<a:CreationDate>1522725950</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725999</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>确认收货状态：0-&gt;未确认；1-&gt;已确认</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o879\">\n<a:ObjectID>1D7E85F6-2738-40D2-A69D-1B55994F607A</a:ObjectID>\n<a:Name>delete_status</a:Name>\n<a:Code>delete_status</a:Code>\n<a:CreationDate>1535611815</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612418</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>删除状态：0-&gt;未删除；1-&gt;已删除</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0=\n{B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0=\n\n</a:ExtendedAttributesText>\n</o:Column>\n<o:Column Id=\"o880\">\n<a:ObjectID>F556C92B-2EE8-48AB-B431-CABDBE189320</a:ObjectID>\n<a:Name>use_integration</a:Name>\n<a:Code>use_integration</a:Code>\n<a:CreationDate>1536136197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1536136230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>下单时使用的积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o881\">\n<a:ObjectID>1D5BDFFC-6D63-44EA-8B7D-751C599A2A3A</a:ObjectID>\n<a:Name>payment_time</a:Name>\n<a:Code>payment_time</a:Code>\n<a:CreationDate>1539236189</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>支付时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o882\">\n<a:ObjectID>D2094CD3-0C14-476E-9267-60186CD40813</a:ObjectID>\n<a:Name>delivery_time</a:Name>\n<a:Code>delivery_time</a:Code>\n<a:CreationDate>1539236207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236252</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发货时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o883\">\n<a:ObjectID>70755468-D317-4803-9B06-3975443F82C3</a:ObjectID>\n<a:Name>receive_time</a:Name>\n<a:Code>receive_time</a:Code>\n<a:CreationDate>1539236247</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236359</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>确认收货时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o884\">\n<a:ObjectID>C9857D65-CC11-42E6-BE7C-03A1B181DCB4</a:ObjectID>\n<a:Name>comment_time</a:Name>\n<a:Code>comment_time</a:Code>\n<a:CreationDate>1539236349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236415</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o885\">\n<a:ObjectID>E2934ED3-7C35-4E4C-85C8-4554D6FED072</a:ObjectID>\n<a:Name>modify_time</a:Name>\n<a:Code>modify_time</a:Code>\n<a:CreationDate>1539236409</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236440</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>修改时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o886\">\n<a:ObjectID>F98BE405-9DED-4054-ABBF-40BD4672B58B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522658326</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o842\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o886\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o296\">\n<a:ObjectID>FDAAF085-F146-4ADE-919D-85D1DB4E61EE</a:ObjectID>\n<a:Name>oms_order_item</a:Name>\n<a:Code>oms_order_item</a:Code>\n<a:CreationDate>1522660695</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582621151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单中所包含的商品</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o887\">\n<a:ObjectID>C2ABF8A4-2DE7-4C17-8053-440A60BD8EE7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522660696</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660748</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o888\">\n<a:ObjectID>B1934126-97B4-461B-B2A8-D53CCF81245C</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1522660753</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660776</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o889\">\n<a:ObjectID>EA411763-23EA-4E27-97CD-1C0D5925157C</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1522660755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660781</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单编号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o890\">\n<a:ObjectID>DCF7D58B-AD64-48B0-9A65-4FDAE9A32DFB</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522660820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660829</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o891\">\n<a:ObjectID>7BDD65C2-224E-413D-AD83-437754569B1C</a:ObjectID>\n<a:Name>product_pic</a:Name>\n<a:Code>product_pic</a:Code>\n<a:CreationDate>1522719518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535696089</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o892\">\n<a:ObjectID>DFFC50EA-1E9A-4867-9EE8-B1A1B84E51E7</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522719518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522719560</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o893\">\n<a:ObjectID>68478EE9-703A-4DFD-A085-7B109BBF650D</a:ObjectID>\n<a:Name>product_brand</a:Name>\n<a:Code>product_brand</a:Code>\n<a:CreationDate>1522719571</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522719666</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o894\">\n<a:ObjectID>27623FBE-2491-4310-AA4E-D93F4AD59154</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1522719571</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522719666</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o895\">\n<a:ObjectID>A9EF8281-439D-4D05-BB45-E933E648D979</a:ObjectID>\n<a:Name>product_price</a:Name>\n<a:Code>product_price</a:Code>\n<a:CreationDate>1522719571</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694206</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>销售价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o896\">\n<a:ObjectID>015E8942-52BF-4342-9C4C-1230A266C1C9</a:ObjectID>\n<a:Name>product_quantity</a:Name>\n<a:Code>product_quantity</a:Code>\n<a:CreationDate>1522723168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694166</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购买数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o897\">\n<a:ObjectID>EE8FDF66-7853-4BCE-98D9-40ADC13CC78F</a:ObjectID>\n<a:Name>product_sku_id</a:Name>\n<a:Code>product_sku_id</a:Code>\n<a:CreationDate>1535693972</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694126</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品sku编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o898\">\n<a:ObjectID>B13B6661-62F2-461A-B375-7556D6DBE56D</a:ObjectID>\n<a:Name>product_sku_code</a:Name>\n<a:Code>product_sku_code</a:Code>\n<a:CreationDate>1535693972</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品sku条码</a:Comment>\n<a:DataType>varchar(50)</a:DataType>\n<a:Length>50</a:Length>\n</o:Column>\n<o:Column Id=\"o899\">\n<a:ObjectID>6B11B4F4-2F88-4DA2-A6C6-B5563F8AB67F</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1535938231</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535938276</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品分类id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o900\">\n<a:ObjectID>00A626D1-90DA-4262-8FFB-874691D67C3E</a:ObjectID>\n<a:Name>promotion_name</a:Name>\n<a:Code>promotion_name</a:Code>\n<a:CreationDate>1535694274</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694390</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品促销名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o901\">\n<a:ObjectID>FCD8E9C9-7C56-47F0-8FBB-5534EB9B8FDE</a:ObjectID>\n<a:Name>promotion_amount</a:Name>\n<a:Code>promotion_amount</a:Code>\n<a:CreationDate>1535694166</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694826</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品促销分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o902\">\n<a:ObjectID>073E4D15-F6EB-405D-9429-3A2FD362E949</a:ObjectID>\n<a:Name>coupon_amount</a:Name>\n<a:Code>coupon_amount</a:Code>\n<a:CreationDate>1535694274</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694877</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券优惠分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o903\">\n<a:ObjectID>B4781397-191A-42B9-AAF7-D96E7BC3449D</a:ObjectID>\n<a:Name>integration_amount</a:Name>\n<a:Code>integration_amount</a:Code>\n<a:CreationDate>1535694826</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694927</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分优惠分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o904\">\n<a:ObjectID>AD7CAE73-04BF-4BB8-BEFA-E0A7B94BF373</a:ObjectID>\n<a:Name>real_amount</a:Name>\n<a:Code>real_amount</a:Code>\n<a:CreationDate>1522724652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694701</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>该商品经过优惠后的分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o905\">\n<a:ObjectID>3FBC2AE3-3000-41C7-B78C-DB7AC7ABDC16</a:ObjectID>\n<a:Name>gift_integration</a:Name>\n<a:Code>gift_integration</a:Code>\n<a:CreationDate>1535964164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535964238</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品赠送积分</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o906\">\n<a:ObjectID>C7705A4E-64E8-44A3-B3BE-7A8762E73CFD</a:ObjectID>\n<a:Name>gift_growth</a:Name>\n<a:Code>gift_growth</a:Code>\n<a:CreationDate>1535964164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535964251</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品赠送成长值</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o907\">\n<a:ObjectID>07F49796-6B7C-4A44-BF17-6EF191BE819A</a:ObjectID>\n<a:Name>product_attr</a:Name>\n<a:Code>product_attr</a:Code>\n<a:CreationDate>1540542610</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1540542637</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性:[{&quot;key&quot;:&quot;颜色&quot;,&quot;value&quot;:&quot;颜色&quot;},{&quot;key&quot;:&quot;容量&quot;,&quot;value&quot;:&quot;4G&quot;}]</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o908\">\n<a:ObjectID>8B728C73-2ED3-4C44-8C64-95692A16EA10</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522660696</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660745</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o887\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o908\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o297\">\n<a:ObjectID>E184F9AC-F126-46D6-A8FF-5F95FBA2F74D</a:ObjectID>\n<a:Name>oms_order_operate_history</a:Name>\n<a:Code>oms_order_operate_history</a:Code>\n<a:CreationDate>1522724973</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单操作历史记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o909\">\n<a:ObjectID>46247D13-9B17-44EB-9300-7BA49AC214FB</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522724975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725013</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o910\">\n<a:ObjectID>CBAA2797-F782-492E-89D8-B87830B4FD86</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1522725331</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725342</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o911\">\n<a:ObjectID>B26D3031-3438-4CAB-BC93-2277F41D2F64</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1522725011</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725056</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人：用户；系统；后台管理员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o912\">\n<a:ObjectID>14B87125-FC24-4D09-982E-F43F618B6C3A</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522725037</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725076</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o913\">\n<a:ObjectID>296A8CF6-1BC8-46E1-846F-25114FF35EEB</a:ObjectID>\n<a:Name>order_status</a:Name>\n<a:Code>order_status</a:Code>\n<a:CreationDate>1522725072</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725298</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单状态：0-&gt;待付款；1-&gt;待发货；2-&gt;已发货；3-&gt;已完成；4-&gt;已关闭；5-&gt;无效订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o914\">\n<a:ObjectID>9F651D4E-088F-4735-ACAD-12ED16C49FDE</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522725292</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725326</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o915\">\n<a:ObjectID>50772925-29B2-4E77-A02B-5AB8C229953C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522724975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725011</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o909\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o915\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o299\">\n<a:ObjectID>A3448BD2-42B4-44EC-9BD2-9837B4DF8523</a:ObjectID>\n<a:Name>oms_order_setting</a:Name>\n<a:Code>oms_order_setting</a:Code>\n<a:CreationDate>1522726076</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522731991</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单设置表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o916\">\n<a:ObjectID>03B16432-ECCE-4698-B24A-05554E64C35C</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522726077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o917\">\n<a:ObjectID>AC98E6B7-ADDF-43AD-B2F0-6CFE7715E9F1</a:ObjectID>\n<a:Name>flash_order_overtime</a:Name>\n<a:Code>flash_order_overtime</a:Code>\n<a:CreationDate>1522726101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726218</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>秒杀订单超时关闭时间(分)</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o918\">\n<a:ObjectID>C4E474C5-194A-4B54-8DF1-F37B681DE42B</a:ObjectID>\n<a:Name>normal_order_overtime</a:Name>\n<a:Code>normal_order_overtime</a:Code>\n<a:CreationDate>1522726150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726226</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>正常订单超时时间(分)</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o919\">\n<a:ObjectID>773FEFCD-F4A3-4D9E-B061-10C12CA1B397</a:ObjectID>\n<a:Name>confirm_overtime</a:Name>\n<a:Code>confirm_overtime</a:Code>\n<a:CreationDate>1522726177</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发货后自动确认收货时间（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o920\">\n<a:ObjectID>DD5B89B8-5DC6-4EB1-B916-D76BD75CB0F5</a:ObjectID>\n<a:Name>finish_overtime</a:Name>\n<a:Code>finish_overtime</a:Code>\n<a:CreationDate>1522731908</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732014</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动完成交易时间，不能申请售后（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o921\">\n<a:ObjectID>D090D0ED-6A45-445C-ADE3-F1E18734F159</a:ObjectID>\n<a:Name>comment_overtime</a:Name>\n<a:Code>comment_overtime</a:Code>\n<a:CreationDate>1522731929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732004</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单完成后自动好评时间（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o922\">\n<a:ObjectID>7C2ADDA9-1584-4310-A3FE-7F1E18447823</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522726077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o916\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o922\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o300\">\n<a:ObjectID>5006E5DC-16F9-4C44-ABAA-2812B50757BB</a:ObjectID>\n<a:Name>oms_order_return_apply</a:Name>\n<a:Code>oms_order_return_apply</a:Code>\n<a:CreationDate>1522732897</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单退货申请</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o923\">\n<a:ObjectID>CF99B61C-D0E5-4EB4-BFC6-111A9F3D44E8</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522732898</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732943</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o924\">\n<a:ObjectID>A6E68B83-006A-468C-A461-C647705E038C</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1522733188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733198</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o925\">\n<a:ObjectID>8D1F23F9-09FD-416B-8E38-CFDE67721417</a:ObjectID>\n<a:Name>company_address_id</a:Name>\n<a:Code>company_address_id</a:Code>\n<a:CreationDate>1522745521</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745624</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货地址表id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o926\">\n<a:ObjectID>A6898418-67C2-4E9F-9093-6FF8782BD12F</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1539746524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746553</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货商品id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o927\">\n<a:ObjectID>56ACAE3C-5533-44A1-BA57-602058B6CEF2</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1522733452</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单编号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o928\">\n<a:ObjectID>F2C78E24-CDB0-4AA7-B6CD-21E55B380E95</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522732939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746482</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>申请时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o929\">\n<a:ObjectID>70FBE2CF-BE0D-44DD-8679-39DAA782E1A3</a:ObjectID>\n<a:Name>member_username</a:Name>\n<a:Code>member_username</a:Code>\n<a:CreationDate>1522732939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745698</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员用户名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o930\">\n<a:ObjectID>7B8A70B3-9FC9-4136-BEC9-D2DF393DB988</a:ObjectID>\n<a:Name>return_amount</a:Name>\n<a:Code>return_amount</a:Code>\n<a:CreationDate>1522732939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733013</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退款金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o931\">\n<a:ObjectID>4FB9898E-63E4-4B21-B577-504320D3D4F9</a:ObjectID>\n<a:Name>return_name</a:Name>\n<a:Code>return_name</a:Code>\n<a:CreationDate>1522733003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745642</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货人姓名</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o932\">\n<a:ObjectID>8ADCC57B-6CA5-4A89-8B5A-6283FE7B3DDF</a:ObjectID>\n<a:Name>return_phone</a:Name>\n<a:Code>return_phone</a:Code>\n<a:CreationDate>1522733468</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733653</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货人电话</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o933\">\n<a:ObjectID>F01CC8D2-508C-424D-BF17-AE42ABE28223</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522733003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733137</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>申请状态：0-&gt;待处理；1-&gt;退货中；2-&gt;已完成；3-&gt;已拒绝</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o934\">\n<a:ObjectID>65402A2F-A01C-4B4D-9F19-9ACD48637159</a:ObjectID>\n<a:Name>handle_time</a:Name>\n<a:Code>handle_time</a:Code>\n<a:CreationDate>1522733003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733179</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o935\">\n<a:ObjectID>AADBD0C8-E8CD-45D6-BDF4-13840EEFA26C</a:ObjectID>\n<a:Name>product_pic</a:Name>\n<a:Code>product_pic</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745750</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品图片</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o936\">\n<a:ObjectID>B4BB6015-3948-411C-9558-6CAF55CEF04C</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745756</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o937\">\n<a:ObjectID>D30E609F-3F5C-401C-8690-EEA47B0E6694</a:ObjectID>\n<a:Name>product_brand</a:Name>\n<a:Code>product_brand</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745719</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品品牌</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o938\">\n<a:ObjectID>86B4B2F7-9A36-47AC-A3DA-7F45FFF21639</a:ObjectID>\n<a:Name>product_attr</a:Name>\n<a:Code>product_attr</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733369</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性：颜色：红色；尺码：xl;</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o939\">\n<a:ObjectID>DE661909-8CDC-4C09-A0C1-5587F969523A</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522733332</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733395</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o940\">\n<a:ObjectID>B16F9E1E-749A-477B-B8E1-70B635CC8F00</a:ObjectID>\n<a:Name>product_price</a:Name>\n<a:Code>product_price</a:Code>\n<a:CreationDate>1539746095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746212</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品单价</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o941\">\n<a:ObjectID>442BB5FC-951A-43B5-94AD-B3C2E1C8F28F</a:ObjectID>\n<a:Name>product_real_price</a:Name>\n<a:Code>product_real_price</a:Code>\n<a:CreationDate>1539746095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746225</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品实际支付单价</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o942\">\n<a:ObjectID>B4DB3A15-7B0F-4C6D-B961-AF2C4CF14D50</a:ObjectID>\n<a:Name>reason</a:Name>\n<a:Code>reason</a:Code>\n<a:CreationDate>1522733512</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733657</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>原因</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o943\">\n<a:ObjectID>ECE8A578-4D6B-47EB-BB72-207D9BC93324</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522733512</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733663</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o944\">\n<a:ObjectID>E3C2C9CF-D72D-44AA-B1A3-5B5AC1950B63</a:ObjectID>\n<a:Name>proof_pics</a:Name>\n<a:Code>proof_pics</a:Code>\n<a:CreationDate>1522733653</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733740</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>凭证图片，以逗号隔开</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o945\">\n<a:ObjectID>B16F27C1-DFFA-40F1-83B5-F9DA3BB86FE6</a:ObjectID>\n<a:Name>handle_note</a:Name>\n<a:Code>handle_note</a:Code>\n<a:CreationDate>1522745027</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745078</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o946\">\n<a:ObjectID>B8982C29-EB0D-4F63-A047-DDEDC91A78C3</a:ObjectID>\n<a:Name>handle_man</a:Name>\n<a:Code>handle_man</a:Code>\n<a:CreationDate>1522745592</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745618</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理人员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o947\">\n<a:ObjectID>49E217E2-31BF-4F23-8125-62D5920E0B60</a:ObjectID>\n<a:Name>receive_man</a:Name>\n<a:Code>receive_man</a:Code>\n<a:CreationDate>1522745613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745658</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o948\">\n<a:ObjectID>8111E4F5-B8EA-4DCB-B899-A2E4921E6BC2</a:ObjectID>\n<a:Name>receive_time</a:Name>\n<a:Code>receive_time</a:Code>\n<a:CreationDate>1522745652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745779</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o949\">\n<a:ObjectID>4C802C73-FB19-4C09-84C3-37E152CA8299</a:ObjectID>\n<a:Name>receive_note</a:Name>\n<a:Code>receive_note</a:Code>\n<a:CreationDate>1522745652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745787</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o950\">\n<a:ObjectID>D06B934B-B63D-4DCC-B1C1-62F79744A8AC</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522732898</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732939</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o923\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o950\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o301\">\n<a:ObjectID>594B7799-023B-4DAF-840D-B224931CBA6C</a:ObjectID>\n<a:Name>oms_company_address</a:Name>\n<a:Code>oms_company_address</a:Code>\n<a:CreationDate>1522745162</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>公司收发货地址表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o951\">\n<a:ObjectID>F5A62BE4-F0B9-46C3-8591-5864BB83220D</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522745164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745194</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o952\">\n<a:ObjectID>359C7F83-8810-4F75-935C-8099B75676C6</a:ObjectID>\n<a:Name>address_name</a:Name>\n<a:Code>address_name</a:Code>\n<a:CreationDate>1522745192</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745253</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>地址名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o953\">\n<a:ObjectID>5AA8AC8B-9617-4A6F-B898-4206F7CE8169</a:ObjectID>\n<a:Name>send_status</a:Name>\n<a:Code>send_status</a:Code>\n<a:CreationDate>1522745248</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745302</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>默认发货地址：0-&gt;否；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o954\">\n<a:ObjectID>CDF1655B-32CC-4E54-BBE7-5F00549B7722</a:ObjectID>\n<a:Name>receive_status</a:Name>\n<a:Code>receive_status</a:Code>\n<a:CreationDate>1522745248</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745328</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否默认收货地址：0-&gt;否；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o955\">\n<a:ObjectID>F5195500-8663-482B-B587-27789546188C</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522745285</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收发货人姓名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o956\">\n<a:ObjectID>D51012F2-BECB-4E6B-A7E9-5B6AC06D9087</a:ObjectID>\n<a:Name>phone</a:Name>\n<a:Code>phone</a:Code>\n<a:CreationDate>1522745285</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人电话</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o957\">\n<a:ObjectID>3D2DC8D4-9D56-4E95-8266-052132761CDE</a:ObjectID>\n<a:Name>province</a:Name>\n<a:Code>province</a:Code>\n<a:CreationDate>1522745363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745209</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>省/直辖市</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o958\">\n<a:ObjectID>57267BF2-434D-4AEC-8E6B-DDCAA85233F7</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1522745363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745217</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>市</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o959\">\n<a:ObjectID>F1F15023-139B-4048-8D0C-C9C46884C6E9</a:ObjectID>\n<a:Name>region</a:Name>\n<a:Code>region</a:Code>\n<a:CreationDate>1522745363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745223</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>区</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o960\">\n<a:ObjectID>D3EA532D-AD33-45AF-BA17-1FE7D821EE64</a:ObjectID>\n<a:Name>detail_address</a:Name>\n<a:Code>detail_address</a:Code>\n<a:CreationDate>1539745108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745239</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>详细地址</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o961\">\n<a:ObjectID>9B8E57D5-D022-48D7-BA87-3214D2DAB1BD</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522745164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745192</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o951\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o961\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o303\">\n<a:ObjectID>3FB6BF2A-C836-4B1F-AA9B-4219F4ECBC6D</a:ObjectID>\n<a:Name>oms_order_return_reason</a:Name>\n<a:Code>oms_order_return_reason</a:Code>\n<a:CreationDate>1522745726</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539238788</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货原因表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o962\">\n<a:ObjectID>8398CF1C-2327-4762-B370-7F7BB681FBE8</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522745728</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o963\">\n<a:ObjectID>7C7CCC5E-FBE6-49A6-A428-95A8A078B4EA</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522745760</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745845</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货类型</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o964\">\n<a:ObjectID>0C284FC4-E892-4BFF-B0AC-AD9BCB8E39D2</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522745760</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o965\">\n<a:ObjectID>D0151FA2-84E3-4252-9565-766B748B7AD3</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522745760</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745824</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>状态：0-&gt;不启用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o966\">\n<a:ObjectID>A3F8C1D7-A495-4E99-885D-FC8FB1E5747C</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1539238773</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539238794</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>添加时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o967\">\n<a:ObjectID>F0009D1F-CC14-45AA-BDB7-F25CFBBFE380</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522745728</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o962\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o967\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o304\">\n<a:ObjectID>679BF191-40EF-4FC4-8140-D9DA8F283689</a:ObjectID>\n<a:Name>oms_cart_item</a:Name>\n<a:Code>oms_cart_item</a:Code>\n<a:CreationDate>1533108597</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582621132</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购物车表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o968\">\n<a:ObjectID>0496CCD8-F7CC-4DD4-AEE7-919D8EFCD676</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1533108649</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108729</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o969\">\n<a:ObjectID>BC6AB2CA-354D-447A-A466-54980B87F57F</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1533109970</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533110009</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o970\">\n<a:ObjectID>48241AB2-A6B4-48E5-A792-FAB72D97FD42</a:ObjectID>\n<a:Name>product_sku_id</a:Name>\n<a:Code>product_sku_id</a:Code>\n<a:CreationDate>1533115829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115861</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o971\">\n<a:ObjectID>70CEB9F6-7F7D-4AB1-BB9D-3667BA109C72</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1533115896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115923</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o972\">\n<a:ObjectID>8B8B68C0-7987-4E2B-9BAD-FF4F3428E03A</a:ObjectID>\n<a:Name>quantity</a:Name>\n<a:Code>quantity</a:Code>\n<a:CreationDate>1533108721</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购买数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o973\">\n<a:ObjectID>E2A71768-48C5-46B2-82B8-635169BFE66D</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1533108747</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108790</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>添加到购物车的价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o974\">\n<a:ObjectID>B5A53CF7-C87D-411B-89DF-41888E2722C7</a:ObjectID>\n<a:Name>product_pic</a:Name>\n<a:Code>product_pic</a:Code>\n<a:CreationDate>1533110160</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171242</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品主图</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o975\">\n<a:ObjectID>E1A4F06D-34AE-4B0C-BCC6-F82BA9D1A76F</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1533110160</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171249</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品名称</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o976\">\n<a:ObjectID>7BBD4FA7-9C75-4ECA-9E08-BBEAC572BCB1</a:ObjectID>\n<a:Name>product_brand</a:Name>\n<a:Code>product_brand</a:Code>\n<a:CreationDate>1535696251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535696298</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o977\">\n<a:ObjectID>11170A56-1C61-4372-9E46-A3C9C587340E</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1535696251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535696298</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o978\">\n<a:ObjectID>2D4BFCEF-83F1-4697-8EF7-DCC5D2A9491D</a:ObjectID>\n<a:Name>product_sub_title</a:Name>\n<a:Code>product_sub_title</a:Code>\n<a:CreationDate>1533110160</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171264</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品副标题（卖点）</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o979\">\n<a:ObjectID>8A7E5878-BB5E-49F3-BE20-E6986E172BB3</a:ObjectID>\n<a:Name>product_sku_code</a:Name>\n<a:Code>product_sku_code</a:Code>\n<a:CreationDate>1533115799</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171279</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品sku条码</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o980\">\n<a:ObjectID>23C68713-D38A-4915-96E3-A9762199D386</a:ObjectID>\n<a:Name>member_nickname</a:Name>\n<a:Code>member_nickname</a:Code>\n<a:CreationDate>1533115939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171328</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员昵称</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o981\">\n<a:ObjectID>5675315C-7265-4AC3-88D4-BC1525AC73B7</a:ObjectID>\n<a:Name>create_date</a:Name>\n<a:Code>create_date</a:Code>\n<a:CreationDate>1533116034</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171335</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o982\">\n<a:ObjectID>1D877A06-39CD-4A3C-B4A8-059588D13838</a:ObjectID>\n<a:Name>modify_date</a:Name>\n<a:Code>modify_date</a:Code>\n<a:CreationDate>1533116034</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171341</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>修改时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o983\">\n<a:ObjectID>20EF4C13-435F-4C03-B8A9-7E31F1432E21</a:ObjectID>\n<a:Name>delete_status</a:Name>\n<a:Code>delete_status</a:Code>\n<a:CreationDate>1533172423</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533172643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否删除</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o984\">\n<a:ObjectID>9C9C2AC9-F58B-4D31-BEF4-1D1892931E51</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1535530934</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535530961</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品的分类</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o985\">\n<a:ObjectID>B7274386-A224-491A-88E0-8FAADCA00C90</a:ObjectID>\n<a:Name>product_attr</a:Name>\n<a:Code>product_attr</a:Code>\n<a:CreationDate>1540542323</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1540542603</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性:[{&quot;key&quot;:&quot;颜色&quot;,&quot;value&quot;:&quot;银色&quot;},{&quot;key&quot;:&quot;容量&quot;,&quot;value&quot;:&quot;4G&quot;}]</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o986\">\n<a:ObjectID>29D735B7-E618-4C13-AF03-3858C68E6BA4</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1533108649</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108680</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o968\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o986\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o305\">\n<a:ObjectID>76086A3D-70A2-4A7E-A4DA-9B79808A0A53</a:ObjectID>\n<a:Name>ums_role</a:Name>\n<a:Code>ums_role</a:Code>\n<a:CreationDate>1538200619</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201383</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户角色表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o987\">\n<a:ObjectID>2E853DB4-DEFD-42D5-A6BE-6226A3194CE4</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538201005</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201117</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o988\">\n<a:ObjectID>A7C5F5AC-3D79-4BAB-A058-E801649746EB</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1538201019</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201122</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o989\">\n<a:ObjectID>013099EA-F84F-4262-9125-15DA3687C8CE</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1538201019</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201128</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o990\">\n<a:ObjectID>F376357B-61CA-46D5-BED7-51C5322735A9</a:ObjectID>\n<a:Name>admin_count</a:Name>\n<a:Code>admin_count</a:Code>\n<a:CreationDate>1538201117</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201162</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o991\">\n<a:ObjectID>EAC9E6A6-7E67-44F0-B085-B7A2380828E9</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1538201155</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201198</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o992\">\n<a:ObjectID>8B4E2D43-F39C-46CD-B498-1CD02CDE1F81</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1538201193</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201235</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>启用状态：0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DefaultValue>1</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o993\">\n<a:ObjectID>CDB0B35E-6C3A-4FE5-9D47-E7682E71302E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1538201211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201486</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o994\">\n<a:ObjectID>14F5A838-542A-4B80-8627-B17FF80D3D0C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538201019</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201117</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o987\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o994\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o306\">\n<a:ObjectID>4E46B794-7D2F-434B-9096-2F7DB97537BA</a:ObjectID>\n<a:Name>ums_permission</a:Name>\n<a:Code>ums_permission</a:Code>\n<a:CreationDate>1538201545</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户权限表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o995\">\n<a:ObjectID>E945AB0D-430D-4564-A942-AFAF3D3C6106</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538201548</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201942</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0=\n{B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0=\n\n</a:ExtendedAttributesText>\n</o:Column>\n<o:Column Id=\"o996\">\n<a:ObjectID>B073CBDF-527E-4961-BF55-9C5A1F643303</a:ObjectID>\n<a:Name>pid</a:Name>\n<a:Code>pid</a:Code>\n<a:CreationDate>1538202362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202389</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>父级权限id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o997\">\n<a:ObjectID>E06DA657-9A51-42D9-A915-3D76B6D12AC7</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1538201932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202068</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o998\">\n<a:ObjectID>C2345EAD-45D6-41E7-8EAA-9DB2FD0F6C48</a:ObjectID>\n<a:Name>value</a:Name>\n<a:Code>value</a:Code>\n<a:CreationDate>1538201932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202074</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>权限值</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o999\">\n<a:ObjectID>471034FB-C5B6-49C2-A117-AE9FEE311F8C</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1538201932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202080</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o1000\">\n<a:ObjectID>64C52B4C-E7C5-4A7E-AE70-CF628EFC67A7</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1538202064</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202174</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>权限类型：0-&gt;目录；1-&gt;菜单；2-&gt;按钮（接口绑定权限）</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o1001\">\n<a:ObjectID>8E492BD0-8033-4FE5-8B5B-C13F6977D9A9</a:ObjectID>\n<a:Name>uri</a:Name>\n<a:Code>uri</a:Code>\n<a:CreationDate>1538202208</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202264</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端资源路径</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1002\">\n<a:ObjectID>88B074E5-990C-4217-91F5-A88E56CC8142</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1538202092</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>启用状态；0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o1003\">\n<a:ObjectID>6A46B30B-44EC-4D13-BEBF-77C4D26113CA</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1538202257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202303</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1004\">\n<a:ObjectID>FE8DC496-D926-4C4C-94C0-59F19B98D411</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1538202257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202334</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1005\">\n<a:ObjectID>1A1D360B-3856-4FE0-ABC3-9C9DD7180247</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538201548</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201932</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o995\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1005\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o307\">\n<a:ObjectID>0ACD514B-6AD8-4092-9503-BB7418271C5D</a:ObjectID>\n<a:Name>ums_admin_role_relation</a:Name>\n<a:Code>ums_admin_role_relation</a:Code>\n<a:CreationDate>1538202419</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202492</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户和角色关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1006\">\n<a:ObjectID>FD4417BB-10DA-489F-95B7-2538DA63FEB7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538202420</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202461</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1007\">\n<a:ObjectID>7E2D454E-E44B-490F-9E86-11CB1D02A55F</a:ObjectID>\n<a:Name>admin_id</a:Name>\n<a:Code>admin_id</a:Code>\n<a:CreationDate>1538202471</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202487</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1008\">\n<a:ObjectID>6408BE19-A7C6-4F9D-B9C0-921BD494570B</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1538202492</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202502</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1009\">\n<a:ObjectID>6D817E44-8C99-4CFE-A645-0E536256B9D2</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538202420</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202458</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1006\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1009\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o308\">\n<a:ObjectID>DF1649B4-5B0F-43F0-8E49-DFB2050E1F76</a:ObjectID>\n<a:Name>ums_role_permission_relation</a:Name>\n<a:Code>ums_role_permission_relation</a:Code>\n<a:CreationDate>1538202537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202588</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户角色和权限关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1010\">\n<a:ObjectID>1144AF4C-1426-47B7-8212-DA3B3E6C2A36</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538202538</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202580</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1011\">\n<a:ObjectID>FE5CF0B5-65AA-4B6D-AE3C-04E4A57077D0</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1538202586</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202605</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1012\">\n<a:ObjectID>3E519CF4-C6F8-4D40-828A-F3AFFDA09699</a:ObjectID>\n<a:Name>permission_id</a:Name>\n<a:Code>permission_id</a:Code>\n<a:CreationDate>1538202588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202605</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1013\">\n<a:ObjectID>7169397A-EC6D-422E-9575-7D580D618896</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538202538</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202576</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1010\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1013\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o309\">\n<a:ObjectID>13CA705F-65DC-48AC-9563-A5650E15DCC0</a:ObjectID>\n<a:Name>ums_admin_permission_relation</a:Name>\n<a:Code>ums_admin_permission_relation</a:Code>\n<a:CreationDate>1538202617</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538203086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户和权限关系表(除角色中定义的权限以外的加减权限)</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1014\">\n<a:ObjectID>BE753374-E9C7-4C53-AC9C-D71DCF50662D</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538202860</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202918</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1015\">\n<a:ObjectID>12FF5B6B-8647-49E1-927C-D43F14BBB174</a:ObjectID>\n<a:Name>admin_id</a:Name>\n<a:Code>admin_id</a:Code>\n<a:CreationDate>1538202927</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202948</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1016\">\n<a:ObjectID>8BDB3D8B-FFEF-4031-8D7A-EF81BE9BE670</a:ObjectID>\n<a:Name>permission_id</a:Name>\n<a:Code>permission_id</a:Code>\n<a:CreationDate>1538202929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202948</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1017\">\n<a:ObjectID>D5D4EBC8-9FCD-4A79-8171-4BC6027FA23E</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1538203070</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538203086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1018\">\n<a:ObjectID>DF246E9E-48BE-43A9-A0A8-282F0AC6E482</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538202860</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202916</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1014\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1018\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o310\">\n<a:ObjectID>0DE260F1-B640-49EA-8FD8-73901DA3FC6A</a:ObjectID>\n<a:Name>sms_flash_promotion_session</a:Name>\n<a:Code>sms_flash_promotion_session</a:Code>\n<a:CreationDate>1542177985</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178475</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购场次表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1019\">\n<a:ObjectID>10DEE53F-C0A5-4C47-B567-5B9318C189F5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1542178330</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178351</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1020\">\n<a:ObjectID>70BA3EA1-6434-4AFF-A8B7-BCFD893EE7BF</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1542178344</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178375</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>场次名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1021\">\n<a:ObjectID>E0270862-71AD-474C-96FE-3EEA4134152D</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1542178368</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178404</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每日开始时间</a:Comment>\n<a:DataType>time</a:DataType>\n</o:Column>\n<o:Column Id=\"o1022\">\n<a:ObjectID>A180A2E0-0FA8-475C-8D71-729FD0617D20</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1542178396</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每日结束时间</a:Comment>\n<a:DataType>time</a:DataType>\n</o:Column>\n<o:Column Id=\"o1023\">\n<a:ObjectID>49630CAC-6129-4521-AD71-0A3AFD07583A</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1542178416</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>启用状态：0-&gt;不启用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o1024\">\n<a:ObjectID>3E293EDE-0D9A-4933-8B3D-4293903D92D0</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1542178436</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178481</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1025\">\n<a:ObjectID>6F8C4687-C113-41B9-B674-6D8DE3D1E8D5</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1542178330</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178344</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1019\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1025\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o311\">\n<a:ObjectID>99F64742-38F7-4DA9-B8A0-1FC4476C94D3</a:ObjectID>\n<a:Name>sms_flash_promotion_product_relation</a:Name>\n<a:Code>sms_flash_promotion_product_relation</a:Code>\n<a:CreationDate>1542179013</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品限时购与商品关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1026\">\n<a:ObjectID>CAE82E75-D12D-4AD6-9A17-68423BF7E4E0</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1542179066</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542349350</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1027\">\n<a:ObjectID>CEAF14F7-5D5C-4FF9-B86B-CF943BE9EAC9</a:ObjectID>\n<a:Name>flash_promotion_id</a:Name>\n<a:Code>flash_promotion_id</a:Code>\n<a:CreationDate>1542179374</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1028\">\n<a:ObjectID>23D89E50-A620-478D-A305-369556A666D9</a:ObjectID>\n<a:Name>flash_promotion_session_id</a:Name>\n<a:Code>flash_promotion_session_id</a:Code>\n<a:CreationDate>1542179394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1029\">\n<a:ObjectID>016A43A1-CCDE-4553-A432-5F9195B3E630</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1542179440</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179497</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1030\">\n<a:ObjectID>A82B7A85-9A20-438A-B428-5252675D21E5</a:ObjectID>\n<a:Name>flash_promotion_price</a:Name>\n<a:Code>flash_promotion_price</a:Code>\n<a:CreationDate>1542179066</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179497</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o1031\">\n<a:ObjectID>608C7EEE-3CD9-452E-873C-AD3AFDF563A0</a:ObjectID>\n<a:Name>flash_promotion_count</a:Name>\n<a:Code>flash_promotion_count</a:Code>\n<a:CreationDate>1542179137</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179197</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o1032\">\n<a:ObjectID>8211380C-691E-47D2-B1D7-F37E83667A4C</a:ObjectID>\n<a:Name>flash_promotion_limit</a:Name>\n<a:Code>flash_promotion_limit</a:Code>\n<a:CreationDate>1542179190</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179235</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每人限购数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o1033\">\n<a:ObjectID>7DB32E90-BA97-46B7-B90B-655587BBE50E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1542179226</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1034\">\n<a:ObjectID>A2983D35-1038-45A0-954A-5BC756B9FBF6</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1542179066</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179137</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1026\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1034\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o312\">\n<a:ObjectID>FA962271-FBB8-4D55-88C3-B0565D4B7E6B</a:ObjectID>\n<a:Name>ums_menu</a:Name>\n<a:Code>ums_menu</a:Code>\n<a:CreationDate>1580624574</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625146</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台菜单表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1035\">\n<a:ObjectID>6E8CAA92-2096-418D-A93D-E79F719BB927</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580624717</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580624742</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1036\">\n<a:ObjectID>ED194F66-7660-463A-A991-C2A652AB7BDD</a:ObjectID>\n<a:Name>parent_id</a:Name>\n<a:Code>parent_id</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625129</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>父级ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1037\">\n<a:ObjectID>751DDAFB-E47E-4C1F-8861-98417ABE4003</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1038\">\n<a:ObjectID>C19B0D2B-9E4E-4D92-B934-23A5A434367E</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o1039\">\n<a:ObjectID>3991C198-C8BC-442F-B9C3-8C3E822BDF58</a:ObjectID>\n<a:Name>level</a:Name>\n<a:Code>level</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单级数</a:Comment>\n<a:DataType>int(4)</a:DataType>\n<a:Length>4</a:Length>\n</o:Column>\n<o:Column Id=\"o1040\">\n<a:ObjectID>F021AF73-1074-429E-A756-7795EAC8D046</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单排序</a:Comment>\n<a:DataType>int(4)</a:DataType>\n<a:Length>4</a:Length>\n</o:Column>\n<o:Column Id=\"o1041\">\n<a:ObjectID>4B420CCD-31CE-4F99-864B-2130DB065195</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o1042\">\n<a:ObjectID>F77FA949-AD6E-4812-8523-B4B89D603A5E</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端图标</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1043\">\n<a:ObjectID>BA0254CB-2942-4FA6-86A0-E90E43311099</a:ObjectID>\n<a:Name>hidden</a:Name>\n<a:Code>hidden</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端隐藏</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1044\">\n<a:ObjectID>5B17DE1C-3EF2-41FE-8598-919EF33A2D85</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580624717</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580624739</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1035\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1044\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o313\">\n<a:ObjectID>21CA6441-50AA-434C-B1B2-51C4DB93E292</a:ObjectID>\n<a:Name>ums_resource</a:Name>\n<a:Code>ums_resource</a:Code>\n<a:CreationDate>1580624625</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台资源表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1045\">\n<a:ObjectID>F6CBDD55-60A9-4F16-8426-166F661106CF</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580625178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625202</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1046\">\n<a:ObjectID>83039C2E-46A3-43E5-9F44-0C2793617519</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1580869150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869174</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源分类ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1047\">\n<a:ObjectID>A9E82014-27A7-49AF-9BF1-2F10A4ABC85D</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1580625197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1048\">\n<a:ObjectID>623196A3-33D6-4F77-909E-66A8F05CDD19</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1580625197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1049\">\n<a:ObjectID>01AB5B01-DA3F-4F28-A338-A916E623F2A0</a:ObjectID>\n<a:Name>url</a:Name>\n<a:Code>url</a:Code>\n<a:CreationDate>1580625197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源URL</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1050\">\n<a:ObjectID>B3CFE91C-D059-421F-8D9C-17321C7F38E7</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1580805910</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580805939</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1051\">\n<a:ObjectID>10E24F7A-0390-476B-BAAE-1882C0BBD062</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580625178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625197</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1045\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1051\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o314\">\n<a:ObjectID>B66F7908-B143-4176-80A9-B2CF44529D08</a:ObjectID>\n<a:Name>ums_role_menu_relation</a:Name>\n<a:Code>ums_role_menu_relation</a:Code>\n<a:CreationDate>1580624663</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625352</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台角色菜单关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1052\">\n<a:ObjectID>0A34DDDB-B366-496A-AED8-416DE19149F5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580625308</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625325</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1053\">\n<a:ObjectID>2AE22924-4904-41FA-AFB7-B0CF7FCBFC56</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1580625333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>角色ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1054\">\n<a:ObjectID>748FA33E-A269-4189-A357-21F5885427C4</a:ObjectID>\n<a:Name>menu_id</a:Name>\n<a:Code>menu_id</a:Code>\n<a:CreationDate>1580625352</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1055\">\n<a:ObjectID>882EFB9B-0F11-4AE1-995B-C15CEDF564FA</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580625308</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625322</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1052\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1055\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o315\">\n<a:ObjectID>C19BEA79-6E19-4CAD-9E31-9415E802B9DE</a:ObjectID>\n<a:Name>ums_role_resource_relation</a:Name>\n<a:Code>ums_role_resource_relation</a:Code>\n<a:CreationDate>1580624686</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625435</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台角色资源关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1056\">\n<a:ObjectID>6DF052C6-67CA-4BAA-A125-9F03DEDA9012</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580625392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625411</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1057\">\n<a:ObjectID>83982BFF-3E3D-4E6F-A458-FF3075464342</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1580625421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625454</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>角色ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1058\">\n<a:ObjectID>09F02FAF-844E-44FE-93C8-7B4623939F50</a:ObjectID>\n<a:Name>resource_id</a:Name>\n<a:Code>resource_id</a:Code>\n<a:CreationDate>1580625435</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625454</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1059\">\n<a:ObjectID>AB798EFF-998F-4E0E-B0A4-A20719A6AF79</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580625392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625408</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1056\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1059\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o316\">\n<a:ObjectID>B0508AE4-FED1-47A1-A771-889573F7520B</a:ObjectID>\n<a:Name>ums_resource_category</a:Name>\n<a:Code>ums_resource_category</a:Code>\n<a:CreationDate>1580869056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1581324455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1060\">\n<a:ObjectID>F885A10E-E590-447C-8D5D-BC2BCD3DB671</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580869083</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869099</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1061\">\n<a:ObjectID>D01B83FC-5268-4206-B92F-8F9BFE927112</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1580869095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1062\">\n<a:ObjectID>B986AFDF-AFBB-4E49-93AA-5CAD7907153A</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1580869095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1063\">\n<a:ObjectID>094290D5-34B8-4EE4-B629-670A4BAA7382</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1581324427</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1581324455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int(4)</a:DataType>\n<a:Length>4</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1064\">\n<a:ObjectID>70C39D60-14D7-4260-94E9-1F6025702EC5</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580869083</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869095</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1060\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1064\"/>\n</c:PrimaryKey>\n</o:Table>\n</c:Tables>\n<c:References>\n<o:Reference Id=\"o8\">\n<a:ObjectID>F8B50533-7F4C-4BE7-984B-4FC6A1156DC9</a:ObjectID>\n<a:Name>Reference_1</a:Name>\n<a:Code>Reference_1</a:Code>\n<a:CreationDate>1521706257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o235\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o375\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1065\">\n<a:ObjectID>5236F74C-2761-4AC4-834A-BECC5D040393</a:ObjectID>\n<a:CreationDate>1521706257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o364\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o318\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o11\">\n<a:ObjectID>6B097280-D411-432F-9CA0-7FC52C306D0F</a:ObjectID>\n<a:Name>Reference_2</a:Name>\n<a:Code>Reference_2</a:Code>\n<a:CreationDate>1521710488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710488</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o236\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1066\">\n<a:ObjectID>6EE78803-E5F6-4090-B810-7BBF7814F60C</a:ObjectID>\n<a:CreationDate>1521710488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710488</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o377\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o14\">\n<a:ObjectID>3447013F-AE0F-4B19-9E82-DEC9658CF62C</a:ObjectID>\n<a:Name>Reference_3</a:Name>\n<a:Code>Reference_3</a:Code>\n<a:CreationDate>1521770349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o237\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1067\">\n<a:ObjectID>84F722B4-DF57-4BC3-88FD-B249B70D21A7</a:ObjectID>\n<a:CreationDate>1521770349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o389\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o17\">\n<a:ObjectID>869F562E-B664-4E18-BB85-9F518C39050E</a:ObjectID>\n<a:Name>Reference_4</a:Name>\n<a:Code>Reference_4</a:Code>\n<a:CreationDate>1521771362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o238\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1068\">\n<a:ObjectID>0309D83E-51C3-4973-A636-9FEB27F4A6B6</a:ObjectID>\n<a:CreationDate>1521771362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o396\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o20\">\n<a:ObjectID>43D29FF3-315F-4770-9486-03345B3B66AA</a:ObjectID>\n<a:Name>Reference_5</a:Name>\n<a:Code>Reference_5</a:Code>\n<a:CreationDate>1521773101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1069\">\n<a:ObjectID>7B820697-9FFD-4446-B6DF-F03F4F02FFE3</a:ObjectID>\n<a:CreationDate>1521773101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o319\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o23\">\n<a:ObjectID>2FA754C9-59E9-4BC2-9FBD-D1F329A2D40D</a:ObjectID>\n<a:Name>Reference_6</a:Name>\n<a:Code>Reference_6</a:Code>\n<a:CreationDate>1521783613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o240\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o429\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1070\">\n<a:ObjectID>13DDC5F6-372D-47FF-AAFA-8AEF349E7FA8</a:ObjectID>\n<a:CreationDate>1521783613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o421\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o320\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o26\">\n<a:ObjectID>FFC57989-A7DF-43DC-8E90-0875CEC112DD</a:ObjectID>\n<a:Name>Reference_9</a:Name>\n<a:Code>Reference_9</a:Code>\n<a:CreationDate>1521791466</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791466</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o241\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1071\">\n<a:ObjectID>31ADEBC6-F176-41A7-8EAA-9AC3B8A253AB</a:ObjectID>\n<a:CreationDate>1521791466</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791466</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o431\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o29\">\n<a:ObjectID>77C4D61A-9FF5-4B2C-8C48-A2F7DB88ACA3</a:ObjectID>\n<a:Name>Reference_10</a:Name>\n<a:Code>Reference_10</a:Code>\n<a:CreationDate>1521792428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792428</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o242\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1072\">\n<a:ObjectID>F2B169B3-7AC8-4FB1-822D-E1C91DFF6FFD</a:ObjectID>\n<a:CreationDate>1521792428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792428</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o437\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o32\">\n<a:ObjectID>617A3E38-261B-48D9-B387-A4C69D4A702C</a:ObjectID>\n<a:Name>Reference_11</a:Name>\n<a:Code>Reference_11</a:Code>\n<a:CreationDate>1521792909</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792909</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o243\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1073\">\n<a:ObjectID>00AD7B43-F4CA-45D7-86BB-5756B4ED55BD</a:ObjectID>\n<a:CreationDate>1521792909</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792909</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o443\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o36\">\n<a:ObjectID>085DA277-2667-4A8D-8E4D-2C4E6787357E</a:ObjectID>\n<a:Name>Reference_12</a:Name>\n<a:Code>Reference_12</a:Code>\n<a:CreationDate>1522045168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045168</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o244\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o245\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o451\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1074\">\n<a:ObjectID>286E06C6-6FAD-4323-82D9-6FB781153C46</a:ObjectID>\n<a:CreationDate>1522045168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045168</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o447\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o453\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o38\">\n<a:ObjectID>DC5FEA31-5D2A-491B-A87A-BC45A53A0130</a:ObjectID>\n<a:Name>Reference_13</a:Name>\n<a:Code>Reference_13</a:Code>\n<a:CreationDate>1522046100</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046100</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o244\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o451\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1075\">\n<a:ObjectID>A2161167-D453-4661-9BF0-71D8908A6C42</a:ObjectID>\n<a:CreationDate>1522046100</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046100</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o447\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o321\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o41\">\n<a:ObjectID>09737ED1-34A7-4624-9B3D-F971732EC3C5</a:ObjectID>\n<a:Name>Reference_14</a:Name>\n<a:Code>Reference_14</a:Code>\n<a:CreationDate>1522046451</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046451</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o246\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1076\">\n<a:ObjectID>E25FF0B6-41E2-4801-8FE9-337EF9B991F7</a:ObjectID>\n<a:CreationDate>1522046451</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046451</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o466\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o43\">\n<a:ObjectID>1299128F-FAC5-44E2-86E2-29EF4E7A1638</a:ObjectID>\n<a:Name>Reference_15</a:Name>\n<a:Code>Reference_15</a:Code>\n<a:CreationDate>1522046456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o245\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o246\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o464\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1077\">\n<a:ObjectID>1E64FE44-48BA-49B0-BDE1-66DA22B89EFF</a:ObjectID>\n<a:CreationDate>1522046456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o452\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o467\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o47\">\n<a:ObjectID>8C8A4C2F-CB98-46EE-A602-698B99A13C3C</a:ObjectID>\n<a:Name>Reference_18</a:Name>\n<a:Code>Reference_18</a:Code>\n<a:CreationDate>1522112691</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112691</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o248\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o249\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o489\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1078\">\n<a:ObjectID>DEE74089-6A6D-4D7E-BADD-76E4D08EFA2D</a:ObjectID>\n<a:CreationDate>1522112691</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112691</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o483\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o491\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o49\">\n<a:ObjectID>0326D95A-002E-4506-89DF-DC650D6B10F6</a:ObjectID>\n<a:Name>Reference_19</a:Name>\n<a:Code>Reference_19</a:Code>\n<a:CreationDate>1522112694</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112694</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o249\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1079\">\n<a:ObjectID>5D44A212-AD69-4958-BAAF-9E16ED63FC67</a:ObjectID>\n<a:CreationDate>1522112694</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112694</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o492\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o51\">\n<a:ObjectID>62935DB0-A2C4-4D4E-B949-5DE296753EC6</a:ObjectID>\n<a:Name>Reference_20</a:Name>\n<a:Code>Reference_20</a:Code>\n<a:CreationDate>1522114406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522114406</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o239\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1080\">\n<a:ObjectID>ECA8F78C-7015-44EB-9CD2-F72634D7F4BD</a:ObjectID>\n<a:CreationDate>1522114406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522114406</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o409\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o54\">\n<a:ObjectID>0054659D-2257-491E-BEFD-4E934EF1326A</a:ObjectID>\n<a:Name>Reference_21</a:Name>\n<a:Code>Reference_21</a:Code>\n<a:CreationDate>1522115961</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115961</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o250\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1081\">\n<a:ObjectID>32BD37D4-4436-4069-9BD1-90CF0B1867E0</a:ObjectID>\n<a:CreationDate>1522115961</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115961</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o495\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o56\">\n<a:ObjectID>7FB8F1DE-EB1D-4B05-BC25-7F9A9C34DAC1</a:ObjectID>\n<a:Name>Reference_22</a:Name>\n<a:Code>Reference_22</a:Code>\n<a:CreationDate>1522115983</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115983</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o245\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o250\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o464\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1082\">\n<a:ObjectID>1A23B754-71EE-4496-B70F-0A3268C6F651</a:ObjectID>\n<a:CreationDate>1522115983</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115983</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o452\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o496\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o59\">\n<a:ObjectID>C8AEC8AC-5477-406C-9A47-85CAC6E9156F</a:ObjectID>\n<a:Name>Reference_23</a:Name>\n<a:Code>Reference_23</a:Code>\n<a:CreationDate>1522118676</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118676</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o251\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1083\">\n<a:ObjectID>1C883E67-84F9-4CD0-A4F5-D7CA2BE15DC5</a:ObjectID>\n<a:CreationDate>1522118676</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118676</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o499\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o62\">\n<a:ObjectID>6877F189-A5DC-4EC1-A805-D6DF43A175A8</a:ObjectID>\n<a:Name>Reference_24</a:Name>\n<a:Code>Reference_24</a:Code>\n<a:CreationDate>1522119056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119056</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o251\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o252\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o513\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1084\">\n<a:ObjectID>1CE2FCCB-DF37-4C88-99DD-FA8C3EE7A09C</a:ObjectID>\n<a:CreationDate>1522119056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119056</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o498\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o515\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o66\">\n<a:ObjectID>9F3EABD4-B8AD-4807-800A-EBB309C50C27</a:ObjectID>\n<a:Name>Reference_25</a:Name>\n<a:Code>Reference_25</a:Code>\n<a:CreationDate>1522120295</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120295</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o253\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o254\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o528\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1085\">\n<a:ObjectID>7D8DC4F2-D0A4-4CE9-B03E-44AE166786C0</a:ObjectID>\n<a:CreationDate>1522120295</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120295</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o522\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o530\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o70\">\n<a:ObjectID>4D22CD29-D84A-4780-A3CD-E8951913B139</a:ObjectID>\n<a:Name>Reference_26</a:Name>\n<a:Code>Reference_26</a:Code>\n<a:CreationDate>1522138613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o255\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o256\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o549\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1086\">\n<a:ObjectID>7CB99F50-753B-4347-B896-1F18D8FE6691</a:ObjectID>\n<a:CreationDate>1522138613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o533\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o551\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o72\">\n<a:ObjectID>FDD92660-6932-4BCE-8F83-2E7A223145EB</a:ObjectID>\n<a:Name>Reference_27</a:Name>\n<a:Code>Reference_27</a:Code>\n<a:CreationDate>1522138618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138618</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o256\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1087\">\n<a:ObjectID>EC89DA87-A575-4940-973B-665854268261</a:ObjectID>\n<a:CreationDate>1522138618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138618</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o552\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o75\">\n<a:ObjectID>BF5F391A-A0AC-4940-B493-B42F4DEBFE59</a:ObjectID>\n<a:Name>Reference_28</a:Name>\n<a:Code>Reference_28</a:Code>\n<a:CreationDate>1522138705</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138705</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o257\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o255\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o560\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1088\">\n<a:ObjectID>8E1A22EC-2246-48C4-A499-3D8A4D264C09</a:ObjectID>\n<a:CreationDate>1522138705</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138705</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o554\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o534\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o79\">\n<a:ObjectID>E84C4311-62F4-47BD-A024-62877B7D0ED5</a:ObjectID>\n<a:Name>Reference_30</a:Name>\n<a:Code>Reference_30</a:Code>\n<a:CreationDate>1522141157</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141157</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o247\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o259\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o482\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1089\">\n<a:ObjectID>2EA7348D-C8E8-4FCC-8215-01FE3AD58DFB</a:ObjectID>\n<a:CreationDate>1522141157</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141157</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o470\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o571\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o82\">\n<a:ObjectID>C0A04A49-9B21-4470-8507-D61981F41EF2</a:ObjectID>\n<a:Name>Reference_29</a:Name>\n<a:Code>Reference_29</a:Code>\n<a:CreationDate>1522141232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o255\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o258\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o549\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1090\">\n<a:ObjectID>8B858AAC-D00A-42FE-BEDC-73536876C045</a:ObjectID>\n<a:CreationDate>1522141232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o533\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o562\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o85\">\n<a:ObjectID>E8C1A0E5-7AB4-48DD-96D0-BFC0F9081B35</a:ObjectID>\n<a:Name>Reference_31</a:Name>\n<a:Code>Reference_31</a:Code>\n<a:CreationDate>1522141316</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o260\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o247\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o583\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1091\">\n<a:ObjectID>FC3A22FE-FD24-4DF0-BAC8-22659D3C8987</a:ObjectID>\n<a:CreationDate>1522141317</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o577\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o471\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o89\">\n<a:ObjectID>99192031-40EE-41ED-A43C-B27CC1039A2B</a:ObjectID>\n<a:Name>Reference_32</a:Name>\n<a:Code>Reference_32</a:Code>\n<a:CreationDate>1522142006</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142006</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o262\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o261\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o599\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1092\">\n<a:ObjectID>14DB9C0C-F9F0-4D4A-B44E-592028F6E75A</a:ObjectID>\n<a:CreationDate>1522142006</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142006</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o593\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o585\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o93\">\n<a:ObjectID>C562CD4F-BAD5-44CE-B507-727743B42808</a:ObjectID>\n<a:Name>Reference_33</a:Name>\n<a:Code>Reference_33</a:Code>\n<a:CreationDate>1522215975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o266\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1093\">\n<a:ObjectID>15304E84-71AA-40B1-84CB-904384B34B25</a:ObjectID>\n<a:CreationDate>1522215975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o628\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o95\">\n<a:ObjectID>049BB766-61EB-47C0-B95D-D25AFDB59734</a:ObjectID>\n<a:Name>Reference_34</a:Name>\n<a:Code>Reference_34</a:Code>\n<a:CreationDate>1522216015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216015</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o266\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1094\">\n<a:ObjectID>457237AD-87EB-4A09-BA9F-36198B10D2FF</a:ObjectID>\n<a:CreationDate>1522216015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216015</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o629\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o98\">\n<a:ObjectID>5D590043-1882-4A9B-8FC1-D9DC8580E02C</a:ObjectID>\n<a:Name>Reference_35</a:Name>\n<a:Code>Reference_35</a:Code>\n<a:CreationDate>1522216251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216251</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o267\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1095\">\n<a:ObjectID>3C2E5F27-A07C-4D88-9357-089D36122A25</a:ObjectID>\n<a:CreationDate>1522216251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216251</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o634\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o100\">\n<a:ObjectID>B5428618-7278-427D-A8BC-5CCB75A2547F</a:ObjectID>\n<a:Name>Reference_36</a:Name>\n<a:Code>Reference_36</a:Code>\n<a:CreationDate>1522216380</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o267\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1096\">\n<a:ObjectID>A8FA4798-0F1E-4D96-A254-77F5D71F6BBD</a:ObjectID>\n<a:CreationDate>1522216380</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o635\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o103\">\n<a:ObjectID>849E47A7-94DA-40C1-879A-F1C6E0C5CD19</a:ObjectID>\n<a:Name>Reference_37</a:Name>\n<a:Code>Reference_37</a:Code>\n<a:CreationDate>1522220508</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o268\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1097\">\n<a:ObjectID>5026171A-4B51-4B83-A113-4051F1E4F415</a:ObjectID>\n<a:CreationDate>1522220508</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o640\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o106\">\n<a:ObjectID>C3B9AA1D-7C7C-4CAD-885D-1542021D30E7</a:ObjectID>\n<a:Name>Reference_38</a:Name>\n<a:Code>Reference_38</a:Code>\n<a:CreationDate>1522220546</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220546</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o268\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1098\">\n<a:ObjectID>462222B9-A203-4D60-A353-A168356E3140</a:ObjectID>\n<a:CreationDate>1522220546</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220546</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o641\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o109\">\n<a:ObjectID>AF0E4AD5-A4B3-4095-8D2E-FF466A7FFBDC</a:ObjectID>\n<a:Name>Reference_39</a:Name>\n<a:Code>Reference_39</a:Code>\n<a:CreationDate>1522224364</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224364</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o235\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o270\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o375\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1099\">\n<a:ObjectID>BD28F911-4F98-4C9D-9171-E99F60476E2A</a:ObjectID>\n<a:CreationDate>1522224364</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224364</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o364\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o672\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o112\">\n<a:ObjectID>2E5F5354-7D3D-4CBE-9D6E-F7BF6EE3BB1E</a:ObjectID>\n<a:Name>Reference_40</a:Name>\n<a:Code>Reference_40</a:Code>\n<a:CreationDate>1522225874</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o271\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1100\">\n<a:ObjectID>8D1675C9-7749-4831-A5E6-ACD971AACF57</a:ObjectID>\n<a:CreationDate>1522225874</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o678\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o115\">\n<a:ObjectID>C7DCAECF-68BD-47D9-8C52-36A6B50C90C6</a:ObjectID>\n<a:Name>Reference_41</a:Name>\n<a:Code>Reference_41</a:Code>\n<a:CreationDate>1522226077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226077</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o272\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1101\">\n<a:ObjectID>B30347B3-4138-4EA8-A0F5-EF0D9A34E01F</a:ObjectID>\n<a:CreationDate>1522226077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226077</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o684\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o118\">\n<a:ObjectID>C11B5AAF-045B-4A2E-930C-71B38674EDCB</a:ObjectID>\n<a:Name>Reference_42</a:Name>\n<a:Code>Reference_42</a:Code>\n<a:CreationDate>1522226272</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o255\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o273\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o549\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1102\">\n<a:ObjectID>7D29D8DF-7EF1-4F43-928F-DDAC96A23858</a:ObjectID>\n<a:CreationDate>1522226272</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o533\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o690\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o121\">\n<a:ObjectID>B7417B7A-09B8-43CE-A17E-01ACFEC78BF6</a:ObjectID>\n<a:Name>Reference_44</a:Name>\n<a:Code>Reference_44</a:Code>\n<a:CreationDate>1522303390</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303390</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o277\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1103\">\n<a:ObjectID>942BBD31-85B8-46EA-893C-CB327C86F5BA</a:ObjectID>\n<a:CreationDate>1522303390</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303390</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o716\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o123\">\n<a:ObjectID>EF622572-2304-4875-8869-C1821D4BAA12</a:ObjectID>\n<a:Name>Reference_45</a:Name>\n<a:Code>Reference_45</a:Code>\n<a:CreationDate>1522303410</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o277\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1104\">\n<a:ObjectID>1E5174EE-C0B0-4144-98D5-679634DCCAEE</a:ObjectID>\n<a:CreationDate>1522303410</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o717\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o127\">\n<a:ObjectID>F7E27FB8-7156-4A4D-BC61-18CCE2DD98AA</a:ObjectID>\n<a:Name>Reference_46</a:Name>\n<a:Code>Reference_46</a:Code>\n<a:CreationDate>1522304178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304178</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o278\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o279\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o733\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1105\">\n<a:ObjectID>BD55704C-3F36-44CC-90E1-143F097FA894</a:ObjectID>\n<a:CreationDate>1522304178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304178</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o723\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o735\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o130\">\n<a:ObjectID>4D49B5C2-72FC-4407-9705-D42C0F203767</a:ObjectID>\n<a:Name>Reference_47</a:Name>\n<a:Code>Reference_47</a:Code>\n<a:CreationDate>1522386868</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386868</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o280\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o269\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o754\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1106\">\n<a:ObjectID>17EC5CAA-580C-493D-9C2D-2EA3E9732A78</a:ObjectID>\n<a:CreationDate>1522386868</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386868</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o741\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o652\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o133\">\n<a:ObjectID>C55C7A99-C315-4D03-AEDF-B5F8BCBCD8A4</a:ObjectID>\n<a:Name>Reference_48</a:Name>\n<a:Code>Reference_48</a:Code>\n<a:CreationDate>1522387461</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387461</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o281\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1107\">\n<a:ObjectID>F469B162-D88C-42A3-B64C-7B2751A4FCE1</a:ObjectID>\n<a:CreationDate>1522387461</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387461</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o756\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o135\">\n<a:ObjectID>CC1956B2-80D6-420D-9596-2ADE9F622A89</a:ObjectID>\n<a:Name>Reference_49</a:Name>\n<a:Code>Reference_49</a:Code>\n<a:CreationDate>1522387526</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387526</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o281\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1108\">\n<a:ObjectID>1D18BF30-4375-4618-A1C9-6DC998F248E4</a:ObjectID>\n<a:CreationDate>1522387526</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387526</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o757\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o138\">\n<a:ObjectID>74DB905B-E0F5-48AE-81CF-EF09159E2FF7</a:ObjectID>\n<a:Name>Reference_50</a:Name>\n<a:Code>Reference_50</a:Code>\n<a:CreationDate>1522389232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o282\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1109\">\n<a:ObjectID>183F9969-663E-4842-ABC2-C938F02C05E4</a:ObjectID>\n<a:CreationDate>1522389232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o760\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o141\">\n<a:ObjectID>7E2E910E-DFB4-4EB6-901A-B90812F54A87</a:ObjectID>\n<a:Name>Reference_51</a:Name>\n<a:Code>Reference_51</a:Code>\n<a:CreationDate>1522390434</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390434</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o283\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1110\">\n<a:ObjectID>AC355266-228D-4333-8E95-D13F2D176DB4</a:ObjectID>\n<a:CreationDate>1522390434</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390434</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o777\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o144\">\n<a:ObjectID>1BDEC7E5-B286-4BE4-8433-B6BD7A1C975A</a:ObjectID>\n<a:Name>Reference_52</a:Name>\n<a:Code>Reference_52</a:Code>\n<a:CreationDate>1522390644</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390644</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o284\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1111\">\n<a:ObjectID>3A358827-AE90-4AC6-80E6-CA340D69F7F2</a:ObjectID>\n<a:CreationDate>1522390644</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390644</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o788\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o147\">\n<a:ObjectID>AD855909-C83E-4375-8C80-7C2D7AC7075C</a:ObjectID>\n<a:Name>Reference_53</a:Name>\n<a:Code>Reference_53</a:Code>\n<a:CreationDate>1522391366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391366</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o286\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1112\">\n<a:ObjectID>B0F12E0B-F2E6-40A6-AD2B-9FE858AAA8BE</a:ObjectID>\n<a:CreationDate>1522391366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391366</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o801\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o150\">\n<a:ObjectID>E0AA6F91-B6EB-44AB-A3FB-B63A84A5DF06</a:ObjectID>\n<a:Name>Reference_54</a:Name>\n<a:Code>Reference_54</a:Code>\n<a:CreationDate>1522391379</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o285\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o286\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o799\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1113\">\n<a:ObjectID>F46C48A9-78A1-4C9A-BD75-DE0ED230A76D</a:ObjectID>\n<a:CreationDate>1522391379</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o795\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o802\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o153\">\n<a:ObjectID>BDACC991-AA2F-4A86-A7A7-BE7FD95D68F2</a:ObjectID>\n<a:Name>Reference_55</a:Name>\n<a:Code>Reference_55</a:Code>\n<a:CreationDate>1522396648</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396648</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o287\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1114\">\n<a:ObjectID>711AD4D5-212E-4E3B-BB26-DB79C4BE4E52</a:ObjectID>\n<a:CreationDate>1522396648</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396648</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o805\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o156\">\n<a:ObjectID>953F316F-943C-409D-87E2-A580F91F41DF</a:ObjectID>\n<a:Name>Reference_56</a:Name>\n<a:Code>Reference_56</a:Code>\n<a:CreationDate>1522396864</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o288\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1115\">\n<a:ObjectID>094B7BE5-D0AB-4987-8D74-508A27D3117F</a:ObjectID>\n<a:CreationDate>1522396864</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o814\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o159\">\n<a:ObjectID>EBD78B02-B47D-4132-A641-E9C384074F6F</a:ObjectID>\n<a:Name>Reference_57</a:Name>\n<a:Code>Reference_57</a:Code>\n<a:CreationDate>1522659209</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659209</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o295\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1116\">\n<a:ObjectID>8C15D427-62A0-40E7-9B02-84063CC6EB94</a:ObjectID>\n<a:CreationDate>1522659209</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659209</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o843\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o162\">\n<a:ObjectID>8A0714E1-3D0A-4983-AFD9-0AF0F17B0D22</a:ObjectID>\n<a:Name>Reference_58</a:Name>\n<a:Code>Reference_58</a:Code>\n<a:CreationDate>1522660753</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660753</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o296\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1117\">\n<a:ObjectID>043B7E7F-6688-42FD-BECE-3A4CE5A560F2</a:ObjectID>\n<a:CreationDate>1522660753</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660753</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o888\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o164\">\n<a:ObjectID>3BFC406B-AABB-48D0-BA77-69DB4EE17B0D</a:ObjectID>\n<a:Name>Reference_59</a:Name>\n<a:Code>Reference_59</a:Code>\n<a:CreationDate>1522660820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660820</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o296\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1118\">\n<a:ObjectID>3592DAA0-2C95-48CF-9359-C157A0E27DC3</a:ObjectID>\n<a:CreationDate>1522660820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660820</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o890\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o166\">\n<a:ObjectID>E36F0963-FA3D-49E2-99B0-1818EF60077C</a:ObjectID>\n<a:Name>Reference_60</a:Name>\n<a:Code>Reference_60</a:Code>\n<a:CreationDate>1522721755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o280\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o241\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o754\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1119\">\n<a:ObjectID>BEE8D279-8DBF-40B3-899D-5B07570D0AD9</a:ObjectID>\n<a:CreationDate>1522721755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o741\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o432\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o168\">\n<a:ObjectID>31949834-0CD4-4F67-A0A6-FA63B62C6B04</a:ObjectID>\n<a:Name>Reference_61</a:Name>\n<a:Code>Reference_61</a:Code>\n<a:CreationDate>1522724329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724329</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o295\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1120\">\n<a:ObjectID>F5D0566A-35C3-4451-9C7D-782BC776C53E</a:ObjectID>\n<a:CreationDate>1522724329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724329</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o844\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o171\">\n<a:ObjectID>AD47F573-29CC-4DB6-AFE1-BA511E55D40F</a:ObjectID>\n<a:Name>Reference_62</a:Name>\n<a:Code>Reference_62</a:Code>\n<a:CreationDate>1522725331</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o297\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1121\">\n<a:ObjectID>3AA8813B-9363-406A-91DF-4AD16E9C3CCA</a:ObjectID>\n<a:CreationDate>1522725331</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o910\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o174\">\n<a:ObjectID>16852476-7A1F-4AF5-81A5-D4C089766A13</a:ObjectID>\n<a:Name>Reference_63</a:Name>\n<a:Code>Reference_63</a:Code>\n<a:CreationDate>1522733188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733188</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o300\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1122\">\n<a:ObjectID>DD05624A-7E08-4273-9758-C5EDA1A03134</a:ObjectID>\n<a:CreationDate>1522733188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733188</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o924\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o177\">\n<a:ObjectID>5BC95764-C216-4A1C-8602-16F14615F674</a:ObjectID>\n<a:Name>Reference_64</a:Name>\n<a:Code>Reference_64</a:Code>\n<a:CreationDate>1522745521</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745521</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o301\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o300\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o961\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1123\">\n<a:ObjectID>EBF8A4B9-24B3-4D18-82FD-D12F847328C6</a:ObjectID>\n<a:CreationDate>1522745521</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745521</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o951\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o925\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o180\">\n<a:ObjectID>98A2D313-20A0-4AD2-B2BE-F85A6867D79D</a:ObjectID>\n<a:Name>Reference_65</a:Name>\n<a:Code>Reference_65</a:Code>\n<a:CreationDate>1533109967</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533109995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o304\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1124\">\n<a:ObjectID>BA7665F0-D173-45C6-AFE8-3C93CF330D79</a:ObjectID>\n<a:CreationDate>1533109970</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533109995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o969\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o182\">\n<a:ObjectID>814C49F7-4720-47CE-A38D-88721D01BA84</a:ObjectID>\n<a:Name>Reference_66</a:Name>\n<a:Code>Reference_66</a:Code>\n<a:CreationDate>1533115827</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o236\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o304\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o387\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1125\">\n<a:ObjectID>521484A5-B9C4-477D-8D45-97F7B15D7854</a:ObjectID>\n<a:CreationDate>1533115829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o376\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o970\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o184\">\n<a:ObjectID>3B60C0B9-CC92-447D-838C-B9BA857608AE</a:ObjectID>\n<a:Name>Reference_67</a:Name>\n<a:Code>Reference_67</a:Code>\n<a:CreationDate>1533115888</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o304\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1126\">\n<a:ObjectID>FCADB7B3-0636-44C7-8AB4-067148971867</a:ObjectID>\n<a:CreationDate>1533115896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o971\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o187\">\n<a:ObjectID>46FBCD47-38FC-487C-B390-7FE833196F94</a:ObjectID>\n<a:Name>Reference_68</a:Name>\n<a:Code>Reference_68</a:Code>\n<a:CreationDate>1538202362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o306\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o306\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1005\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1127\">\n<a:ObjectID>D2F8A3AD-54BE-4AE4-A988-128511B938A4</a:ObjectID>\n<a:CreationDate>1538202362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o995\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o996\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o190\">\n<a:ObjectID>C76888E3-16C6-4761-8136-511A526B6512</a:ObjectID>\n<a:Name>Reference_69</a:Name>\n<a:Code>Reference_69</a:Code>\n<a:CreationDate>1538202471</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202471</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o278\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o307\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o733\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1128\">\n<a:ObjectID>993B6DB6-8CE7-4A56-9273-AA66FB16F4A0</a:ObjectID>\n<a:CreationDate>1538202471</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202471</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o723\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1007\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o193\">\n<a:ObjectID>7D3662ED-D661-4086-BA3C-C9927BAEA31B</a:ObjectID>\n<a:Name>Reference_70</a:Name>\n<a:Code>Reference_70</a:Code>\n<a:CreationDate>1538202492</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202492</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o307\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1129\">\n<a:ObjectID>E47EA734-EA83-4289-8295-068CBD82C878</a:ObjectID>\n<a:CreationDate>1538202492</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202492</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1008\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o196\">\n<a:ObjectID>C27AC470-B6D5-4DEB-8985-4436775FF6EC</a:ObjectID>\n<a:Name>Reference_71</a:Name>\n<a:Code>Reference_71</a:Code>\n<a:CreationDate>1538202586</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o308\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1130\">\n<a:ObjectID>C3D164FC-7971-4ECF-B2F0-6B384C75DB8A</a:ObjectID>\n<a:CreationDate>1538202586</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1011\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o198\">\n<a:ObjectID>6C1E998D-3BE1-473B-A219-C12E87F599FC</a:ObjectID>\n<a:Name>Reference_72</a:Name>\n<a:Code>Reference_72</a:Code>\n<a:CreationDate>1538202588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202588</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o306\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o308\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1005\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1131\">\n<a:ObjectID>5D69B943-755C-4D8A-90CC-525B02C3D50C</a:ObjectID>\n<a:CreationDate>1538202588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202588</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o995\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1012\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o201\">\n<a:ObjectID>3A33B8D1-62CE-4DF3-9EAE-8F419CAA8AA8</a:ObjectID>\n<a:Name>Reference_73</a:Name>\n<a:Code>Reference_73</a:Code>\n<a:CreationDate>1538202927</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202927</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o278\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o309\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o733\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1132\">\n<a:ObjectID>C4F1E261-E196-4270-8809-851FB823B079</a:ObjectID>\n<a:CreationDate>1538202927</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202927</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o723\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1015\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o203\">\n<a:ObjectID>409CA456-66FD-4551-9709-9B58BAD20CBC</a:ObjectID>\n<a:Name>Reference_74</a:Name>\n<a:Code>Reference_74</a:Code>\n<a:CreationDate>1538202929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202929</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o306\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o309\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1005\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1133\">\n<a:ObjectID>9040B9D2-76A5-43F5-8889-3E21C379E806</a:ObjectID>\n<a:CreationDate>1538202929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202929</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o995\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1016\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o205\">\n<a:ObjectID>D8C09BAD-5666-4751-B992-C48035FB286A</a:ObjectID>\n<a:Name>Reference_75</a:Name>\n<a:Code>Reference_75</a:Code>\n<a:CreationDate>1539746524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o300\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1134\">\n<a:ObjectID>6D41CF48-9B5F-47F1-8391-F0BC65998A26</a:ObjectID>\n<a:CreationDate>1539746524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o926\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o207\">\n<a:ObjectID>E104E0D2-AE63-4FC2-8695-C31D32B33047</a:ObjectID>\n<a:Name>Reference_76</a:Name>\n<a:Code>Reference_76</a:Code>\n<a:CreationDate>1541490540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o268\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1135\">\n<a:ObjectID>933A26A1-5D64-4E1E-A05E-F70A9A4571A1</a:ObjectID>\n<a:CreationDate>1541490552</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o642\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o211\">\n<a:ObjectID>490FFEDD-0E16-49CD-83FA-07FE29AB81E1</a:ObjectID>\n<a:Name>Reference_77</a:Name>\n<a:Code>Reference_77</a:Code>\n<a:CreationDate>1542179374</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179374</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o276\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o311\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o714\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1136\">\n<a:ObjectID>CF2A4EB2-4046-4B11-A333-E288CA091AFF</a:ObjectID>\n<a:CreationDate>1542179374</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179374</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o708\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1027\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o214\">\n<a:ObjectID>C932213B-EF31-4E19-9C72-6C17A0AFDB6D</a:ObjectID>\n<a:Name>Reference_78</a:Name>\n<a:Code>Reference_78</a:Code>\n<a:CreationDate>1542179394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o310\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o311\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1025\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1137\">\n<a:ObjectID>F03E2D7F-4760-4BDE-AB11-2394F26DB466</a:ObjectID>\n<a:CreationDate>1542179394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1019\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1028\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o216\">\n<a:ObjectID>17B2ADB4-4810-47D6-B703-99E62E4AFA4D</a:ObjectID>\n<a:Name>Reference_79</a:Name>\n<a:Code>Reference_79</a:Code>\n<a:CreationDate>1542179438</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o311\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1138\">\n<a:ObjectID>389ADFA5-E125-4583-ADBE-95053D3F0C72</a:ObjectID>\n<a:CreationDate>1542179440</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1029\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o219\">\n<a:ObjectID>4E8DE47E-16C3-4F6B-B284-06B30C3CB07D</a:ObjectID>\n<a:Name>Reference_80</a:Name>\n<a:Code>Reference_80</a:Code>\n<a:CreationDate>1580625109</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625129</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o312\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o312\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1044\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1139\">\n<a:ObjectID>9085DD5C-8F83-493E-9CFE-628DA54C8B96</a:ObjectID>\n<a:CreationDate>1580625109</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625129</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1035\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1036\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o222\">\n<a:ObjectID>46BCEBF1-E21B-4EB3-A8DE-A5A2BAFFFBB6</a:ObjectID>\n<a:Name>Reference_81</a:Name>\n<a:Code>Reference_81</a:Code>\n<a:CreationDate>1580625333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625333</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o314\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1140\">\n<a:ObjectID>A48E310F-1E8C-4B06-AF1B-4D070613C9E4</a:ObjectID>\n<a:CreationDate>1580625333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625333</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1053\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o224\">\n<a:ObjectID>D4BF3C8D-A91A-4E49-82E9-CB738227C8C8</a:ObjectID>\n<a:Name>Reference_82</a:Name>\n<a:Code>Reference_82</a:Code>\n<a:CreationDate>1580625352</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625352</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o312\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o314\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1044\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1141\">\n<a:ObjectID>BF0FFD9A-62E7-47E9-84FB-9F2E08021926</a:ObjectID>\n<a:CreationDate>1580625352</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625352</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1035\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1054\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o227\">\n<a:ObjectID>2E6DA228-0727-43B1-8814-D25233A0BCC6</a:ObjectID>\n<a:Name>Reference_83</a:Name>\n<a:Code>Reference_83</a:Code>\n<a:CreationDate>1580625421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o315\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1142\">\n<a:ObjectID>6F492BCB-5604-4D5C-9DFE-B622A7D5FC91</a:ObjectID>\n<a:CreationDate>1580625421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1057\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o230\">\n<a:ObjectID>CB1FAF78-7706-4745-8F2F-A9B2BDCFA7D2</a:ObjectID>\n<a:Name>Reference_84</a:Name>\n<a:Code>Reference_84</a:Code>\n<a:CreationDate>1580625435</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625435</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o313\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o315\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1051\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1143\">\n<a:ObjectID>B77FA1D0-9DDC-4FD9-B5FA-24CF8FE39B40</a:ObjectID>\n<a:CreationDate>1580625435</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625435</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1045\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1058\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o233\">\n<a:ObjectID>F00FBAAE-944C-4129-B221-009502135923</a:ObjectID>\n<a:Name>Reference_85</a:Name>\n<a:Code>Reference_85</a:Code>\n<a:CreationDate>1580869150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o316\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o313\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1064\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1144\">\n<a:ObjectID>6D8367E1-F1BA-4FAF-A735-B63D8A8D5D7A</a:ObjectID>\n<a:CreationDate>1580869150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1060\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1046\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n</c:References>\n<c:DefaultGroups>\n<o:Group Id=\"o1145\">\n<a:ObjectID>48492A0F-63AD-4453-B46B-89915CC87545</a:ObjectID>\n<a:Name>PUBLIC</a:Name>\n<a:Code>PUBLIC</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521705583</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n</o:Group>\n</c:DefaultGroups>\n<c:TargetModels>\n<o:TargetModel Id=\"o1146\">\n<a:ObjectID>232AA7B8-E743-48F3-9530-102684B229BE</a:ObjectID>\n<a:Name>MySQL 5.0</a:Name>\n<a:Code>MYSQL50</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521705583</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:TargetModelURL>file:///%_DBMS%/mysql50.xdb</a:TargetModelURL>\n<a:TargetModelID>F4F16ECD-F2F1-4006-AF6F-638D5C65F35E</a:TargetModelID>\n<a:TargetModelClassID>4BA9F647-DAB1-11D1-9944-006097355D9B</a:TargetModelClassID>\n<a:TargetModelLastModificationDate>1276524678</a:TargetModelLastModificationDate>\n<c:SessionShortcuts>\n<o:Shortcut Ref=\"o3\"/>\n</c:SessionShortcuts>\n</o:TargetModel>\n</c:TargetModels>\n</o:Model>\n</c:Children>\n</o:RootObject>\n\n</Model>"
  },
  {
    "path": "document/pdm/mall.pdm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?PowerDesigner AppLocale=\"UTF16\" ID=\"{7BB41C87-EFE8-409A-A86E-B1C3FCE34F8C}\" Label=\"\" LastModificationDate=\"1586932707\" Name=\"mall\" Objects=\"1188\" Symbols=\"156\" Target=\"MySQL 5.0\" Type=\"{CDE44E21-9669-11D1-9914-006097355D9B}\" signature=\"PDM_DATA_MODEL_XML\" version=\"16.5.0.3982\"?>\n<!-- do not edit this file -->\n\n<Model xmlns:a=\"attribute\" xmlns:c=\"collection\" xmlns:o=\"object\">\n\n<o:RootObject Id=\"o1\">\n<c:Children>\n<o:Model Id=\"o2\">\n<a:ObjectID>7BB41C87-EFE8-409A-A86E-B1C3FCE34F8C</a:ObjectID>\n<a:Name>mall</a:Name>\n<a:Code>mall</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1586932560</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:PackageOptionsText>[FolderOptions]\n\n[FolderOptions\\Physical Objects]\nGenerationCheckModel=Yes\nGenerationPath=\nGenerationOptions=\nGenerationTasks=\nGenerationTargets=\nGenerationSelections=\nRevPkey=Yes\nRevFkey=Yes\nRevAkey=Yes\nRevCheck=Yes\nRevIndx=Yes\nRevOpts=Yes\nRevViewAsTabl=No\nRevViewOpts=Yes\nRevSystAsTabl=Yes\nRevTablPerm=No\nRevViewPerm=No\nRevProcPerm=No\nRevDbpkPerm=No\nRevSqncPerm=No\nRevAdtPerm=No\nRevUserPriv=No\nRevUserOpts=No\nRevGrpePriv=No\nRevRolePriv=No\nRevDtbsOpts=Yes\nRevDtbsPerm=No\nRevViewIndx=Yes\nRevJidxOpts=Yes\nRevStats=No\nRevTspcPerm=No\nRevCaseSensitive=No\nGenTrgrStdMsg=Yes\nGenTrgrMsgTab=\nGenTrgrMsgNo=\nGenTrgrMsgTxt=\nTrgrPreserve=No\nTrgrIns=Yes\nTrgrUpd=Yes\nTrgrDel=Yes\nTrgrC2Ins=Yes\nTrgrC2Upd=Yes\nTrgrC3=Yes\nTrgrC4=Yes\nTrgrC5=Yes\nTrgrC6=Yes\nTrgrC7=Yes\nTrgrC8=Yes\nTrgrC9=Yes\nTrgrC10=Yes\nTrgrC11=Yes\nTrgrC1=Yes\nTrgrC12Ins=Yes\nTrgrC12Upd=Yes\nTrgrC13=Yes\nUpdateTableStatistics=Yes\nUpdateColumnStatistics=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation]\nGenScriptName=create.sql\nGenScriptName0=update.sql\nGenScriptName1=crebas.sql\nGenScriptName2=crebas\nGenScriptName3=\nGenScriptName4=\nGenScriptName5=\nGenScriptName6=\nGenScriptName7=\nGenScriptName8=\nGenScriptName9=\nGenPathName=C:\\Users\\zhenghong\\Desktop\\\nGenSingleFile=Yes\nGenODBC=No\nGenCheckModel=Yes\nGenScriptPrev=Yes\nGenArchiveModel=No\nGenUseSync=No\nGenSyncChoice=0\nGenSyncArch=\nGenSyncRmg=0\n\n[FolderOptions\\Physical Objects\\Database Generation\\Format]\nGenScriptTitle=Yes\nGenScriptNamLabl=No\nGenScriptQDtbs=No\nGenScriptQOwnr=Yes\nGenScriptCase=0\nGenScriptEncoding=UTF8\nGenScriptNAcct=No\nIdentifierDelimiter=&quot;\n\n[FolderOptions\\Physical Objects\\Database Generation\\Database]\nCreate=Yes\nOpen=Yes\nClose=Yes\nDrop=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Database\\Create]\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Tablespace]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Tablespace\\Create]\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Storage]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\User]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPrivilege=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\User\\Create]\nPhysical Options=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Group]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPrivilege=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Role]\nCreate=Yes\nDrop=Yes\nPrivilege=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\UserDefinedDataType]\nCreate=Yes\nComment=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\UserDefinedDataType\\Create]\nDefault value=Yes\nCheck=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\AbstractDataType]\nCreate=Yes\nHeader=Yes\nFooter=Yes\nDrop=Yes\nComment=Yes\nInstall JAVA class=Yes\nRemove JAVA class=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Rule]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Default]\nCreate=Yes\nComment=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Sequence]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column]\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Table]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Table\\Create]\nCheck=Yes\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Table\\Create\\Check]\nConstraint declaration=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Column]\nUser datatype=No\nDefault value=Yes\nCheck=Yes\nPhysical Options=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Column\\Check]\nConstraint declaration=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key]\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Primary key]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Primary key\\Create]\nConstraint declaration=No\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Alternate key]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Key\\Alternate key\\Create]\nConstraint declaration=No\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Foreign key]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Foreign key\\Create]\nConstraint declaration=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Index]\nCreate=No\nDrop=No\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Index\\Create]\nConstraint declaration=Yes\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Index\\Filter]\nPrimary key=No\nForeign key=No\nAlternate key=No\nCluster=Yes\nOther=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Trigger]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Table&amp;&amp;Column\\Trigger\\Filter]\nFor insert=Yes\nFor update=Yes\nFor delete=Yes\nFor other=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\Create]\nForce Column list=No\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewColumn]\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewIndex]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewIndex\\Create]\nPhysical Options=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\ViewIndex\\Filter]\nCluster=Yes\nOther=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\Trigger]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\View\\Trigger\\Filter]\nFor insert=Yes\nFor update=Yes\nFor delete=Yes\nFor other=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\DBMSTrigger]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Synonym]\nCreate=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Synonym\\Filter]\nTable=Yes\nView=Yes\nProc=Yes\nSynonym=Yes\nDatabase Package=Yes\nSequence=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\JoinIndex]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\JoinIndex\\Create]\nPhysical Options=Yes\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Procedure]\nCreate=Yes\nDrop=Yes\nComment=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\Procedure\\Create]\nHeader=Yes\nFooter=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\DatabasePackage]\nCreate=Yes\nDrop=Yes\nPermission=No\n\n[FolderOptions\\Physical Objects\\Database Generation\\WebService]\nCreate=Yes\nDrop=Yes\nComment=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Dimension]\nCreate=Yes\nDrop=Yes\n\n[FolderOptions\\Physical Objects\\Database Generation\\Synchronization]\nGenBackupTabl=1\nGenKeepBackTabl=1\nGenTmpTablDrop=No\nGenKeepTablOpts=No\n\n[FolderOptions\\Physical Objects\\Test Data]\nGenDataPathName=C:\\Users\\zhenghong\\Desktop\\\nGenDataSinglefile=Yes\nGenDataScriptName=testdata.sql\nGenDataScriptName0=\nGenDataScriptName1=\nGenDataScriptName2=\nGenDataScriptName3=\nGenDataScriptName4=\nGenDataScriptName5=\nGenDataScriptName6=\nGenDataScriptName7=\nGenDataScriptName8=\nGenDataScriptName9=\nGenDataOdbc=0\nGenDataDelOld=No\nGenDataTitle=No\nGenDataDefNumRows=20\nGenDataCommit=0\nGenDataPacket=0\nGenDataOwner=No\nGenDataProfNumb=\nGenDataProfChar=\nGenDataProfDate=\nGenDataCSVSeparator=,\nGenDataFileFormat=CSV\nGenDataUseWizard=No\n\n[FolderOptions\\Pdm]\nIndxIQName=%COLUMN%_%INDEXTYPE%\nIndxPK=Yes\nIndxFK=Yes\nIndxAK=Yes\nIndxPKName=%TABLE%_PK\nIndxFKName=%REFR%_FK\nIndxAKName=%AKEY%_AK\nIndxPreserve=No\nIndxThreshold=0\nIndxStats=No\nRefrPreserve=No\nJidxPreserve=No\nRbldMultiFact=Yes\nRbldMultiDim=Yes\nRbldMultiJidx=Yes\nCubePreserve=No\nTablStProcPreserve=No\nProcDepPreserve=Yes\nTrgrDepPreserve=Yes\nCubeScriptPath=\nCubeScriptCase=0\nCubeScriptEncoding=ANSI\nCubeScriptNacct=No\nCubeScriptHeader=No\nCubeScriptExt=csv\nCubeScriptExt0=txt\nCubeScriptExt1=\nCubeScriptExt2=\nCubeScriptSep=,\nCubeScriptDeli=&quot;\nEstimationYears=0\nDfltDomnName=D_%.U:VALUE%\nDfltColnName=D_%.U:VALUE%\nDfltReuse=Yes\nDfltDrop=Yes\n\n[FolderOptions\\CheckModel]\n\n[FolderOptions\\CheckModel\\Package]\n\n[FolderOptions\\CheckModel\\Package\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CheckPackageMissTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\DefaultCheckPackageMissTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CircularReference]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\ConstraintName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CnstMaxLen]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\CircularDependency]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Package\\ShortcutUniqCode]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Table]\n\n[FolderOptions\\CheckModel\\Table\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\UniqIndex]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MaxLen - NAME]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - COLNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - INDXCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - KEYCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\SerialColumnNumber]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyCollYesYes]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\TableIndexes]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\Mapping]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MappingSFMap]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\EmptyColl - PERMCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Table\\CheckTablePartitionKey]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableStartDate]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableRefNoLifecycle]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableSourceMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTablePartialColumnMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableKeyColumnMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\CheckTableNotOnLifecycleTablespace]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table\\MYSQL50_Table_Table_storage_type]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column]\n\n[FolderOptions\\CheckModel\\Table.Column\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\DomainDivergence]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColumnMandatory]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckNumParam]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckPrecSupLng]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckUndefDttp]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\FkeyDttpDivergence]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\FkeyCheckDivergence]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColnSqncNoKey]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColnSqncDttp]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\SerialColumnFK]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\ColumnCompExpr]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckColumnOneToOneMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckColumnDataTypeMapping]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckColumnNoMapping]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\CheckDttpIncompatibleFormat]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\MYSQL50_Column_Auto_increment_key]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Column\\MYSQL50_Column_Datatype_attributes]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index]\n\n[FolderOptions\\CheckModel\\Table.Index\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\EmptyColl - CIDXCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\UndefIndexType]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\IndexColumnCount]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\IQIndxHNGUniq]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\CheckIncludeColl - Tabl]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Index\\MYSQL50_Index_Fulltext_indexes_validity]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key]\n\n[FolderOptions\\CheckModel\\Table.Key\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\EmptyColl - COLNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\CheckIncludeColl - Tabl]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Key\\MultiKeySqnc]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger]\n\n[FolderOptions\\CheckModel\\Table.Trigger\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table.Trigger\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index]\n\n[FolderOptions\\CheckModel\\Join Index\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Join Index\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View]\n\n[FolderOptions\\CheckModel\\View\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View\\EmptyColl - PERMCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\View.View Index]\n\n[FolderOptions\\CheckModel\\View.View Index\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\EmptyColl - CIDXCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\IndexColumnCount]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View.View Index\\CheckIncludeColl - Tabl]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference]\n\n[FolderOptions\\CheckModel\\Reference\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\Reflexive]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\EmptyColl - RFJNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\IncompleteJoin]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Reference\\JoinOrder]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference]\n\n[FolderOptions\\CheckModel\\View Reference\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\View Reference\\EmptyColl - VRFJNCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain]\n\n[FolderOptions\\CheckModel\\Domain\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckNumParam]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckPrecSupLng]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckUndefDttp]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Domain\\CheckDttpIncompatibleFormat]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default]\n\n[FolderOptions\\CheckModel\\Default\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DfltValeEmpty]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Default\\DfltSameVale]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User]\n\n[FolderOptions\\CheckModel\\User\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\User\\UniquePassword]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Group]\n\n[FolderOptions\\CheckModel\\Group\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\EmptyColl - USERCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Group\\UniquePassword]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Role]\n\n[FolderOptions\\CheckModel\\Role\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Role\\EmptyColl - USERCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure]\n\n[FolderOptions\\CheckModel\\Procedure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\ProcBodyEmpty]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Procedure\\EmptyColl - PERMCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\DBMS Trigger]\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\DBMS Trigger\\DbmsTriggerEvent]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source]\n\n[FolderOptions\\CheckModel\\Data Source\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\EmptyColl - MODLSRC]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\DtscTargets]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Source\\CheckDataSourceModels]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning]\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\EmptyColl - PARTCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Horizontal Partitioning\\TargetTables]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning]\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\EmptyColl - PARTCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Vertical Partitioning\\TargetTables]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing]\n\n[FolderOptions\\CheckModel\\Table Collapsing\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing\\EmptyColl - TargetTable]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Table Collapsing\\TargetTables]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact]\n\n[FolderOptions\\CheckModel\\Fact\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\EmptyColl - MEASCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\Mapping]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\MappingSFMap]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\EmptyColl - ALLOLINKCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact\\CubeDupAssociation]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension]\n\n[FolderOptions\\CheckModel\\Dimension\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\EmptyColl - DATTRCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\EmptyColl - HIERCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DimnDupHierarchy]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\DimnDefHierarchy]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\Mapping]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\MappingSFMap]\nCheckSeverity=No\nFixRequested=Yes\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension\\SerialColumnNumber]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association]\n\n[FolderOptions\\CheckModel\\Association\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Association\\EmptyColl - Hierarchy]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute]\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Attribute\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure]\n\n[FolderOptions\\CheckModel\\Fact.Measure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Fact.Measure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy]\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Dimension.Hierarchy\\EmptyColl - DATTRCOL]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym]\n\n[FolderOptions\\CheckModel\\Synonym\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\MaxLen - NAME]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Synonym\\EmptyColl - BASEOBJ]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type]\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\AdtInstantiable]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type\\AdtAbstractUsed]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure]\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\AdtProcUniqName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Abstract Data Type.Abstract Data Type Procedure\\ReturnDataType]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package]\n\n[FolderOptions\\CheckModel\\Database Package\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\MaxLen - NAME]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - PROCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - CURCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - VARCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - TYPCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package\\EmptyColl - EXCCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\EmptyColl - PARM]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Procedure\\ReturnDataType]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence]\n\n[FolderOptions\\CheckModel\\Sequence\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Sequence\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\ReturnDataType]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Cursor\\EmptyColl - PARM]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=No\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Variable\\CheckUndefDttp]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Type\\UniqueDefinition]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception]\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database Package.Database Package Exception\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace]\n\n[FolderOptions\\CheckModel\\Tablespace\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Tablespace\\IsObjectUsed]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage]\n\n[FolderOptions\\CheckModel\\Storage\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Storage\\IsObjectUsed]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database]\n\n[FolderOptions\\CheckModel\\Database\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Database\\IsObjectUsed]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service]\n\n[FolderOptions\\CheckModel\\Web Service\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation]\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Web Service.Web Operation\\MaxLen - CODE]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle]\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckLifecyclePhase]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckLifecycleRetention]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle\\CheckPartitionRange]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase]\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseTbspace]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseIQTbspace]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseDuplicateTbspace]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseTbspaceCurrency]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseRetention]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseIdlePeriod]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseDataSource]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Lifecycle.Phase\\CheckPhaseExternalOnFirst]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Replication]\n\n[FolderOptions\\CheckModel\\Replication\\PartialReplication]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule]\n\n[FolderOptions\\CheckModel\\Business Rule\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Business Rule\\EmptyColl - OBJCOL]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object]\n\n[FolderOptions\\CheckModel\\Extended Object\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Object\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link]\n\n[FolderOptions\\CheckModel\\Extended Link\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Extended Link\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File]\n\n[FolderOptions\\CheckModel\\File\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\File\\CheckPathExists]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format]\n\n[FolderOptions\\CheckModel\\Data Format\\CheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\CheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\DefaultCheckUseOnlyTerms]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\DefaultCheckUseTermBySynonym]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\NotApprovedTerms]\nCheckSeverity=Yes\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\UniqueName]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\UniqueCode]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes\n\n[FolderOptions\\CheckModel\\Data Format\\CheckDataFormatNullExpression]\nCheckSeverity=No\nFixRequested=No\nCheckRequested=Yes</a:PackageOptionsText>\n<a:ModelOptionsText>[ModelOptions]\n\n[ModelOptions\\Physical Objects]\nCaseSensitive=No\nDisplayName=Yes\nEnableTrans=No\nUseTerm=No\nEnableRequirements=No\nEnableFullShortcut=Yes\nDefaultDttp=\nIgnoreOwner=No\nRebuildTrigger=Yes\nRefrUnique=No\nRefrAutoMigrate=Yes\nRefrMigrateReuse=No\nRefrMigrateDomain=Yes\nRefrMigrateCheck=Yes\nRefrMigrateRule=Yes\nRefrMigrateExtd=No\nRefrMigrDefaultLink=No\nRefrDfltImpl=D\nRefrPrgtColn=No\nRefrMigrateToEnd=No\nRebuildTriggerDep=No\nColnFKName=%.3:PARENT%_%COLUMN%\nColnFKNameUse=No\nDomnCopyDttp=Yes\nDomnCopyChck=No\nDomnCopyRule=No\nDomnCopyMand=No\nDomnCopyExtd=No\nDomnCopyProf=No\nNotation=0\nDomnDefaultMandatory=No\nColnDefaultMandatory=No\nTablDefaultOwner=\nViewDefaultOwner=\nTrgrDefaultOwnerTabl=\nTrgrDefaultOwnerView=\nIdxDefaultOwnerTabl=\nIdxDefaultOwnerView=\nJdxDefaultOwner=\nDBPackDefaultOwner=\nSeqDefaultOwner=\nProcDefaultOwner=\nDBMSTrgrDefaultOwner=\nCurrency=USD\nRefrDeleteConstraint=1\nRefrUpdateConstraint=1\nRefrParentMandatory=No\nRefrParentChangeAllow=Yes\nRefrCheckOnCommit=No\n\n[ModelOptions\\Physical Objects\\NamingOptionsTemplates]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMPCKG]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMPCKG\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMPCKG\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMDOMN]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMDOMN\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\PDMDOMN\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\TABL]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\TABL\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\TABL\\Code]\nTemplate=\nMaxLen=64\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\COLN]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\COLN\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\COLN\\Code]\nTemplate=\nMaxLen=64\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\INDX]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\INDX\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\INDX\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\REFR]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\REFR\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\REFR\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VREF]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VREF\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VREF\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEW]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEW\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEW\\Code]\nTemplate=\nMaxLen=64\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEWC]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEWC\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\VIEWC\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBSERV]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBSERV\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBSERV\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=&#39;a&#39;-&#39;z&#39;,&#39;A&#39;-&#39;Z&#39;,&#39;0&#39;-&#39;9&#39;,&quot;/-_.!~*&#39;()&quot;\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBOP]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBOP\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WEBOP\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=&#39;a&#39;-&#39;z&#39;,&#39;A&#39;-&#39;Z&#39;,&#39;0&#39;-&#39;9&#39;,&quot;/-_.!~*&#39;()&quot;\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WPARAM]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WPARAM\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\WPARAM\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FACT]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FACT\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FACT\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DIMN]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DIMN\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DIMN\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\MEAS]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\MEAS\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\MEAS\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DATTR]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DATTR\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DATTR\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FILO]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FILO\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FILO\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMEOBJ]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMEOBJ\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMEOBJ\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMELNK]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMELNK\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\FRMELNK\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DefaultClass]\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DefaultClass\\Name]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Physical Objects\\ClssNamingOptions\\DefaultClass\\Code]\nTemplate=\nMaxLen=254\nCase=M\nValidChar=\nInvldChar=\nAllValid=Yes\nNoAccent=No\nDefaultChar=\nScript=\nConvTable=\nConvTablePath=%_HOME%\\Resource Files\\Conversion Tables\n\n[ModelOptions\\Connection]\n\n[ModelOptions\\Pdm]\n\n[ModelOptions\\Generate]\n\n[ModelOptions\\Generate\\Xsm]\nGenRootElement=Yes\nGenComplexType=No\nGenAttribute=Yes\nCheckModel=Yes\nSaveLinks=Yes\nORMapping=No\nNameToCode=No\n\n[ModelOptions\\Generate\\Pdm]\nRRMapping=No\n\n[ModelOptions\\Generate\\Cdm]\nCheckModel=Yes\nSaveLinks=Yes\nNameToCode=No\nNotation=2\n\n[ModelOptions\\Generate\\Oom]\nCheckModel=Yes\nSaveLinks=Yes\nORMapping=No\nNameToCode=Yes\nClassPrefix=\n\n[ModelOptions\\Generate\\Ldm]\nCheckModel=Yes\nSaveLinks=Yes\nNameToCode=No\n\n[ModelOptions\\Default Opts]\n\n[ModelOptions\\Default Opts\\TABL]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\COLN]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\INDX]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\AKEY]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\PKEY]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\STOR]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\TSPC]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\SQNC]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\DTBS]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\USER]\nPhysOpts=\n\n[ModelOptions\\Default Opts\\JIDX]\nPhysOpts=</a:ModelOptionsText>\n<c:DBMS>\n<o:Shortcut Id=\"o3\">\n<a:ObjectID>14D4F090-917F-4538-8687-B423AA42B832</a:ObjectID>\n<a:Name>MySQL 5.0</a:Name>\n<a:Code>MYSQL50</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521705583</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:TargetStereotype/>\n<a:TargetID>F4F16ECD-F2F1-4006-AF6F-638D5C65F35E</a:TargetID>\n<a:TargetClassID>4BA9F647-DAB1-11D1-9944-006097355D9B</a:TargetClassID>\n</o:Shortcut>\n</c:DBMS>\n<c:PhysicalDiagrams>\n<o:PhysicalDiagram Id=\"o4\">\n<a:ObjectID>137EC109-4534-4C7A-BB72-091B8362EA59</a:ObjectID>\n<a:Name>diagram</a:Name>\n<a:Code>diagram</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DisplayPreferences>[DisplayPreferences]\n\n[DisplayPreferences\\PDM]\n\n[DisplayPreferences\\General]\nAdjust to text=Yes\nSnap Grid=No\nConstrain Labels=Yes\nDisplay Grid=No\nShow Page Delimiter=Yes\nShow Links intersections=Yes\nActivate automatic link routing=Yes\nGrid size=800\nGraphic unit=2\nWindow color=255 255 255\nBackground image=\nBackground mode=8\nWatermark image=\nWatermark mode=8\nShow watermark on screen=No\nGradient mode=0\nGradient end color=255 255 255\nShow Swimlane=No\nSwimlaneVert=Yes\nTreeVert=No\nCompDark=0\n\n[DisplayPreferences\\Object]\nShow Icon=No\nMode=2\nTrunc Length=40\nWord Length=40\nWord Text=!&quot;#$%&amp;&#39;)*+,-./:;=&gt;?@\\]^_`|}~\nShortcut IntIcon=Yes\nShortcut IntLoct=Yes\nShortcut IntFullPath=No\nShortcut IntLastPackage=Yes\nShortcut ExtIcon=Yes\nShortcut ExtLoct=No\nShortcut ExtFullPath=No\nShortcut ExtLastPackage=Yes\nShortcut ExtIncludeModl=Yes\nEObjShowStrn=Yes\nExtendedObject.Comment=No\nExtendedObject.IconPicture=No\nExtendedObject.TextStyle=No\nExtendedObject_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Object Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nELnkShowStrn=Yes\nELnkShowName=Yes\nExtendedLink_SymbolLayout=&lt;Form&gt;[CRLF] &lt;Form Name=&quot;Center&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Source&quot; &gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Destination&quot; &gt;[CRLF] &lt;/Form&gt;[CRLF]&lt;/Form&gt;\nFileObject.Stereotype=No\nFileObject.DisplayName=Yes\nFileObject.LocationOrName=No\nFileObject.IconPicture=No\nFileObject.TextStyle=No\nFileObject.IconMode=Yes\nFileObject_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Location&quot; Attribute=&quot;LocationOrName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nPackage.Stereotype=Yes\nPackage.Comment=No\nPackage.IconPicture=No\nPackage.TextStyle=No\nPackage_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nDisplay Model Version=Yes\nTable.Stereotype=Yes\nTable.DisplayName=Yes\nTable.OwnerDisplayName=No\nTable.Columns=Yes\nTable.Columns._Filter=&quot;All Columns&quot; PDMCOLNALL\nTable.Columns._Columns=Stereotype DataType KeyIndicator\nTable.Columns._Limit=-5\nTable.Keys=No\nTable.Keys._Columns=Stereotype Indicator\nTable.Indexes=No\nTable.Indexes._Columns=Stereotype\nTable.Triggers=No\nTable.Triggers._Columns=Stereotype\nTable.Comment=No\nTable.IconPicture=No\nTable.TextStyle=No\nTable_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Owner and Name&quot; Attribute=&quot;OwnerDisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Columns&quot; Collection=&quot;Columns&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes\\r\\nDataType No\\r\\nSymbolDataType No &amp;quot;Domain or Data type&amp;quot;\\r\\nDomain No\\r\\nKeyIndicator No\\r\\nIndexIndicator No\\r\\nNullStatus No&quot; Filters=&quot;&amp;quot;All Columns&amp;quot;  PDMCOLNALL &amp;quot;&amp;quot;\\r\\n&amp;quot;PK Columns&amp;quot;  PDMCOLNPK &amp;quot;\\&amp;quot;PRIM \\&amp;quot;TRUE\\&amp;quot; TRUE\\&amp;quot;&amp;quot;\\r\\n&amp;quot;Key Columns&amp;quot;  PDMCOLNKEY &amp;quot;\\&amp;quot;KEYS \\&amp;quot;TRUE\\&amp;quot; TRUE\\&amp;quot;&amp;quot;&quot; HasLimit=&quot;Yes&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Keys&quot; Collection=&quot;Keys&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes\\r\\nIndicator No&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Indexes&quot; Collection=&quot;Indexes&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes\\r\\nIndicator No&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Triggers&quot; Collection=&quot;Triggers&quot; Columns=&quot;Stereotype No\\r\\nDisplayName Yes&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nView.Stereotype=Yes\nView.DisplayName=Yes\nView.OwnerDisplayName=No\nView.Columns=Yes\nView.Columns._Columns=DisplayName\nView.Columns._Limit=-5\nView.TemporaryVTables=Yes\nView.Indexes=No\nView.Comment=No\nView.IconPicture=No\nView.TextStyle=No\nView_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Owner and Name&quot; Attribute=&quot;OwnerDisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Columns&quot; Collection=&quot;Columns&quot; Columns=&quot;DisplayName No\\r\\nExpression No\\r\\nDataType No\\r\\nSymbolDataType No &amp;quot;Domain or Data type&amp;quot;\\r\\nIndexIndicator No&quot; HasLimit=&quot;Yes&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Tables&quot; Collection=&quot;TemporaryVTables&quot; Columns=&quot;Name Yes&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardCollection Name=&quot;Indexes&quot; Collection=&quot;Indexes&quot; Columns=&quot;DisplayName Yes&quot; HasLimit=&quot;No&quot; HideEmpty=&quot;No&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nProcedure.Stereotype=No\nProcedure.DisplayName=Yes\nProcedure.OwnerDisplayName=No\nProcedure.Comment=No\nProcedure.IconPicture=No\nProcedure.TextStyle=No\nProcedure_SymbolLayout=&lt;Form&gt;[CRLF] &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;Yes&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Owner and Name&quot; Attribute=&quot;OwnerDisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/ExclusiveChoice&gt;[CRLF] &lt;Separator Name=&quot;Separator&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Comment&quot; Attribute=&quot;Comment&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;LEFT&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Icon&quot; Attribute=&quot;IconPicture&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF] &lt;StandardAttribute Name=&quot;Force top align&quot; Attribute=&quot;TextStyle&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Alignment=&quot;CNTR&quot; Caption=&quot;&quot; Mandatory=&quot;Yes&quot; /&gt;[CRLF]&lt;/Form&gt;\nReference.Cardinality=No\nReference.ImplementationType=No\nReference.ChildRole=Yes\nReference.Stereotype=Yes\nReference.DisplayName=No\nReference.ForeignKeyConstraintName=No\nReference.JoinExpression=No\nReference.Integrity=No\nReference.ParentRole=Yes\nReference_SymbolLayout=&lt;Form&gt;[CRLF] &lt;Form Name=&quot;Source&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Cardinality&quot; Attribute=&quot;Cardinality&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Implementation&quot; Attribute=&quot;ImplementationType&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Child Role&quot; Attribute=&quot;ChildRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Center&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;No&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]   &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]   &lt;StandardAttribute Name=&quot;Cons&amp;amp;traint Name&quot; Attribute=&quot;ForeignKeyConstraintName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;Cons&amp;amp;traint Name&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]   &lt;StandardAttribute Name=&quot;Join&quot; Attribute=&quot;JoinExpression&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;Join&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;/ExclusiveChoice&gt;[CRLF]  &lt;StandardAttribute Name=&quot;Referential integrity&quot; Attribute=&quot;Integrity&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;Referential integrity&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Destination&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Parent Role&quot; Attribute=&quot;ParentRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF]&lt;/Form&gt;\nViewReference.ChildRole=Yes\nViewReference.Stereotype=Yes\nViewReference.DisplayName=No\nViewReference.JoinExpression=No\nViewReference.ParentRole=Yes\nViewReference_SymbolLayout=&lt;Form&gt;[CRLF] &lt;Form Name=&quot;Source&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Child Role&quot; Attribute=&quot;ChildRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Center&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Stereotype&quot; Attribute=&quot;Stereotype&quot; Prefix=&quot;&amp;lt;&amp;lt;&quot; Suffix=&quot;&amp;gt;&amp;gt;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;ExclusiveChoice Name=&quot;Exclusive Choice&quot; Mandatory=&quot;No&quot; Display=&quot;HorizontalRadios&quot; &gt;[CRLF]   &lt;StandardAttribute Name=&quot;Name&quot; Attribute=&quot;DisplayName&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]   &lt;StandardAttribute Name=&quot;Join Expression&quot; Attribute=&quot;JoinExpression&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF]  &lt;/ExclusiveChoice&gt;[CRLF] &lt;/Form&gt;[CRLF] &lt;Form Name=&quot;Destination&quot; &gt;[CRLF]  &lt;StandardAttribute Name=&quot;Parent Role&quot; Attribute=&quot;ParentRole&quot; Prefix=&quot;&quot; Suffix=&quot;&quot; Caption=&quot;&quot; Mandatory=&quot;No&quot; /&gt;[CRLF] &lt;/Form&gt;[CRLF]&lt;/Form&gt;\n\n[DisplayPreferences\\Symbol]\n\n[DisplayPreferences\\Symbol\\FRMEOBJ]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=6000\nHeight=2000\nBrush color=255 255 255\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=64\nBrush gradient color=192 192 192\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 255 128 128\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\FRMELNK]\nCENTERFont=新宋体,8,N\nCENTERFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 128 255\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\FILO]\nOBJSTRNFont=新宋体,8,N\nOBJSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nLCNMFont=新宋体,8,N\nLCNMFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=3600\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 0 255\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\PDMPCKG]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=4000\nBrush color=255 255 192\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 178 178 178\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\TABL]\nSTRNFont=新宋体,10,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nOWNRDISPNAMEFont=新宋体,8,N\nOWNRDISPNAMEFont color=0 0 0\nColumnsFont=新宋体,8,N\nColumnsFont color=0 0 0\nTablePkColumnsFont=新宋体,8,U\nTablePkColumnsFont color=0 0 0\nTableFkColumnsFont=新宋体,8,N\nTableFkColumnsFont color=0 0 0\nKeysFont=新宋体,8,N\nKeysFont color=0 0 0\nIndexesFont=新宋体,8,N\nIndexesFont color=0 0 0\nTriggersFont=新宋体,8,N\nTriggersFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=4000\nBrush color=178 214 252\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\VIEW]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nOWNRDISPNAMEFont=新宋体,8,N\nOWNRDISPNAMEFont color=0 0 0\nColumnsFont=新宋体,8,N\nColumnsFont color=0 0 0\nTablePkColumnsFont=新宋体,8,U\nTablePkColumnsFont color=0 0 0\nTableFkColumnsFont=新宋体,8,N\nTableFkColumnsFont color=0 0 0\nTemporaryVTablesFont=新宋体,8,N\nTemporaryVTablesFont color=0 0 0\nIndexesFont=新宋体,8,N\nIndexesFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4800\nHeight=4000\nBrush color=208 208 255\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\PROC]\nSTRNFont=新宋体,8,N\nSTRNFont color=0 0 0\nDISPNAMEFont=新宋体,8,N\nDISPNAMEFont color=0 0 0\nOWNRDISPNAMEFont=新宋体,8,N\nOWNRDISPNAMEFont color=0 0 0\nLABLFont=新宋体,8,N\nLABLFont color=0 0 0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nWidth=4000\nHeight=1000\nBrush color=255 255 192\nFill Color=Yes\nBrush style=6\nBrush bitmap mode=12\nBrush gradient mode=65\nBrush gradient color=255 255 255\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 108 0\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\REFR]\nSOURCEFont=新宋体,8,N\nSOURCEFont color=0 0 0\nCENTERFont=新宋体,8,N\nCENTERFont color=0 0 0\nDESTINATIONFont=新宋体,8,N\nDESTINATIONFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\VREF]\nSOURCEFont=新宋体,8,N\nSOURCEFont color=0 0 0\nCENTERFont=新宋体,8,N\nCENTERFont color=0 0 0\nDESTINATIONFont=新宋体,8,N\nDESTINATIONFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 128 128 192\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\USRDEPD]\nOBJXSTRFont=新宋体,8,N\nOBJXSTRFont color=0 0 0\nLine style=1\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=2 0 128 128 255\nShadow color=192 192 192\nShadow=0\n\n[DisplayPreferences\\Symbol\\Free Symbol]\nFree TextFont=新宋体,8,N\nFree TextFont color=0 0 0\nLine style=0\nAutoAdjustToText=Yes\nKeep aspect=No\nKeep center=No\nKeep size=No\nBrush color=255 255 255\nFill Color=Yes\nBrush style=1\nBrush bitmap mode=12\nBrush gradient mode=0\nBrush gradient color=118 118 118\nBrush background image=\nCustom shape=\nCustom text mode=0\nPen=1 0 0 0 255\nShadow color=192 192 192\nShadow=0</a:DisplayPreferences>\n<a:PaperSize>(2280, 128972)</a:PaperSize>\n<a:PageMargins>((315,354), (433,354))</a:PageMargins>\n<a:PageOrientation>1</a:PageOrientation>\n<a:PaperSource>15</a:PaperSource>\n<c:Symbols>\n<o:ReferenceSymbol Id=\"o5\">\n<a:CreationDate>1521706257</a:CreationDate>\n<a:ModificationDate>1522399274</a:ModificationDate>\n<a:Rect>((118,137911), (3606,139161))</a:Rect>\n<a:ListOfPoints>((518,138536),(3206,138536))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o7\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o8\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o9\">\n<a:CreationDate>1521710488</a:CreationDate>\n<a:ModificationDate>1522301998</a:ModificationDate>\n<a:Rect>((-32542,131813), (-18882,146342))</a:Rect>\n<a:ListOfPoints>((-32142,145942),(-32142,132438),(-19282,132438))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o10\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o11\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o12\">\n<a:CreationDate>1521770349</a:CreationDate>\n<a:ModificationDate>1522399160</a:ModificationDate>\n<a:Rect>((-19307,147483), (-18057,152962))</a:Rect>\n<a:ListOfPoints>((-18682,152562),(-18682,147883))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o13\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o14\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o15\">\n<a:CreationDate>1521771362</a:CreationDate>\n<a:ModificationDate>1522722888</a:ModificationDate>\n<a:Rect>((-2768,147483), (-1518,154573))</a:Rect>\n<a:ListOfPoints>((-2143,154173),(-2143,147883))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o16\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o17\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o18\">\n<a:CreationDate>1521773101</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((118,145689), (8052,147828))</a:Rect>\n<a:ListOfPoints>((518,146089),(4085,146089),(4085,147203),(7652,147203))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o20\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o21\">\n<a:CreationDate>1521783613</a:CreationDate>\n<a:ModificationDate>1522301998</a:ModificationDate>\n<a:Rect>((-36148,140470), (-18882,141720))</a:Rect>\n<a:ListOfPoints>((-19282,141095),(-35748,141095))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o22\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o23\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o24\">\n<a:CreationDate>1521791466</a:CreationDate>\n<a:ModificationDate>1522721783</a:ModificationDate>\n<a:Rect>((-35006,116007), (-18882,117257))</a:Rect>\n<a:ListOfPoints>((-34606,116632),(-19282,116632))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o25\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o26\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o27\">\n<a:CreationDate>1521792428</a:CreationDate>\n<a:ModificationDate>1522721669</a:ModificationDate>\n<a:Rect>((-37186,123158), (-18882,124408))</a:Rect>\n<a:ListOfPoints>((-36786,123783),(-19282,123783))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o28\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o29\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o30\">\n<a:CreationDate>1521792909</a:CreationDate>\n<a:ModificationDate>1522721672</a:ModificationDate>\n<a:Rect>((-36959,130601), (-18882,131851))</a:Rect>\n<a:ListOfPoints>((-36559,131226),(-19282,131226))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o31\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o32\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o33\">\n<a:CreationDate>1522045168</a:CreationDate>\n<a:ModificationDate>1522399263</a:ModificationDate>\n<a:Rect>((26779,91096), (28029,95555))</a:Rect>\n<a:ListOfPoints>((27404,91496),(27404,95155))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o34\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o35\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o36\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o37\">\n<a:CreationDate>1522046100</a:CreationDate>\n<a:ModificationDate>1522399263</a:ModificationDate>\n<a:Rect>((118,99478), (28233,125231))</a:Rect>\n<a:ListOfPoints>((518,124831),(27608,124831),(27608,99878))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o35\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o38\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o39\">\n<a:CreationDate>1522046451</a:CreationDate>\n<a:ModificationDate>1522399258</a:ModificationDate>\n<a:Rect>((-10672,88961), (-7729,112209))</a:Rect>\n<a:ListOfPoints>((-8129,89361),(-10047,89361),(-10047,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o40\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o41\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o42\">\n<a:CreationDate>1522046456</a:CreationDate>\n<a:ModificationDate>1522399261</a:ModificationDate>\n<a:Rect>((6477,85210), (12264,86460))</a:Rect>\n<a:ListOfPoints>((6877,85835),(11864,85835))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o40\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o34\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o43\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o44\">\n<a:CreationDate>1522112691</a:CreationDate>\n<a:ModificationDate>1522399105</a:ModificationDate>\n<a:Rect>((-41320,55031), (-36214,56281))</a:Rect>\n<a:ListOfPoints>((-36614,55656),(-40920,55656))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o45\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o46\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o47\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o48\">\n<a:CreationDate>1522112694</a:CreationDate>\n<a:ModificationDate>1522399105</a:ModificationDate>\n<a:Rect>((-16713,57856), (-15463,112209))</a:Rect>\n<a:ListOfPoints>((-16088,58256),(-16088,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o45\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o49\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o50\">\n<a:CreationDate>1522114406</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((16796,151962), (26808,154513))</a:Rect>\n<a:ListOfPoints>((18480,152362),(26408,152362),(26408,153888),(17196,153888))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>4</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o51\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o52\">\n<a:CreationDate>1522115961</a:CreationDate>\n<a:ModificationDate>1522399266</a:ModificationDate>\n<a:Rect>((16844,105298), (20156,145559))</a:Rect>\n<a:ListOfPoints>((17244,105698),(19531,105698),(19531,145159))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o53\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o54\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o55\">\n<a:CreationDate>1522115983</a:CreationDate>\n<a:ModificationDate>1522399266</a:ModificationDate>\n<a:Rect>((11839,91096), (13089,104099))</a:Rect>\n<a:ListOfPoints>((12464,103699),(12464,91496))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o53\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o34\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o56\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o57\">\n<a:CreationDate>1522118676</a:CreationDate>\n<a:ModificationDate>1522721912</a:ModificationDate>\n<a:Rect>((-21193,102395), (-18057,112209))</a:Rect>\n<a:ListOfPoints>((-20793,102795),(-18682,102795),(-18682,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o58\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o59\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o60\">\n<a:CreationDate>1522119056</a:CreationDate>\n<a:ModificationDate>1522721912</a:ModificationDate>\n<a:Rect>((-37481,102138), (-32899,103388))</a:Rect>\n<a:ListOfPoints>((-37081,102763),(-33299,102763))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o61\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o58\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o62\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o63\">\n<a:CreationDate>1522120295</a:CreationDate>\n<a:ModificationDate>1522399221</a:ModificationDate>\n<a:Rect>((-24810,167598), (-19344,168848))</a:Rect>\n<a:ListOfPoints>((-19744,168223),(-24410,168223))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o64\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o65\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o66\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o67\">\n<a:CreationDate>1522138613</a:CreationDate>\n<a:ModificationDate>1522399095</a:ModificationDate>\n<a:Rect>((-24954,40604), (-19115,41854))</a:Rect>\n<a:ListOfPoints>((-19515,41229),(-24554,41229))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o68\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o70\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o71\">\n<a:CreationDate>1522138618</a:CreationDate>\n<a:ModificationDate>1522399095</a:ModificationDate>\n<a:Rect>((-34348,42015), (-12721,130651))</a:Rect>\n<a:ListOfPoints>((-13121,42415),(-13121,75553),(-33948,75553),(-33948,130026),(-19282,130026))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o68\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o72\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o73\">\n<a:CreationDate>1522138705</a:CreationDate>\n<a:ModificationDate>1522399092</a:ModificationDate>\n<a:Rect>((-43671,34853), (-38546,36103))</a:Rect>\n<a:ListOfPoints>((-38946,35478),(-43271,35478))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o74\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o75\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o76\">\n<a:CreationDate>1522141157</a:CreationDate>\n<a:ModificationDate>1522399066</a:ModificationDate>\n<a:Rect>((-25433,19586), (-17431,20836))</a:Rect>\n<a:ListOfPoints>((-17831,20211),(-25033,20211))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o77\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o78\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o79\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o80\">\n<a:CreationDate>1522141232</a:CreationDate>\n<a:ModificationDate>1522399094</a:ModificationDate>\n<a:Rect>((-43321,40604), (-38546,41854))</a:Rect>\n<a:ListOfPoints>((-42921,41229),(-38946,41229))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o81\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o82\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o83\">\n<a:CreationDate>1522141316</a:CreationDate>\n<a:ModificationDate>1522399068</a:ModificationDate>\n<a:Rect>((-44663,18136), (-38253,19386))</a:Rect>\n<a:ListOfPoints>((-38653,18761),(-44263,18761))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o78\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o84\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o85\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o86\">\n<a:CreationDate>1522142006</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:Rect>((-42272,4919), (-33459,6169))</a:Rect>\n<a:ListOfPoints>((-41872,5544),(-33859,5544))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o87\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o88\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o89\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o90\">\n<a:CreationDate>1522215975</a:CreationDate>\n<a:ModificationDate>1522398810</a:ModificationDate>\n<a:Rect>((62000,154589), (65163,155839))</a:Rect>\n<a:ListOfPoints>((62400,155214),(64763,155214))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o91\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o93\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o94\">\n<a:CreationDate>1522216015</a:CreationDate>\n<a:ModificationDate>1522398810</a:ModificationDate>\n<a:Rect>((118,129221), (50900,156036))</a:Rect>\n<a:ListOfPoints>((50500,155636),(41338,155636),(41338,129846),(518,129846))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o91\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o95\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o96\">\n<a:CreationDate>1522216251</a:CreationDate>\n<a:ModificationDate>1522398808</a:ModificationDate>\n<a:Rect>((62486,144990), (65163,146240))</a:Rect>\n<a:ListOfPoints>((62886,145615),(64763,145615))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o97\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o98\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o99\">\n<a:CreationDate>1522216380</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((20100,145134), (46631,146384))</a:Rect>\n<a:ListOfPoints>((46231,145759),(20500,145759))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o97\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o100\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o101\">\n<a:CreationDate>1522220508</a:CreationDate>\n<a:ModificationDate>1541490687</a:ModificationDate>\n<a:Rect>((77597,148397), (88375,149647))</a:Rect>\n<a:ListOfPoints>((87975,149022),(77997,149022))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o102\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o103\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o104\">\n<a:CreationDate>1522220546</a:CreationDate>\n<a:ModificationDate>1541490615</a:ModificationDate>\n<a:Rect>((59369,64259), (99115,147363))</a:Rect>\n<a:ListOfPoints>((98715,146963),(98715,64884),(59769,64884))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o102\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o106\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o107\">\n<a:CreationDate>1522224364</a:CreationDate>\n<a:ModificationDate>1522399274</a:ModificationDate>\n<a:Rect>((18744,122602), (80891,138598))</a:Rect>\n<a:ListOfPoints>((80491,123002),(74505,123002),(74505,137973),(19144,137973))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o108\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o7\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o109\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o110\">\n<a:CreationDate>1522225874</a:CreationDate>\n<a:ModificationDate>1522398795</a:ModificationDate>\n<a:Rect>((118,126647), (80417,130069))</a:Rect>\n<a:ListOfPoints>((80017,129669),(72926,129669),(72926,127272),(518,127272))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o111\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o112\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o113\">\n<a:CreationDate>1522226077</a:CreationDate>\n<a:ModificationDate>1522398792</a:ModificationDate>\n<a:Rect>((118,130712), (79609,136199))</a:Rect>\n<a:ListOfPoints>((79209,135799),(38938,135799),(38938,131337),(518,131337))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o114\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o115\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o116\">\n<a:CreationDate>1522226272</a:CreationDate>\n<a:ModificationDate>1522399075</a:ModificationDate>\n<a:Rect>((-38306,48140), (83441,113756))</a:Rect>\n<a:ListOfPoints>((83041,113356),(83041,94555),(-37681,94555),(-37681,48540))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o117\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o69\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o118\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o119\">\n<a:CreationDate>1522303390</a:CreationDate>\n<a:ModificationDate>1542180981</a:ModificationDate>\n<a:Rect>((56152,72245), (57402,98630))</a:Rect>\n<a:ListOfPoints>((56777,98230),(56777,72645))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o120\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o121\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o122\">\n<a:CreationDate>1522303410</a:CreationDate>\n<a:ModificationDate>1542180981</a:ModificationDate>\n<a:Rect>((-9472,101195), (50367,112209))</a:Rect>\n<a:ListOfPoints>((49967,101595),(-8847,101595),(-8847,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o120\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o123\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o124\">\n<a:CreationDate>1522304178</a:CreationDate>\n<a:ModificationDate>1538200596</a:ModificationDate>\n<a:Rect>((35098,10654), (42842,11904))</a:Rect>\n<a:ListOfPoints>((35498,11279),(42442,11279))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o125\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o126\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o127\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o128\">\n<a:CreationDate>1522386868</a:CreationDate>\n<a:ModificationDate>1522398605</a:ModificationDate>\n<a:Rect>((36870,42888), (49607,52723))</a:Rect>\n<a:ListOfPoints>((49207,52323),(49207,43513),(37270,43513))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o129\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o130\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o131\">\n<a:CreationDate>1522387461</a:CreationDate>\n<a:ModificationDate>1522399143</a:ModificationDate>\n<a:Rect>((50982,72245), (52232,75672))</a:Rect>\n<a:ListOfPoints>((51607,75272),(51607,72645))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o132\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o133\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o134\">\n<a:CreationDate>1522387526</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:Rect>((20100,78871), (40538,151445))</a:Rect>\n<a:ListOfPoints>((40138,79271),(40138,150820),(20500,150820))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o132\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o19\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o135\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o136\">\n<a:CreationDate>1522389232</a:CreationDate>\n<a:ModificationDate>1522398872</a:ModificationDate>\n<a:Rect>((33605,58216), (43845,60017))</a:Rect>\n<a:ListOfPoints>((34005,59617),(34005,58841),(43445,58841))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>2</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o137\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o138\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o139\">\n<a:CreationDate>1522390434</a:CreationDate>\n<a:ModificationDate>1522398601</a:ModificationDate>\n<a:Rect>((33005,54232), (43845,55482))</a:Rect>\n<a:ListOfPoints>((33405,54857),(43445,54857))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o140\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o141\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o142\">\n<a:CreationDate>1522390644</a:CreationDate>\n<a:ModificationDate>1522398535</a:ModificationDate>\n<a:Rect>((33522,26819), (52232,52723))</a:Rect>\n<a:ListOfPoints>((33922,27219),(51607,27219),(51607,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o143\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o144\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o145\">\n<a:CreationDate>1522391366</a:CreationDate>\n<a:ModificationDate>1522398601</a:ModificationDate>\n<a:Rect>((59369,61859), (62562,63109))</a:Rect>\n<a:ListOfPoints>((62162,62484),(59769,62484))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o146\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o147\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o148\">\n<a:CreationDate>1522391379</a:CreationDate>\n<a:ModificationDate>1522398616</a:ModificationDate>\n<a:Rect>((69534,56429), (70784,60444))</a:Rect>\n<a:ListOfPoints>((70159,60044),(70159,56829))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o146\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o149\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o150\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o151\">\n<a:CreationDate>1522396648</a:CreationDate>\n<a:ModificationDate>1522398621</a:ModificationDate>\n<a:Rect>((52182,34420), (64724,52723))</a:Rect>\n<a:ListOfPoints>((64324,34820),(52807,34820),(52807,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o152\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o153\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o154\">\n<a:CreationDate>1522396864</a:CreationDate>\n<a:ModificationDate>1522398618</a:ModificationDate>\n<a:Rect>((53382,44918), (64185,52723))</a:Rect>\n<a:ListOfPoints>((63785,45318),(54007,45318),(54007,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o155\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o156\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o157\">\n<a:CreationDate>1522659209</a:CreationDate>\n<a:ModificationDate>1522724919</a:ModificationDate>\n<a:Rect>((-101497,31459), (51032,102938))</a:Rect>\n<a:ListOfPoints>((-101097,102538),(-101097,31859),(50407,31859),(50407,52323))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o159\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o160\">\n<a:CreationDate>1522660753</a:CreationDate>\n<a:ModificationDate>1522724919</a:ModificationDate>\n<a:Rect>((-90857,129887), (-79217,131137))</a:Rect>\n<a:ListOfPoints>((-79617,130512),(-90457,130512))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o161\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o162\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o163\">\n<a:CreationDate>1522660820</a:CreationDate>\n<a:ModificationDate>1522719674</a:ModificationDate>\n<a:Rect>((-64973,127931), (-18882,129181))</a:Rect>\n<a:ListOfPoints>((-64573,128556),(-19282,128556))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o161\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o164\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o165\">\n<a:CreationDate>1522721755</a:CreationDate>\n<a:ModificationDate>1522721783</a:ModificationDate>\n<a:Rect>((-55169,48103), (20574,117096))</a:Rect>\n<a:ListOfPoints>((-49770,116696),(-54769,116696),(-54769,48728),(20174,48728))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o25\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o129\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o166\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o167\">\n<a:CreationDate>1522724329</a:CreationDate>\n<a:ModificationDate>1522724329</a:ModificationDate>\n<a:Rect>((-100297,77071), (65163,153166))</a:Rect>\n<a:ListOfPoints>((-99897,102538),(-99897,77471),(35821,77471),(35821,152541),(64763,152541))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o92\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o168\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o169\">\n<a:CreationDate>1522725331</a:CreationDate>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Rect>((-90857,117058), (-77798,118308))</a:Rect>\n<a:ListOfPoints>((-78198,117683),(-90457,117683))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o170\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o171\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o172\">\n<a:CreationDate>1522733188</a:CreationDate>\n<a:ModificationDate>1539745800</a:ModificationDate>\n<a:Rect>((-90857,102513), (-73424,103763))</a:Rect>\n<a:ListOfPoints>((-73824,103138),(-90457,103138))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o173\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o174\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o175\">\n<a:CreationDate>1522745521</a:CreationDate>\n<a:ModificationDate>1539745800</a:ModificationDate>\n<a:Rect>((-84902,89423), (-73424,90673))</a:Rect>\n<a:ListOfPoints>((-73824,90048),(-84502,90048))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o173\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o176\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o177\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o178\">\n<a:CreationDate>1533109967</a:CreationDate>\n<a:ModificationDate>1533110262</a:ModificationDate>\n<a:Rect>((-119919,81722), (-12496,112209))</a:Rect>\n<a:ListOfPoints>((-119519,94842),(-119519,82122),(-13121,82122),(-13121,111809))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o179\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o180\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o181\">\n<a:CreationDate>1533115827</a:CreationDate>\n<a:ModificationDate>1533116074</a:ModificationDate>\n<a:Rect>((-112642,102747), (-38745,153053))</a:Rect>\n<a:ListOfPoints>((-112242,103147),(-109969,103147),(-109969,152428),(-39145,152428))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o179\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o10\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o182\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o183\">\n<a:CreationDate>1533115888</a:CreationDate>\n<a:ModificationDate>1533115888</a:ModificationDate>\n<a:Rect>((-121119,61859), (43845,95242))</a:Rect>\n<a:ListOfPoints>((-120719,94842),(-120719,78671),(37870,78671),(37870,62484),(43445,62484))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o179\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o105\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o184\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o185\">\n<a:CreationDate>1538202362</a:CreationDate>\n<a:ModificationDate>1580624566</a:ModificationDate>\n<a:Rect>((25795,-5333), (33632,-148))</a:Rect>\n<a:ListOfPoints>((26195,-2272),(26195,-548),(32832,-548),(32832,-4708),(32232,-4708))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>4</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o187\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o188\">\n<a:CreationDate>1538202471</a:CreationDate>\n<a:ModificationDate>1580609625</a:ModificationDate>\n<a:Rect>((54116,11057), (59346,12307))</a:Rect>\n<a:ListOfPoints>((58946,11682),(54516,11682))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o189\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o126\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o190\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o191\">\n<a:CreationDate>1538202492</a:CreationDate>\n<a:ModificationDate>1580609625</a:ModificationDate>\n<a:Rect>((65496,8109), (66746,11214))</a:Rect>\n<a:ListOfPoints>((66121,10814),(66121,8509))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o189\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o193\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o194\">\n<a:CreationDate>1538202586</a:CreationDate>\n<a:ModificationDate>1580624567</a:ModificationDate>\n<a:Rect>((46201,-5622), (66746,1711))</a:Rect>\n<a:ListOfPoints>((46601,-5222),(66121,-5222),(66121,1311))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o195\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o196\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o197\">\n<a:CreationDate>1538202588</a:CreationDate>\n<a:ModificationDate>1580624567</a:ModificationDate>\n<a:Rect>((31832,-6533), (34857,-5283))</a:Rect>\n<a:ListOfPoints>((34457,-5908),(32232,-5908))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o195\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o198\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o199\">\n<a:CreationDate>1538202927</a:CreationDate>\n<a:ModificationDate>1580624563</a:ModificationDate>\n<a:Rect>((31729,2823), (42842,4073))</a:Rect>\n<a:ListOfPoints>((32129,3448),(42442,3448))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o200\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o126\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o201\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o202\">\n<a:CreationDate>1538202929</a:CreationDate>\n<a:ModificationDate>1580624566</a:ModificationDate>\n<a:Rect>((24370,-2672), (25620,1487))</a:Rect>\n<a:ListOfPoints>((24995,1087),(24995,-2272))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o200\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o186\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o203\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o204\">\n<a:CreationDate>1539746524</a:CreationDate>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Rect>((-65536,108004), (-18882,114533))</a:Rect>\n<a:ListOfPoints>((-65136,108404),(-65136,113908),(-19282,113908))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o173\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o205\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o206\">\n<a:CreationDate>1541490540</a:CreationDate>\n<a:ModificationDate>1541490615</a:ModificationDate>\n<a:Rect>((-90857,91755), (97915,147363))</a:Rect>\n<a:ListOfPoints>((97515,146963),(97515,92155),(-20193,92155),(-20193,111251),(-90457,111251))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o102\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o158\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o207\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o208\">\n<a:CreationDate>1542179374</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:Rect>((47632,114935), (48882,118924))</a:Rect>\n<a:ListOfPoints>((48257,115335),(48257,118524))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o209\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o210\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o211\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o212\">\n<a:CreationDate>1542179394</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:Rect>((64837,114935), (66087,117902))</a:Rect>\n<a:ListOfPoints>((65462,115335),(65462,117502))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o209\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o213\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o214\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o215\">\n<a:CreationDate>1542179438</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:Rect>((118,111784), (42403,113034))</a:Rect>\n<a:ListOfPoints>((42003,112409),(518,112409))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o209\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o6\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o216\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o217\">\n<a:CreationDate>1580625109</a:CreationDate>\n<a:ModificationDate>1580625137</a:ModificationDate>\n<a:Rect>((83723,16521), (99015,25885))</a:Rect>\n<a:ListOfPoints>((86540,16921),(86540,25485),(98615,25485),(98615,20467),(84123,20467))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<a:AutomaticRoutingState>4</a:AutomaticRoutingState>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o218\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o218\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o219\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o220\">\n<a:CreationDate>1580625333</a:CreationDate>\n<a:ModificationDate>1580625381</a:ModificationDate>\n<a:Rect>((71758,1788), (77807,3038))</a:Rect>\n<a:ListOfPoints>((77407,2413),(72158,2413))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o221\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o222\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o223\">\n<a:CreationDate>1580625352</a:CreationDate>\n<a:ModificationDate>1580625378</a:ModificationDate>\n<a:Rect>((81744,4384), (82994,12281))</a:Rect>\n<a:ListOfPoints>((82369,4784),(82369,11881))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o221\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o218\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o224\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o225\">\n<a:CreationDate>1580625421</a:CreationDate>\n<a:ModificationDate>1580625458</a:ModificationDate>\n<a:Rect>((71758,4759), (92510,6009))</a:Rect>\n<a:ListOfPoints>((92110,5384),(72158,5384))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o226\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o192\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o227\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o228\">\n<a:CreationDate>1580625435</a:CreationDate>\n<a:ModificationDate>1581324463</a:ModificationDate>\n<a:Rect>((95430,5190), (96680,9775))</a:Rect>\n<a:ListOfPoints>((96055,5590),(96055,9375))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o226\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o229\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o230\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:ReferenceSymbol Id=\"o231\">\n<a:CreationDate>1580869150</a:CreationDate>\n<a:ModificationDate>1581324463</a:ModificationDate>\n<a:Rect>((101766,14015), (107589,15265))</a:Rect>\n<a:ListOfPoints>((102166,14640),(107189,14640))</a:ListOfPoints>\n<a:CornerStyle>1</a:CornerStyle>\n<a:ArrowStyle>1</a:ArrowStyle>\n<a:LineColor>12615680</a:LineColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>CENTER 0 新宋体,8,N\nSOURCE 0 新宋体,8,N\nDESTINATION 0 新宋体,8,N</a:FontList>\n<c:SourceSymbol>\n<o:TableSymbol Ref=\"o229\"/>\n</c:SourceSymbol>\n<c:DestinationSymbol>\n<o:TableSymbol Ref=\"o232\"/>\n</c:DestinationSymbol>\n<c:Object>\n<o:Reference Ref=\"o233\"/>\n</c:Object>\n</o:ReferenceSymbol>\n<o:TableSymbol Id=\"o6\">\n<a:CreationDate>1521705853</a:CreationDate>\n<a:ModificationDate>1524811003</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-19282,111809), (518,147883))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o234\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o7\">\n<a:CreationDate>1521706107</a:CreationDate>\n<a:ModificationDate>1522399274</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((3206,132976), (19144,143474))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:SymbolContent>Table.Stereotype 1\nTable.DisplayName 1\nTable.OwnerDisplayName 0\nTable.Columns 1 -5 &quot;All Columns&quot; PDMCOLNALL Stereotype DataType KeyIndicator\nTable.Keys 0 0 &quot;&quot; &quot;&quot; Stereotype Indicator\nTable.Indexes 0 0 &quot;&quot; &quot;&quot; Stereotype\nTable.Triggers 0 0 &quot;&quot; &quot;&quot; Stereotype\nTable.Comment 0</a:SymbolContent>\n<c:Object>\n<o:Table Ref=\"o235\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o10\">\n<a:CreationDate>1521709482</a:CreationDate>\n<a:ModificationDate>1582277412</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-39145,145942), (-25139,158914))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o236\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o13\">\n<a:CreationDate>1521710820</a:CreationDate>\n<a:ModificationDate>1522399160</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-25547,152562), (-13473,158934))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o237\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o16\">\n<a:CreationDate>1521770649</a:CreationDate>\n<a:ModificationDate>1522722888</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-9920,154173), (5632,165495))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o238\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o19\">\n<a:CreationDate>1521773028</a:CreationDate>\n<a:ModificationDate>1522399245</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((7652,145159), (20500,156481))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o239\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o22\">\n<a:CreationDate>1521782818</a:CreationDate>\n<a:ModificationDate>1522116249</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49754,136272), (-35748,144294))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o240\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o25\">\n<a:CreationDate>1521791032</a:CreationDate>\n<a:ModificationDate>1528184156</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49770,113922), (-34606,119470))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o241\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o28\">\n<a:CreationDate>1521791865</a:CreationDate>\n<a:ModificationDate>1522721669</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-48860,121016), (-36786,126564))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o242\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o31\">\n<a:CreationDate>1521791901</a:CreationDate>\n<a:ModificationDate>1522721672</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49407,129426), (-36559,134150))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o243\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o35\">\n<a:CreationDate>1522044163</a:CreationDate>\n<a:ModificationDate>1522399263</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20787,95155), (34021,99878))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o244\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o34\">\n<a:CreationDate>1522044465</a:CreationDate>\n<a:ModificationDate>1522399261</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((11864,80174), (30892,91496))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o245\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o40\">\n<a:CreationDate>1522046351</a:CreationDate>\n<a:ModificationDate>1524811003</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-8675,84638), (6877,89361))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o246\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o78\">\n<a:CreationDate>1522050428</a:CreationDate>\n<a:ModificationDate>1522399063</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-38653,14550), (-25033,25872))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o247\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o46\">\n<a:CreationDate>1522112533</a:CreationDate>\n<a:ModificationDate>1522399103</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-53768,52470), (-40920,58842))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o248\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o45\">\n<a:CreationDate>1522112617</a:CreationDate>\n<a:ModificationDate>1522399105</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-36614,53594), (-15488,58256))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o249\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o53\">\n<a:CreationDate>1522115893</a:CreationDate>\n<a:ModificationDate>1522399266</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((378,103699), (17244,107698))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o250\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o58\">\n<a:CreationDate>1522118136</a:CreationDate>\n<a:ModificationDate>1522721912</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-33299,95709), (-20793,109817))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o251\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o61\">\n<a:CreationDate>1522118840</a:CreationDate>\n<a:ModificationDate>1522721910</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-49529,99005), (-37081,106855))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o252\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o65\">\n<a:CreationDate>1522120039</a:CreationDate>\n<a:ModificationDate>1522399218</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-36872,165037), (-24410,171409))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o253\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o64\">\n<a:CreationDate>1522120250</a:CreationDate>\n<a:ModificationDate>1522399221</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-19744,166032), (-8442,170031))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o254\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o69\">\n<a:CreationDate>1522138190</a:CreationDate>\n<a:ModificationDate>1542086220</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-38946,33918), (-24554,48540))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o255\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o68\">\n<a:CreationDate>1522138561</a:CreationDate>\n<a:ModificationDate>1522399095</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-19515,38416), (-6728,42415))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o256\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o74\">\n<a:CreationDate>1522138655</a:CreationDate>\n<a:ModificationDate>1522399092</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-56119,32459), (-43271,38831))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o257\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o81\">\n<a:CreationDate>1522139643</a:CreationDate>\n<a:ModificationDate>1522399094</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-55369,40423), (-42921,47585))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o258\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o77\">\n<a:CreationDate>1522141104</a:CreationDate>\n<a:ModificationDate>1522399066</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-17831,15073), (-5383,22235))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o259\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o84\">\n<a:CreationDate>1522141269</a:CreationDate>\n<a:ModificationDate>1522399068</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-57111,15575), (-44263,21947))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o260\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o87\">\n<a:CreationDate>1522141745</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-50946,1067), (-41872,9775))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o261\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o88\">\n<a:CreationDate>1522141950</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-33859,2358), (-21783,8730))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o262\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o263\">\n<a:CreationDate>1522142154</a:CreationDate>\n<a:ModificationDate>1522399038</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-14870,1448), (-1842,9470))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o264\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o92\">\n<a:CreationDate>1522215010</a:CreationDate>\n<a:ModificationDate>1541748859</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((64763,140885), (77997,157159))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o265\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o91\">\n<a:CreationDate>1522215792</a:CreationDate>\n<a:ModificationDate>1522398810</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((50500,153048), (62400,157047))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o266\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o97\">\n<a:CreationDate>1522216155</a:CreationDate>\n<a:ModificationDate>1522398808</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((46231,143710), (62886,147709))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o267\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o102\">\n<a:CreationDate>1522217089</a:CreationDate>\n<a:ModificationDate>1541490687</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((87975,146963), (103049,157789))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o268\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o105\">\n<a:CreationDate>1522217487</a:CreationDate>\n<a:ModificationDate>1522398601</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((43445,52323), (59769,72645))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o269\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o108\">\n<a:CreationDate>1522223818</a:CreationDate>\n<a:ModificationDate>1522398796</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((80491,120228), (94111,125776))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o270\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o111\">\n<a:CreationDate>1522224403</a:CreationDate>\n<a:ModificationDate>1522398795</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((80017,126895), (93637,132443))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o271\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o114\">\n<a:CreationDate>1522226008</a:CreationDate>\n<a:ModificationDate>1522398792</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((79209,133025), (92829,138573))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o272\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o117\">\n<a:CreationDate>1522226140</a:CreationDate>\n<a:ModificationDate>1522398801</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((81729,113356), (95349,118904))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o273\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o274\">\n<a:CreationDate>1522227700</a:CreationDate>\n<a:ModificationDate>1542179018</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((84563,94201), (96637,105523))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o275\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o210\">\n<a:CreationDate>1522300652</a:CreationDate>\n<a:ModificationDate>1542180972</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((42220,118524), (54294,124896))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o276\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o120\">\n<a:CreationDate>1522303116</a:CreationDate>\n<a:ModificationDate>1542180981</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((49967,98230), (63587,105428))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o277\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o126\">\n<a:CreationDate>1522303730</a:CreationDate>\n<a:ModificationDate>1538200596</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((42442,2610), (54516,12282))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o278\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o125\">\n<a:CreationDate>1522303928</a:CreationDate>\n<a:ModificationDate>1522398635</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((23424,7923), (35498,14295))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o279\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o129\">\n<a:CreationDate>1522379808</a:CreationDate>\n<a:ModificationDate>1522398605</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20174,37439), (37270,49587))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o280\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o132\">\n<a:CreationDate>1522387387</a:CreationDate>\n<a:ModificationDate>1522399143</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((38718,75272), (55734,79271))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o281\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o137\">\n<a:CreationDate>1522387906</a:CreationDate>\n<a:ModificationDate>1522398872</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20470,59617), (36794,74239))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o282\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o140\">\n<a:CreationDate>1522390106</a:CreationDate>\n<a:ModificationDate>1535437026</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20171,50021), (33405,59693))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o283\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o143\">\n<a:CreationDate>1522390511</a:CreationDate>\n<a:ModificationDate>1522398535</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((22234,23620), (33922,30818))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o284\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o149\">\n<a:CreationDate>1522390830</a:CreationDate>\n<a:ModificationDate>1522398616</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((62383,52106), (77935,56829))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o285\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o146\">\n<a:CreationDate>1522391304</a:CreationDate>\n<a:ModificationDate>1522398550</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((62162,60044), (74010,64043))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o286\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o152\">\n<a:CreationDate>1522396385</a:CreationDate>\n<a:ModificationDate>1522398621</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((64324,30809), (76786,38831))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o287\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o155\">\n<a:CreationDate>1522396809</a:CreationDate>\n<a:ModificationDate>1522398618</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((63785,41307), (76247,49329))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o288\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o289\">\n<a:CreationDate>1522397182</a:CreationDate>\n<a:ModificationDate>1522398632</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((60231,18019), (72693,23567))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o290\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o291\">\n<a:CreationDate>1522397511</a:CreationDate>\n<a:ModificationDate>1522398629</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((41533,16306), (57085,23504))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o292\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o293\">\n<a:CreationDate>1522398032</a:CreationDate>\n<a:ModificationDate>1535615091</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((22716,17129), (36336,22677))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o294\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o158\">\n<a:CreationDate>1522658325</a:CreationDate>\n<a:ModificationDate>1522724919</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-109337,102538), (-90457,132828))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o295\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o161\">\n<a:CreationDate>1522660695</a:CreationDate>\n<a:ModificationDate>1522723641</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-79617,123965), (-64573,137059))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o296\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o170\">\n<a:CreationDate>1522724973</a:CreationDate>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-78198,113051), (-65736,119423))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o297\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o298\">\n<a:CreationDate>1522726076</a:CreationDate>\n<a:ModificationDate>1522732894</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-125389,125206), (-111769,131578))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o299\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o173\">\n<a:CreationDate>1522732897</a:CreationDate>\n<a:ModificationDate>1539745800</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-73824,83922), (-57114,108404))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o300\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o176\">\n<a:CreationDate>1522745162</a:CreationDate>\n<a:ModificationDate>1522745515</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-97736,85264), (-84502,94832))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o301\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o302\">\n<a:CreationDate>1522745726</a:CreationDate>\n<a:ModificationDate>1522745726</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-125978,117636), (-113904,123184))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o303\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o179\">\n<a:CreationDate>1533108597</a:CreationDate>\n<a:ModificationDate>1533116074</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((-126796,94842), (-112242,111452))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o304\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o192\">\n<a:CreationDate>1538200619</a:CreationDate>\n<a:ModificationDate>1538202954</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((60084,1311), (72158,8509))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o305\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o186\">\n<a:CreationDate>1538201545</a:CreationDate>\n<a:ModificationDate>1580624566</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20158,-11944), (32232,-2272))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o306\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o189\">\n<a:CreationDate>1538202419</a:CreationDate>\n<a:ModificationDate>1580609625</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((58946,10814), (73218,15337))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o307\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o195\">\n<a:CreationDate>1538202537</a:CreationDate>\n<a:ModificationDate>1580624567</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((34457,-7542), (46601,-2903))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o308\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o200\">\n<a:CreationDate>1538202617</a:CreationDate>\n<a:ModificationDate>1580624563</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((20655,1087), (32129,5810))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o309\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o213\">\n<a:CreationDate>1542177985</a:CreationDate>\n<a:ModificationDate>1542179426</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((57941,117502), (72983,124214))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o310\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o209\">\n<a:CreationDate>1542179013</a:CreationDate>\n<a:ModificationDate>1542180977</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((42003,107173), (68001,115335))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o311\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o218\">\n<a:CreationDate>1580624574</a:CreationDate>\n<a:ModificationDate>1580625137</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((76332,11881), (88406,21427))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o312\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o229\">\n<a:CreationDate>1580624625</a:CreationDate>\n<a:ModificationDate>1581324463</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((89944,9375), (102166,16974))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o313\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o221\">\n<a:CreationDate>1580624663</a:CreationDate>\n<a:ModificationDate>1580625381</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((77407,42), (87097,4784))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o314\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o226\">\n<a:CreationDate>1580624686</a:CreationDate>\n<a:ModificationDate>1580625458</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((92110,601), (102656,5590))</a:Rect>\n<a:AutoAdjustToText>0</a:AutoAdjustToText>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<a:ManuallyResized>1</a:ManuallyResized>\n<c:Object>\n<o:Table Ref=\"o315\"/>\n</c:Object>\n</o:TableSymbol>\n<o:TableSymbol Id=\"o232\">\n<a:CreationDate>1580869056</a:CreationDate>\n<a:ModificationDate>1580869177</a:ModificationDate>\n<a:IconMode>-1</a:IconMode>\n<a:Rect>((107189,12279), (119263,17002))</a:Rect>\n<a:LineColor>12615680</a:LineColor>\n<a:FillColor>16570034</a:FillColor>\n<a:ShadowColor>12632256</a:ShadowColor>\n<a:FontList>STRN 0 新宋体,10,N\nDISPNAME 0 新宋体,8,N\nOWNRDISPNAME 0 新宋体,8,N\nColumns 0 新宋体,8,N\nTablePkColumns 0 新宋体,8,U\nTableFkColumns 0 新宋体,8,N\nKeys 0 新宋体,8,N\nIndexes 0 新宋体,8,N\nTriggers 0 新宋体,8,N\nLABL 0 新宋体,8,N</a:FontList>\n<a:BrushStyle>6</a:BrushStyle>\n<a:GradientFillMode>65</a:GradientFillMode>\n<a:GradientEndColor>16777215</a:GradientEndColor>\n<c:Object>\n<o:Table Ref=\"o316\"/>\n</c:Object>\n</o:TableSymbol>\n</c:Symbols>\n</o:PhysicalDiagram>\n</c:PhysicalDiagrams>\n<c:DefaultDiagram>\n<o:PhysicalDiagram Ref=\"o4\"/>\n</c:DefaultDiagram>\n<c:Tables>\n<o:Table Id=\"o234\">\n<a:ObjectID>164FB8D9-0905-474E-87B0-2A812FEB067D</a:ObjectID>\n<a:Name>pms_product</a:Name>\n<a:Code>pms_product</a:Code>\n<a:CreationDate>1521705853</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179559</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品信息</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o317\">\n<a:ObjectID>8AF7359B-13B5-4473-A6E3-242871D32BD6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521705876</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o318\">\n<a:ObjectID>B6BFD1D9-71C4-49F0-A761-EB23FDF9EF89</a:ObjectID>\n<a:Name>brand_id</a:Name>\n<a:Code>brand_id</a:Code>\n<a:CreationDate>1521706257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706277</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o319\">\n<a:ObjectID>EFA57D19-DB53-47A2-9E13-6F237D2B8765</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1521773101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773123</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o320\">\n<a:ObjectID>9E4E0B0C-6DC6-4602-A1BB-BEF479CC25B4</a:ObjectID>\n<a:Name>feight_template_id</a:Name>\n<a:Code>feight_template_id</a:Code>\n<a:CreationDate>1521783613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o321\">\n<a:ObjectID>122FA791-93A8-4854-AB3B-87B68387B78D</a:ObjectID>\n<a:Name>product_attribute_category_id</a:Name>\n<a:Code>product_attribute_category_id</a:Code>\n<a:CreationDate>1522046100</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046125</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o322\">\n<a:ObjectID>C67A0956-CA1B-4ADF-878F-13B1538C122A</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521705899</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771550</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o323\">\n<a:ObjectID>EC9E5B4D-23BF-425E-9781-90BD8BC6D802</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1521705899</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770319</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o324\">\n<a:ObjectID>BAAD6FF5-DD35-4EFA-8B78-E4DB32CCFC06</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1521706312</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771591</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>货号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o325\">\n<a:ObjectID>FC369A8B-64C8-4931-A1E2-80F902E4FE4A</a:ObjectID>\n<a:Name>delete_status</a:Name>\n<a:Code>delete_status</a:Code>\n<a:CreationDate>1521773185</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773247</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>删除状态：0-&gt;未删除；1-&gt;已删除</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o326\">\n<a:ObjectID>12E77491-5C20-442C-9E04-DE7192B496D3</a:ObjectID>\n<a:Name>publish_status</a:Name>\n<a:Code>publish_status</a:Code>\n<a:CreationDate>1521706416</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708284</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上架状态：0-&gt;下架；1-&gt;上架</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o327\">\n<a:ObjectID>7E4B57E7-DCCD-4D96-93E0-E3A2E0D9B2F8</a:ObjectID>\n<a:Name>new_status</a:Name>\n<a:Code>new_status</a:Code>\n<a:CreationDate>1521708193</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708312</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>新品状态:0-&gt;不是新品；1-&gt;新品</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o328\">\n<a:ObjectID>C32DF9EC-A332-4DB2-A56B-74E0F6168FF1</a:ObjectID>\n<a:Name>recommand_status</a:Name>\n<a:Code>recommand_status</a:Code>\n<a:CreationDate>1521708193</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>推荐状态；0-&gt;不推荐；1-&gt;推荐</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o329\">\n<a:ObjectID>47876735-91B4-42FC-A052-22640AC057D8</a:ObjectID>\n<a:Name>verify_status</a:Name>\n<a:Code>verify_status</a:Code>\n<a:CreationDate>1521710674</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710725</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>审核状态：0-&gt;未审核；1-&gt;审核通过</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o330\">\n<a:ObjectID>07A57EB8-410D-4E59-AD0C-8A1AD4DD3951</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1521708381</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521708544</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o331\">\n<a:ObjectID>93478201-C851-481D-B110-56414379F2A3</a:ObjectID>\n<a:Name>sale</a:Name>\n<a:Code>sale</a:Code>\n<a:CreationDate>1521710587</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>销量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o332\">\n<a:ObjectID>C5845093-F658-46C1-B381-6585F2337029</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1521706312</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o333\">\n<a:ObjectID>8A8C872F-23FC-42E2-BC8F-EA4374E0C4ED</a:ObjectID>\n<a:Name>promotion_price</a:Name>\n<a:Code>promotion_price</a:Code>\n<a:CreationDate>1521770729</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522720423</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o334\">\n<a:ObjectID>DADE2195-8B3B-42F2-9C5A-847124C0C327</a:ObjectID>\n<a:Name>gift_growth</a:Name>\n<a:Code>gift_growth</a:Code>\n<a:CreationDate>1527561524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535963779</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送的成长值</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o335\">\n<a:ObjectID>9ECDB8CD-593F-431C-B580-756BC29F0E69</a:ObjectID>\n<a:Name>gift_point</a:Name>\n<a:Code>gift_point</a:Code>\n<a:CreationDate>1521771016</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535963789</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送的积分</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o336\">\n<a:ObjectID>1C3E16DC-0AB6-489F-83D6-CB92058E8AD6</a:ObjectID>\n<a:Name>use_point_limit</a:Name>\n<a:Code>use_point_limit</a:Code>\n<a:CreationDate>1521771103</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771156</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限制使用的积分数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o337\">\n<a:ObjectID>8DBA22FF-9FEF-4E36-8B0D-D0712EB1AFDD</a:ObjectID>\n<a:Name>sub_title</a:Name>\n<a:Code>sub_title</a:Code>\n<a:CreationDate>1521773700</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773733</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>副标题</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o338\">\n<a:ObjectID>074C30CA-F802-4EA3-8B92-AE332D8FE237</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1521774517</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791536</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品描述</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o339\">\n<a:ObjectID>50335AAB-9D8F-4794-A706-A51E04285498</a:ObjectID>\n<a:Name>original_price</a:Name>\n<a:Code>original_price</a:Code>\n<a:CreationDate>1521775224</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775254</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>市场价</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o340\">\n<a:ObjectID>F1511198-BFDC-4CA7-A79F-6BEA7863E4CA</a:ObjectID>\n<a:Name>stock</a:Name>\n<a:Code>stock</a:Code>\n<a:CreationDate>1521775417</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775449</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>库存</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o341\">\n<a:ObjectID>9B83BF24-B43F-41AE-93AA-6E9723B41F3D</a:ObjectID>\n<a:Name>low_stock</a:Name>\n<a:Code>low_stock</a:Code>\n<a:CreationDate>1521775417</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775458</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>库存预警值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o342\">\n<a:ObjectID>29B50C2C-38C6-4080-83F7-309CC040B9D3</a:ObjectID>\n<a:Name>unit</a:Name>\n<a:Code>unit</a:Code>\n<a:CreationDate>1521775486</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775515</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>单位</a:Comment>\n<a:DataType>varchar(16)</a:DataType>\n<a:Length>16</a:Length>\n</o:Column>\n<o:Column Id=\"o343\">\n<a:ObjectID>F07F26B4-DC76-4F4D-8FF7-6E299DAE613A</a:ObjectID>\n<a:Name>weight</a:Name>\n<a:Code>weight</a:Code>\n<a:CreationDate>1521775567</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521775649</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品重量，默认为克</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o344\">\n<a:ObjectID>730DF7D7-E307-4039-BFD4-04B4E145776D</a:ObjectID>\n<a:Name>preview_status</a:Name>\n<a:Code>preview_status</a:Code>\n<a:CreationDate>1521782409</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521782456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为预告商品：0-&gt;不是；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o345\">\n<a:ObjectID>BB566C0D-3C0A-42EB-AAFE-89E56EDB5AF3</a:ObjectID>\n<a:Name>service_ids</a:Name>\n<a:Code>service_ids</a:Code>\n<a:CreationDate>1521783875</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784127</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>以逗号分割的产品服务：1-&gt;无忧退货；2-&gt;快速退款；3-&gt;免费包邮</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o346\">\n<a:ObjectID>25E62F7C-D9D8-4B61-8337-7A94F4A1F969</a:ObjectID>\n<a:Name>keywords</a:Name>\n<a:Code>keywords</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o347\">\n<a:ObjectID>730BAD96-E459-412D-B812-E9BDBDF6DC1B</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o348\">\n<a:ObjectID>22BBCF62-4B72-4C69-BFE1-81F1378D4703</a:ObjectID>\n<a:Name>album_pics</a:Name>\n<a:Code>album_pics</a:Code>\n<a:CreationDate>1522046916</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046981</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>画册图片，连产品图片限制为5张，以逗号分割</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o349\">\n<a:ObjectID>27D69BFE-AEE5-4095-9688-3F11B0A3F5B3</a:ObjectID>\n<a:Name>detail_title</a:Name>\n<a:Code>detail_title</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o350\">\n<a:ObjectID>66C1D3B2-DFB9-472B-9B46-054F4A995EC8</a:ObjectID>\n<a:Name>detail_desc</a:Name>\n<a:Code>detail_desc</a:Code>\n<a:CreationDate>1521784236</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521784353</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o351\">\n<a:ObjectID>4407B70B-168F-489C-86FC-913130573035</a:ObjectID>\n<a:Name>detail_html</a:Name>\n<a:Code>detail_html</a:Code>\n<a:CreationDate>1522047002</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522047039</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品详情网页内容</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o352\">\n<a:ObjectID>A16D766A-2FAC-4806-B5B6-7BCE643BD125</a:ObjectID>\n<a:Name>detail_mobile_html</a:Name>\n<a:Code>detail_mobile_html</a:Code>\n<a:CreationDate>1522047022</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522047069</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>移动端网页详情</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o353\">\n<a:ObjectID>125B7984-46F6-4A6B-986E-637075A7B792</a:ObjectID>\n<a:Name>promotion_start_time</a:Name>\n<a:Code>promotion_start_time</a:Code>\n<a:CreationDate>1522721079</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销开始时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o354\">\n<a:ObjectID>CD7F32DC-B2C4-4F0B-86A6-C3EF8BBC11E4</a:ObjectID>\n<a:Name>promotion_end_time</a:Name>\n<a:Code>promotion_end_time</a:Code>\n<a:CreationDate>1522721096</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销结束时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o355\">\n<a:ObjectID>AF663519-4F0B-438D-9F86-A3B4494C91B5</a:ObjectID>\n<a:Name>promotion_per_limit</a:Name>\n<a:Code>promotion_per_limit</a:Code>\n<a:CreationDate>1522721333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721377</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>活动限购数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o356\">\n<a:ObjectID>2870F419-7F16-4C2C-BEE8-69AD3C322429</a:ObjectID>\n<a:Name>promotion_type</a:Name>\n<a:Code>promotion_type</a:Code>\n<a:CreationDate>1522721953</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179623</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销类型：0-&gt;没有促销使用原价;1-&gt;使用促销价；2-&gt;使用会员价；3-&gt;使用阶梯价格；4-&gt;使用满减价格；5-&gt;限时购</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o357\">\n<a:ObjectID>BC8E43C1-F35D-4BA2-A622-D282035B08CF</a:ObjectID>\n<a:Name>product_category_name</a:Name>\n<a:Code>product_category_name</a:Code>\n<a:CreationDate>1524810975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524811010</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品分类名称</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o358\">\n<a:ObjectID>7B4B3817-5E34-476B-B9DF-20FC181A2FC4</a:ObjectID>\n<a:Name>brand_name</a:Name>\n<a:Code>brand_name</a:Code>\n<a:CreationDate>1524811003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524811036</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌名称</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o359\">\n<a:ObjectID>8FF04A0E-BF3D-4A1B-B05D-FAD79976F256</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521705876</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o317\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:Indexes>\n<o:Index Id=\"o360\">\n<a:ObjectID>C003EAE8-4D2B-4CD2-910D-617ED63DCFDE</a:ObjectID>\n<a:Name>index_name</a:Name>\n<a:Code>index_name</a:Code>\n<a:CreationDate>1521771497</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771550</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:IndexColumns>\n<o:IndexColumn Id=\"o361\">\n<a:ObjectID>F55EF3D5-E93C-4AAE-95BE-5E91AD084511</a:ObjectID>\n<a:CreationDate>1521771542</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771550</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Column>\n<o:Column Ref=\"o322\"/>\n</c:Column>\n</o:IndexColumn>\n</c:IndexColumns>\n</o:Index>\n<o:Index Id=\"o362\">\n<a:ObjectID>EC80C139-CCE0-49CF-AF77-52A1C35DC8AC</a:ObjectID>\n<a:Name>index_product_sn</a:Name>\n<a:Code>index_product_sn</a:Code>\n<a:CreationDate>1521771497</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521772268</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Unique>1</a:Unique>\n<c:IndexColumns>\n<o:IndexColumn Id=\"o363\">\n<a:ObjectID>D0E6B1E9-C1D3-40AD-BCA6-928C253C57CC</a:ObjectID>\n<a:CreationDate>1521771579</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771591</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Column>\n<o:Column Ref=\"o324\"/>\n</c:Column>\n</o:IndexColumn>\n</c:IndexColumns>\n</o:Index>\n</c:Indexes>\n<c:PrimaryKey>\n<o:Key Ref=\"o359\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o235\">\n<a:ObjectID>8DB91C27-0C0C-42C1-9C82-B99A752DFFDE</a:ObjectID>\n<a:Name>pms_brand</a:Name>\n<a:Code>pms_brand</a:Code>\n<a:CreationDate>1521706107</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116692</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o364\">\n<a:ObjectID>BA330DA5-20D1-42FB-A362-94D07D30A4B6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521706123</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706154</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o365\">\n<a:ObjectID>45F3DFE2-8F5D-4CDF-9FE5-4A6904BB07D4</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521706148</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706194</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o366\">\n<a:ObjectID>CDFF668D-2DBA-4D99-8E76-B05114B8EAD7</a:ObjectID>\n<a:Name>first_letter</a:Name>\n<a:Code>first_letter</a:Code>\n<a:CreationDate>1522116447</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116473</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首字母</a:Comment>\n<a:DataType>varchar(8)</a:DataType>\n<a:Length>8</a:Length>\n</o:Column>\n<o:Column Id=\"o367\">\n<a:ObjectID>9E323340-1826-471A-93EE-92C45769B194</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522116482</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116540</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o368\">\n<a:ObjectID>97FF98F7-8A09-4C40-8D52-FC32F0021DF9</a:ObjectID>\n<a:Name>factory_status</a:Name>\n<a:Code>factory_status</a:Code>\n<a:CreationDate>1522116482</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116560</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为品牌制造商：0-&gt;不是；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o369\">\n<a:ObjectID>5F86AE1D-14C6-421F-9065-6B3248678ECF</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116692</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o370\">\n<a:ObjectID>A8CA06B3-8F05-4D05-A9E0-B979D053C74A</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116717</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o371\">\n<a:ObjectID>F6BC9D0C-3D20-4CB3-B906-0D660320FC88</a:ObjectID>\n<a:Name>product_comment_count</a:Name>\n<a:Code>product_comment_count</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116728</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品评论数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o372\">\n<a:ObjectID>28BF01C1-2534-46E1-8D03-3D1304399694</a:ObjectID>\n<a:Name>logo</a:Name>\n<a:Code>logo</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116744</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌logo</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o373\">\n<a:ObjectID>955AC940-E5A2-4791-8DB3-46874F51898B</a:ObjectID>\n<a:Name>big_pic</a:Name>\n<a:Code>big_pic</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116821</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专区大图</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o374\">\n<a:ObjectID>822303EE-A57E-432B-AB93-E9C6B4B67358</a:ObjectID>\n<a:Name>brand_story</a:Name>\n<a:Code>brand_story</a:Code>\n<a:CreationDate>1522116540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116753</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>品牌故事</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o375\">\n<a:ObjectID>12C8D1EF-1F7E-46ED-AD23-4F0BD57F243D</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521706123</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706148</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o364\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o375\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o236\">\n<a:ObjectID>A9A5B46B-D1A3-4619-86D4-AD1A3FF949B1</a:ObjectID>\n<a:Name>pms_sku_stock</a:Name>\n<a:Code>pms_sku_stock</a:Code>\n<a:CreationDate>1521709482</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582621117</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>sku的库存</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o376\">\n<a:ObjectID>F8A87B5F-1B3E-416A-9AA6-E6330490C79F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521709484</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o377\">\n<a:ObjectID>0A9D0B97-8FCA-4D49-9649-6D3A6398F71D</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521710488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710505</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o378\">\n<a:ObjectID>300133D5-246C-492C-8106-E0464641A1AD</a:ObjectID>\n<a:Name>sku_code</a:Name>\n<a:Code>sku_code</a:Code>\n<a:CreationDate>1521709695</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522214782</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>sku编码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o379\">\n<a:ObjectID>2C098191-D831-42F7-981A-BB5FC58097A3</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1521709829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521709926</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o380\">\n<a:ObjectID>F0D06968-A5E5-4A38-82DA-909C1AF9500C</a:ObjectID>\n<a:Name>stock</a:Name>\n<a:Code>stock</a:Code>\n<a:CreationDate>1521709829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535619079</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>库存</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o381\">\n<a:ObjectID>627512CB-E621-46A5-B077-12BB80006181</a:ObjectID>\n<a:Name>low_stock</a:Name>\n<a:Code>low_stock</a:Code>\n<a:CreationDate>1521709829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521709939</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>预警库存</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o382\">\n<a:ObjectID>2385F4C5-9983-48B4-9E03-710937E056A4</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1521710423</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770332</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>展示图片</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o383\">\n<a:ObjectID>C9AA0DC8-AEE6-4401-AE9A-65B6FD89A608</a:ObjectID>\n<a:Name>sale</a:Name>\n<a:Code>sale</a:Code>\n<a:CreationDate>1521710565</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710584</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>销量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o384\">\n<a:ObjectID>F8B829D9-2390-44F9-AE79-B698E94E2F5D</a:ObjectID>\n<a:Name>promotion_price</a:Name>\n<a:Code>promotion_price</a:Code>\n<a:CreationDate>1534927833</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1534927874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>单品促销价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o385\">\n<a:ObjectID>385D5E74-8D2D-4429-8BF1-1DB7C0ED0E8D</a:ObjectID>\n<a:Name>lock_stock</a:Name>\n<a:Code>lock_stock</a:Code>\n<a:CreationDate>1534927865</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535619073</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>锁定库存</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o386\">\n<a:ObjectID>30F35E66-3167-4F75-B0DC-48B30CEC1C4F</a:ObjectID>\n<a:Name>sp_data</a:Name>\n<a:Code>sp_data</a:Code>\n<a:CreationDate>1582277384</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582277412</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性，json格式</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o387\">\n<a:ObjectID>BF22FDBF-9CF7-4FF4-A579-4C0AAC38A457</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521709484</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o376\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o387\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o237\">\n<a:ObjectID>B9FC590F-46F6-4235-8672-FF13B2E50A77</a:ObjectID>\n<a:Name>pms_product_vertify_record</a:Name>\n<a:Code>pms_product_vertify_record</a:Code>\n<a:CreationDate>1521710820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品审核记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o388\">\n<a:ObjectID>530FCADE-4166-42A4-8453-5D874EEC4522</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770174</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o389\">\n<a:ObjectID>7493F171-CA73-4150-A6EA-AB0D8FF46D75</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521770349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o390\">\n<a:ObjectID>9786F28F-F757-486B-93A9-7C5A5E46D950</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521711025</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o391\">\n<a:ObjectID>7E1BFDC6-E587-45E4-AE7C-8C3466279D4C</a:ObjectID>\n<a:Name>vertify_man</a:Name>\n<a:Code>vertify_man</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521711032</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>审核人</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o392\">\n<a:ObjectID>06C38A5C-1977-42C3-A614-B2DF0654BB47</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524816533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>审核后的状态：0-&gt;未通过；2-&gt;已通过</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o393\">\n<a:ObjectID>8C61E1D1-7809-4E91-8638-43739274A2CB</a:ObjectID>\n<a:Name>detail</a:Name>\n<a:Code>detail</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770161</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>反馈详情</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o394\">\n<a:ObjectID>5AA18CE6-B6B1-4D42-840C-F0ED5A7EE6AC</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521710821</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521711025</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o388\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o394\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o238\">\n<a:ObjectID>9063AF6E-4B68-4106-803C-747646C77EB0</a:ObjectID>\n<a:Name>pms_product_operate_log</a:Name>\n<a:Code>pms_product_operate_log</a:Code>\n<a:CreationDate>1521770649</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o395\">\n<a:ObjectID>715605E0-FA0B-4C2F-87CA-35849F4999B3</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521770770</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770806</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o396\">\n<a:ObjectID>3DB748F5-8378-4A65-9103-BC4AF0D6CD51</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521771362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771375</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o397\">\n<a:ObjectID>ED9DDCD5-C1E3-4A0A-A2BF-6AE1FE20479B</a:ObjectID>\n<a:Name>price_old</a:Name>\n<a:Code>price_old</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o398\">\n<a:ObjectID>38DD8227-7B0A-4661-A5B4-48AE1CC49CB0</a:ObjectID>\n<a:Name>price_new</a:Name>\n<a:Code>price_new</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o399\">\n<a:ObjectID>25E58A65-F4B3-4A38-BF9F-B4951F1D2A52</a:ObjectID>\n<a:Name>sale_price_old</a:Name>\n<a:Code>sale_price_old</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o400\">\n<a:ObjectID>A2768BA1-44DB-4DA5-8E18-42AE3A6181FD</a:ObjectID>\n<a:Name>sale_price_new</a:Name>\n<a:Code>sale_price_new</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o401\">\n<a:ObjectID>ACC53AA1-DE06-4626-9248-159BA1AEF3C0</a:ObjectID>\n<a:Name>gift_point_old</a:Name>\n<a:Code>gift_point_old</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771014</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送的积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o402\">\n<a:ObjectID>AE80A7D3-2CF1-4F55-87C8-48BF66B3E0F5</a:ObjectID>\n<a:Name>gift_point_new</a:Name>\n<a:Code>gift_point_new</a:Code>\n<a:CreationDate>1521770804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o403\">\n<a:ObjectID>9D16C330-E114-4778-B552-DDF06AF3BC55</a:ObjectID>\n<a:Name>use_point_limit_old</a:Name>\n<a:Code>use_point_limit_old</a:Code>\n<a:CreationDate>1521771164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771200</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o404\">\n<a:ObjectID>F4FFECE7-3152-46A5-83C6-60D352457335</a:ObjectID>\n<a:Name>use_point_limit_new</a:Name>\n<a:Code>use_point_limit_new</a:Code>\n<a:CreationDate>1521771164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771200</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o405\">\n<a:ObjectID>74162271-05EF-4D60-A189-252B04234604</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1521771246</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771275</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o406\">\n<a:ObjectID>966002F8-6310-4146-A9EA-4F185033236B</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1521771269</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771335</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o407\">\n<a:ObjectID>74CA880E-049D-422E-9C8D-AD3A1E73DCE2</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521770770</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770804</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o395\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o407\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o239\">\n<a:ObjectID>0D760BB3-CA67-4F64-B6A5-2D093F7657D6</a:ObjectID>\n<a:Name>pms_product_category</a:Name>\n<a:Code>pms_product_category</a:Code>\n<a:CreationDate>1521773028</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115630</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品分类</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o408\">\n<a:ObjectID>7235E328-6BF3-4CFD-B1C6-A02A6F6718A9</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521773048</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773067</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o409\">\n<a:ObjectID>0E642091-F38B-4D5F-937D-DA9C4151EFE2</a:ObjectID>\n<a:Name>parent_id</a:Name>\n<a:Code>parent_id</a:Code>\n<a:CreationDate>1522114406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522114468</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上机分类的编号：0表示一级分类</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o410\">\n<a:ObjectID>BDD611F1-0142-4419-B183-4F15282363D5</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521773064</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773092</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o411\">\n<a:ObjectID>1A0124D2-0307-433A-ADEA-62C14A6003F0</a:ObjectID>\n<a:Name>level</a:Name>\n<a:Code>level</a:Code>\n<a:CreationDate>1522114959</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522116072</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类级别：0-&gt;1级；1-&gt;2级</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o412\">\n<a:ObjectID>E50CCB02-2506-46DA-A95C-950DE16DF50F</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522115030</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115103</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o413\">\n<a:ObjectID>054029CE-B46E-4C2D-BFE1-E460D1B12275</a:ObjectID>\n<a:Name>product_unit</a:Name>\n<a:Code>product_unit</a:Code>\n<a:CreationDate>1522115030</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115103</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o414\">\n<a:ObjectID>8FF814D8-75E9-43DC-8CA8-890BECAEC537</a:ObjectID>\n<a:Name>nav_status</a:Name>\n<a:Code>nav_status</a:Code>\n<a:CreationDate>1522115030</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115270</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否显示在导航栏：0-&gt;不显示；1-&gt;显示</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o415\">\n<a:ObjectID>D38D4B8B-1852-4350-93ED-1803A7BEA6E7</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522115145</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115208</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>显示状态：0-&gt;不显示；1-&gt;显示</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o416\">\n<a:ObjectID>B47FED84-81B7-4E39-B763-8EE996F2424B</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522115178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o417\">\n<a:ObjectID>DB87CC69-B178-4FCD-B827-2A6C79ED2FE9</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522115323</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115342</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>图标</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o418\">\n<a:ObjectID>93F08150-5658-4346-B8FC-7F52F889824A</a:ObjectID>\n<a:Name>keywords</a:Name>\n<a:Code>keywords</a:Code>\n<a:CreationDate>1522115588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115630</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o419\">\n<a:ObjectID>4B01893A-E307-49EB-B5D4-98B55B0A48D1</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522115588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115634</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o420\">\n<a:ObjectID>64090BE2-8BEC-4616-8DDE-E24C94B52E9D</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521773048</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773064</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o408\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o420\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o240\">\n<a:ObjectID>4C5F5ABA-B6AB-4689-9F04-B487E920C073</a:ObjectID>\n<a:Name>pms_feight_template</a:Name>\n<a:Code>pms_feight_template</a:Code>\n<a:CreationDate>1521782818</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783539</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>运费模版</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o421\">\n<a:ObjectID>50FF090A-11EC-4F73-B237-ACA1D6347465</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521783117</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783139</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o422\">\n<a:ObjectID>E3A40203-E74E-4FC9-8A61-0169E8FD93BF</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1521783135</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783238</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o423\">\n<a:ObjectID>8BE728B7-5B75-4D76-A896-09F73A87B08A</a:ObjectID>\n<a:Name>charge_type</a:Name>\n<a:Code>charge_type</a:Code>\n<a:CreationDate>1521783135</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783309</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>计费类型:0-&gt;按重量；1-&gt;按件数</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o424\">\n<a:ObjectID>63F6CF39-B317-4872-869A-4AA80BCB1FDC</a:ObjectID>\n<a:Name>first_weight</a:Name>\n<a:Code>first_weight</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783558</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首重kg</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o425\">\n<a:ObjectID>DC192E82-45CE-4623-AD18-DA14ECB31F39</a:ObjectID>\n<a:Name>first_fee</a:Name>\n<a:Code>first_fee</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783579</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首费（元）</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o426\">\n<a:ObjectID>7D5538AC-2415-4EFA-8A9B-A46204FF35CB</a:ObjectID>\n<a:Name>continue_weight</a:Name>\n<a:Code>continue_weight</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783539</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o427\">\n<a:ObjectID>4EC457E3-A82A-4B3B-86B7-D4E0C200780F</a:ObjectID>\n<a:Name>continme_fee</a:Name>\n<a:Code>continme_fee</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783539</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o428\">\n<a:ObjectID>FE7A715E-1C3C-4E28-BBB2-1B34605B2EAF</a:ObjectID>\n<a:Name>dest</a:Name>\n<a:Code>dest</a:Code>\n<a:CreationDate>1521783270</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783601</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>目的地（省、市）</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o429\">\n<a:ObjectID>3F3D7980-1F46-4F3E-BDFD-AF0F8EEE2FA6</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521783117</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o421\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o429\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o241\">\n<a:ObjectID>22CB8FD3-3DDD-4FF9-AE76-E13CF6CD6875</a:ObjectID>\n<a:Name>pms_member_price</a:Name>\n<a:Code>pms_member_price</a:Code>\n<a:CreationDate>1521791032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1528184156</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品会员价格表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o430\">\n<a:ObjectID>30FC5C31-983F-4219-9339-C8B5BABB7234</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521791069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o431\">\n<a:ObjectID>9BC9FEC6-7030-4F2B-9C10-86F37EB776FD</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521791466</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791479</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o432\">\n<a:ObjectID>49BA6972-E766-4A84-8B8B-9C4DD271CE61</a:ObjectID>\n<a:Name>member_level_id</a:Name>\n<a:Code>member_level_id</a:Code>\n<a:CreationDate>1522721755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721767</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o433\">\n<a:ObjectID>941A6699-6C9F-4E4B-9FAA-B6E6F69906EC</a:ObjectID>\n<a:Name>member_price</a:Name>\n<a:Code>member_price</a:Code>\n<a:CreationDate>1522721615</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721665</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o434\">\n<a:ObjectID>0B4E79EF-7E2C-41DE-B72B-C9BC578A2F72</a:ObjectID>\n<a:Name>member_level_name</a:Name>\n<a:Code>member_level_name</a:Code>\n<a:CreationDate>1528184129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1528184156</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o435\">\n<a:ObjectID>FE782243-6FFE-4CEE-BA53-9AFE8D357748</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521791069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791083</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o430\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o435\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o242\">\n<a:ObjectID>DDA47447-C998-4D66-9FD0-1A64A30E043C</a:ObjectID>\n<a:Name>pms_product_ladder</a:Name>\n<a:Code>pms_product_ladder</a:Code>\n<a:CreationDate>1521791865</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721483</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品阶梯价格表(只针对同商品)</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o436\">\n<a:ObjectID>C7FD3278-BB15-4A88-A424-42163F101417</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521792127</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792152</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o437\">\n<a:ObjectID>3FDC1BDA-8A46-4848-9D75-3856408246F6</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521792428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792442</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o438\">\n<a:ObjectID>8A95CD6B-64CA-48FE-BF0F-46E24B04A977</a:ObjectID>\n<a:Name>count</a:Name>\n<a:Code>count</a:Code>\n<a:CreationDate>1521792148</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792177</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>满足的商品数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o439\">\n<a:ObjectID>F9D8DAEF-F28F-424D-9532-FB464AD4E654</a:ObjectID>\n<a:Name>discount</a:Name>\n<a:Code>discount</a:Code>\n<a:CreationDate>1521792164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792218</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>折扣</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o440\">\n<a:ObjectID>7693845E-7B98-4C2E-9406-863D4F8E612A</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1521792219</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>折后价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o441\">\n<a:ObjectID>4C0C9B14-EE1D-4112-A02D-85975F91C2F9</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521792127</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792148</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o436\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o441\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o243\">\n<a:ObjectID>9C7F6D83-696D-4AC2-B63C-41A457276432</a:ObjectID>\n<a:Name>pms_product_full_reduction</a:Name>\n<a:Code>pms_product_full_reduction</a:Code>\n<a:CreationDate>1521791901</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721499</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品满减表(只针对同商品)</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o442\">\n<a:ObjectID>1CB2D116-96CD-4A26-B9D4-B7AA00AD92E7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1521792488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524721741</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o443\">\n<a:ObjectID>AF625FED-C1BF-47A8-94CE-EAB80C7CE452</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1521792909</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792920</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o444\">\n<a:ObjectID>56253152-8B4B-4F5D-ABB7-DFAEBED5C6EA</a:ObjectID>\n<a:Name>full_price</a:Name>\n<a:Code>full_price</a:Code>\n<a:CreationDate>1521792498</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792848</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o445\">\n<a:ObjectID>A23F3BDA-C442-413A-8F7F-EBBAFF4EB634</a:ObjectID>\n<a:Name>reduce_price</a:Name>\n<a:Code>reduce_price</a:Code>\n<a:CreationDate>1521792498</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792848</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o446\">\n<a:ObjectID>42DEDB72-EACE-44AD-8377-601D1EF19A71</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1521792488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792498</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o442\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o446\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o244\">\n<a:ObjectID>8CA12D96-D48C-4542-A89B-718C043C331E</a:ObjectID>\n<a:Name>pms_product_attribute_category</a:Name>\n<a:Code>pms_product_attribute_category</a:Code>\n<a:CreationDate>1522044163</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品属性分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o447\">\n<a:ObjectID>C0EDF8D7-B021-4E78-AB1C-3372732BAA8A</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522044196</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o448\">\n<a:ObjectID>DF80D9F1-71A8-4898-9D4B-CDEFFFD1C51F</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522044211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044389</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o449\">\n<a:ObjectID>34182414-4199-49E6-B221-AF015FAD34FB</a:ObjectID>\n<a:Name>attribute_count</a:Name>\n<a:Code>attribute_count</a:Code>\n<a:CreationDate>1522044211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044418</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o450\">\n<a:ObjectID>728FAF40-18B5-42AD-9006-390BB12DF6D5</a:ObjectID>\n<a:Name>param_count</a:Name>\n<a:Code>param_count</a:Code>\n<a:CreationDate>1522044211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044436</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>参数数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o451\">\n<a:ObjectID>C340AD67-5366-4172-A5C1-715381DA4E4C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522044527</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044533</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o447\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o451\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o245\">\n<a:ObjectID>1959D6C2-18BC-4144-85F7-C5CD3C830DB4</a:ObjectID>\n<a:Name>pms_product_attribute</a:Name>\n<a:Code>pms_product_attribute</a:Code>\n<a:CreationDate>1522044465</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045805</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品属性参数表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o452\">\n<a:ObjectID>9736DD68-0C91-45FD-98D9-098B45FAA881</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522044502</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044525</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o453\">\n<a:ObjectID>46A4A5DC-A87A-4AB1-A41A-E70B98AA3C7F</a:ObjectID>\n<a:Name>product_attribute_category_id</a:Name>\n<a:Code>product_attribute_category_id</a:Code>\n<a:CreationDate>1522045168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045192</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o454\">\n<a:ObjectID>A23C122D-1090-414B-A50F-64053E0CA705</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522044544</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044628</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o455\">\n<a:ObjectID>0475CD9F-ECC5-435C-812F-16D6D2FDA0F5</a:ObjectID>\n<a:Name>select_type</a:Name>\n<a:Code>select_type</a:Code>\n<a:CreationDate>1522044544</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1551343683</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性选择类型：0-&gt;唯一；1-&gt;单选；2-&gt;多选；对应属性和参数意义不同；</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o456\">\n<a:ObjectID>A656FC1F-FC28-4012-8876-5FE082ADCFC1</a:ObjectID>\n<a:Name>input_type</a:Name>\n<a:Code>input_type</a:Code>\n<a:CreationDate>1522044628</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044761</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性录入方式：0-&gt;手工录入；1-&gt;从列表中选取</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o457\">\n<a:ObjectID>673D1CDE-138E-45B6-9ADE-9C9FBAF1FA3C</a:ObjectID>\n<a:Name>input_list</a:Name>\n<a:Code>input_list</a:Code>\n<a:CreationDate>1522044737</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044853</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可选值列表，以逗号隔开</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o458\">\n<a:ObjectID>2710E2E2-FD53-4302-B88E-62F2B708E736</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522044833</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045635</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序字段：最高的可以单独上传图片</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o459\">\n<a:ObjectID>6A4CA846-5A79-4A70-9C1B-69D819C67C91</a:ObjectID>\n<a:Name>filter_type</a:Name>\n<a:Code>filter_type</a:Code>\n<a:CreationDate>1522044833</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045152</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类筛选样式：1-&gt;普通；1-&gt;颜色</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o460\">\n<a:ObjectID>2BE254B3-3CD8-4794-929E-3FBEB258936B</a:ObjectID>\n<a:Name>search_type</a:Name>\n<a:Code>search_type</a:Code>\n<a:CreationDate>1522045233</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045285</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>检索类型；0-&gt;不需要进行检索；1-&gt;关键字检索；2-&gt;范围检索</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o461\">\n<a:ObjectID>5C1F000F-8181-4CF0-B2C6-422AC7CD8EF3</a:ObjectID>\n<a:Name>related_status</a:Name>\n<a:Code>related_status</a:Code>\n<a:CreationDate>1522045363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045485</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>相同属性产品是否关联；0-&gt;不关联；1-&gt;关联</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o462\">\n<a:ObjectID>3660F2D1-79BF-4600-B965-259108FA8784</a:ObjectID>\n<a:Name>hand_add_status</a:Name>\n<a:Code>hand_add_status</a:Code>\n<a:CreationDate>1522045453</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045556</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否支持手动新增；0-&gt;不支持；1-&gt;支持</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o463\">\n<a:ObjectID>1EFD6D7F-29E6-4B52-A192-EDDEFFF5EB54</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522045781</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045820</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>属性的类型；0-&gt;规格；1-&gt;参数</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o464\">\n<a:ObjectID>D37FC115-4FED-46C1-9D29-34FE0FCB103F</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522044517</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522044525</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o452\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o464\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o246\">\n<a:ObjectID>70D24471-1832-42AF-BF28-DF5C4D67427D</a:ObjectID>\n<a:Name>pms_product_attribute_value</a:Name>\n<a:Code>pms_product_attribute_value</a:Code>\n<a:CreationDate>1522046351</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>存储产品参数信息的表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o465\">\n<a:ObjectID>98949F13-7401-4B46-8C46-AD0EDB279FA6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522046392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046409</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o466\">\n<a:ObjectID>A73883DF-2D36-497D-8D90-9EB0F5CF3C5B</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522046451</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524710981</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o467\">\n<a:ObjectID>92ACF804-9722-47C3-826B-A2611338F2F6</a:ObjectID>\n<a:Name>product_attribute_id</a:Name>\n<a:Code>product_attribute_id</a:Code>\n<a:CreationDate>1522046456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524710981</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o468\">\n<a:ObjectID>E83F864A-D6C1-48EA-B9A3-7C9AB2ED55A1</a:ObjectID>\n<a:Name>value</a:Name>\n<a:Code>value</a:Code>\n<a:CreationDate>1522046406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1531100886</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>手动添加规格或参数的值，参数单值，规格有多个时以逗号隔开</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o469\">\n<a:ObjectID>66A6E0B8-A090-45F7-ACD4-8815D7DF6B6F</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522046392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046406</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o465\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o469\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o247\">\n<a:ObjectID>73D97C96-1D05-46E2-89CA-985688FD385B</a:ObjectID>\n<a:Name>cms_topic</a:Name>\n<a:Code>cms_topic</a:Code>\n<a:CreationDate>1522050428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>话题表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o470\">\n<a:ObjectID>E5586D56-C86E-40C0-8433-7EAAB1A7A79F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522050454</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522050470</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o471\">\n<a:ObjectID>8DBF595F-4E5A-42F6-A301-D87380DA3FE6</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1522141317</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141327</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o472\">\n<a:ObjectID>8CDFD790-F0B3-436A-8295-5F442B1A3E07</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522050467</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522050484</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o473\">\n<a:ObjectID>CD7B71CD-51EB-49B3-93FE-59F59BF51EF2</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o474\">\n<a:ObjectID>351D963E-FCB6-4A62-A03E-79FC4362CAFD</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o475\">\n<a:ObjectID>BC71816F-CC52-4DD7-869B-5EF23E07824D</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o476\">\n<a:ObjectID>082A202D-0BB3-41C1-9474-62FE6C172569</a:ObjectID>\n<a:Name>attend_count</a:Name>\n<a:Code>attend_count</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141052</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>参与人数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o477\">\n<a:ObjectID>6A84107F-35BF-4BB0-B867-39198A321E01</a:ObjectID>\n<a:Name>attention_count</a:Name>\n<a:Code>attention_count</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141063</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>关注人数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o478\">\n<a:ObjectID>5A9F5276-5222-4760-BA85-CA98154759F9</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140989</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o479\">\n<a:ObjectID>1931F93B-6D40-4FD7-9C4F-1C67815C3459</a:ObjectID>\n<a:Name>award_name</a:Name>\n<a:Code>award_name</a:Code>\n<a:CreationDate>1522140807</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522140997</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>奖品名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o480\">\n<a:ObjectID>6440D5DB-2981-4203-9519-A4CB896AB498</a:ObjectID>\n<a:Name>attend_type</a:Name>\n<a:Code>attend_type</a:Code>\n<a:CreationDate>1522140989</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141043</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>参与方式</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o481\">\n<a:ObjectID>C88BACB1-A103-4EC5-8800-F500CE872650</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522141034</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141083</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>话题内容</a:Comment>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o482\">\n<a:ObjectID>9469C4F2-63EF-48D7-85F7-749CBD56D5A9</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522050454</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522050467</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o470\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o482\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o248\">\n<a:ObjectID>143551D6-36A8-4263-B499-17416D5B4E78</a:ObjectID>\n<a:Name>cms_prefrence_area</a:Name>\n<a:Code>cms_prefrence_area</a:Code>\n<a:CreationDate>1522112533</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优选专区</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o483\">\n<a:ObjectID>601C99AA-881D-4188-A507-8EBC584792A1</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522112534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112571</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o484\">\n<a:ObjectID>FCDEF8AE-3C3E-4D80-8718-68B2BFDAAAAB</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522112567</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112584</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o485\">\n<a:ObjectID>6F54EFCF-2121-40E1-A012-0780AA817B9E</a:ObjectID>\n<a:Name>sub_title</a:Name>\n<a:Code>sub_title</a:Code>\n<a:CreationDate>1522139220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o486\">\n<a:ObjectID>31AB8614-FFF2-430B-A3B9-8592C41EC3B4</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522139329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139365</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>展示图片</a:Comment>\n<a:DataType>varbinary(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o487\">\n<a:ObjectID>27D98403-DF29-48CA-A724-8E2B6FFEFB01</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139372</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o488\">\n<a:ObjectID>3BD7C5D5-B647-4499-ABA6-AE5E08D069CE</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139372</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139400</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o489\">\n<a:ObjectID>D4E19AA8-AFAB-4791-A6C7-15DBDF850779</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522112534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112567</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o483\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o489\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o249\">\n<a:ObjectID>A13BD5C1-4EB4-4269-978C-7BC04C9CDC6E</a:ObjectID>\n<a:Name>cms_prefrence_area_product_relation</a:Name>\n<a:Code>cms_prefrence_area_product_relation</a:Code>\n<a:CreationDate>1522112617</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215871</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优选专区和产品关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o490\">\n<a:ObjectID>F54F6DBB-9A10-4191-9426-087F11A04093</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522112618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112684</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o491\">\n<a:ObjectID>AD6438FF-9782-40FA-82DB-D99F8C15BC39</a:ObjectID>\n<a:Name>prefrence_area_id</a:Name>\n<a:Code>prefrence_area_id</a:Code>\n<a:CreationDate>1522112691</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139303</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o492\">\n<a:ObjectID>A5DE8A1D-EF5C-4ADB-BAEC-1DC5B833C89D</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522112694</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112722</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o493\">\n<a:ObjectID>6248D431-92E7-4999-9E2E-A8492D60909B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522112618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112681</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o490\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o493\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o250\">\n<a:ObjectID>7124790D-D56B-43AC-9EF3-1CFC5BF12114</a:ObjectID>\n<a:Name>pms_product_category_attribute_relation</a:Name>\n<a:Code>pms_product_category_attribute_relation</a:Code>\n<a:CreationDate>1522115893</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215883</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品的分类和属性的关系表，用于设置分类筛选条件（只支持一级分类）</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o494\">\n<a:ObjectID>9185CBA8-9501-4F1D-869D-7CFE0D62A0E5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522115894</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115954</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o495\">\n<a:ObjectID>2A249FE2-167D-4966-B80C-A1F2029335D5</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1522115961</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o496\">\n<a:ObjectID>CA02967F-18F1-4803-AE3A-A4C6F3085047</a:ObjectID>\n<a:Name>product_attribute_id</a:Name>\n<a:Code>product_attribute_id</a:Code>\n<a:CreationDate>1522115983</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115997</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o497\">\n<a:ObjectID>7664FAB4-1504-4257-846E-556F70D39E63</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522115894</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o494\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o497\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o251\">\n<a:ObjectID>56CDA36B-EA58-4AE1-B858-A5F9A2F29A8E</a:ObjectID>\n<a:Name>pms_comment</a:Name>\n<a:Code>pms_comment</a:Code>\n<a:CreationDate>1522118136</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119143</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品评价表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o498\">\n<a:ObjectID>0B63A5AB-69A1-49D3-B274-537BE5F79603</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118175</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118191</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o499\">\n<a:ObjectID>AAEF7DDC-9B2F-46B6-A8B1-C6F87BF129B3</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522118676</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118692</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o500\">\n<a:ObjectID>E861609A-6A46-4405-ABD0-EE63DF7C18AB</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118254</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o501\">\n<a:ObjectID>93F98F3F-AE44-425D-8437-15EFCA931DEE</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522118254</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o502\">\n<a:ObjectID>3B937D50-F65E-4FCC-91E6-987280555E0F</a:ObjectID>\n<a:Name>star</a:Name>\n<a:Code>star</a:Code>\n<a:CreationDate>1522118296</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118388</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价星数：0-&gt;5</a:Comment>\n<a:DataType>int(3)</a:DataType>\n<a:Length>3</a:Length>\n</o:Column>\n<o:Column Id=\"o503\">\n<a:ObjectID>FF2F85AD-9EEF-4482-8425-012B16214ACC</a:ObjectID>\n<a:Name>member_ip</a:Name>\n<a:Code>member_ip</a:Code>\n<a:CreationDate>1522118356</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价的ip</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o504\">\n<a:ObjectID>928C78C9-46A9-4372-89AE-240801429406</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118413</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118537</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o505\">\n<a:ObjectID>60548BBB-24E8-420F-A512-5446E5A2E760</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522118413</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118537</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o506\">\n<a:ObjectID>9F48621B-2FCF-45E5-9143-1BE198FF29B5</a:ObjectID>\n<a:Name>product_attribute</a:Name>\n<a:Code>product_attribute</a:Code>\n<a:CreationDate>1522118413</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118546</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购买时的商品属性</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o507\">\n<a:ObjectID>DCCC00DA-5050-4C5E-B95B-2FCC03D9FD16</a:ObjectID>\n<a:Name>collect_couont</a:Name>\n<a:Code>collect_couont</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o508\">\n<a:ObjectID>0C6D9887-AA40-4B94-93DC-624FB5BDE0BA</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o509\">\n<a:ObjectID>7B205E86-CD8C-4B49-8E5C-34A3FB5FB46B</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118636</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o510\">\n<a:ObjectID>BE5DD03F-680E-4FF4-BC30-A3249F0F3240</a:ObjectID>\n<a:Name>pics</a:Name>\n<a:Code>pics</a:Code>\n<a:CreationDate>1522118537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118653</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上传图片地址，以逗号隔开</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o511\">\n<a:ObjectID>27BD4283-26AA-4F27-9E13-963F0588E6E2</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118919</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118952</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评论用户头像</a:Comment>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o512\">\n<a:ObjectID>1C85F6E9-ECED-473D-95C8-3509F812EBAE</a:ObjectID>\n<a:Name>replay_count</a:Name>\n<a:Code>replay_count</a:Code>\n<a:CreationDate>1522119113</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119127</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o513\">\n<a:ObjectID>FB3F2C83-222B-4B40-9A1A-B8E7586FC5D1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118175</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118187</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o498\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o513\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o252\">\n<a:ObjectID>9E632F70-2FF6-43F1-8035-39044AC4B722</a:ObjectID>\n<a:Name>pms_comment_replay</a:Name>\n<a:Code>pms_comment_replay</a:Code>\n<a:CreationDate>1522118840</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119205</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品评价回复表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o514\">\n<a:ObjectID>C0FE35AD-E3D8-46AA-BD43-0A4FE9348CF6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118870</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118887</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o515\">\n<a:ObjectID>6A4043C2-5C50-430C-BD5B-AA0D11362AC2</a:ObjectID>\n<a:Name>comment_id</a:Name>\n<a:Code>comment_id</a:Code>\n<a:CreationDate>1522119056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119072</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o516\">\n<a:ObjectID>C6A4F7EC-CA0E-4E95-80BB-BB5BD4C7CF03</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o517\">\n<a:ObjectID>D39F911F-9FF3-401E-89A2-A0CF1AEB11F5</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o518\">\n<a:ObjectID>37F379DF-80F8-4A2D-A1FD-F1B8DFFF3E8C</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o519\">\n<a:ObjectID>4D97D374-C6C4-4835-8901-0A0AF230090C</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o520\">\n<a:ObjectID>7323FC1E-0690-46C9-AE91-EBC17297BB57</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522119192</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119239</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评论人员类型；0-&gt;会员；1-&gt;管理员</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o521\">\n<a:ObjectID>AB67D302-57F5-41ED-BA76-1DA5FCEA3BD1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118880</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118887</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o514\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o521\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o253\">\n<a:ObjectID>6D104B7B-620F-491A-ABC4-B60B21CF69BC</a:ObjectID>\n<a:Name>pms_album</a:Name>\n<a:Code>pms_album</a:Code>\n<a:CreationDate>1522120039</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>相册表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o522\">\n<a:ObjectID>424E4971-5936-46F8-BAE1-7F4220EDC6B5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522120040</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120064</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o523\">\n<a:ObjectID>0C2DE146-32E0-438D-907D-FA27F53BE712</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o524\">\n<a:ObjectID>2DAC711E-D5AE-4A25-8D7E-3A748D5B5988</a:ObjectID>\n<a:Name>cover_pic</a:Name>\n<a:Code>cover_pic</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o525\">\n<a:ObjectID>B2BBBBA4-937B-440C-9708-7D2094D5893B</a:ObjectID>\n<a:Name>pic_count</a:Name>\n<a:Code>pic_count</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o526\">\n<a:ObjectID>F34D2B7C-8CB3-4078-99E6-ED7DA2FEC59B</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o527\">\n<a:ObjectID>1EED58B2-81C2-4FA8-8242-3B9845D29645</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522120061</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o528\">\n<a:ObjectID>1535694E-35FA-45D2-9EC4-0AC46AAB6A81</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522120040</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120061</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o522\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o528\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o254\">\n<a:ObjectID>111B6F68-21FF-450D-9F6E-40C4E4F09B6C</a:ObjectID>\n<a:Name>pms_album_pic</a:Name>\n<a:Code>pms_album_pic</a:Code>\n<a:CreationDate>1522120250</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120295</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>画册图片表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o529\">\n<a:ObjectID>E25430EB-9E92-44D3-BD29-B357E9DCB2F6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522120251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120277</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o530\">\n<a:ObjectID>572B79C1-82C5-405D-A13E-11183C8382C3</a:ObjectID>\n<a:Name>album_id</a:Name>\n<a:Code>album_id</a:Code>\n<a:CreationDate>1522120295</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120304</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o531\">\n<a:ObjectID>EA74BD79-E880-467B-AEED-0E92E733AE95</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522120273</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o532\">\n<a:ObjectID>B677823F-37C2-47FB-A8EE-F10B80BF40BB</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522120251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120273</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o529\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o532\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o255\">\n<a:ObjectID>B57200C6-A503-406F-BC2F-5B144309EC10</a:ObjectID>\n<a:Name>cms_subject</a:Name>\n<a:Code>cms_subject</a:Code>\n<a:CreationDate>1522138190</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542086220</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o533\">\n<a:ObjectID>53BC0750-B403-49FD-A50A-F081E7D2409F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1524711592</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o534\">\n<a:ObjectID>42524411-D613-4537-A110-5746681D4178</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1522138705</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139827</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o535\">\n<a:ObjectID>B88B2152-E11E-4B3E-8752-12B9A9B9D6E6</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138313</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o536\">\n<a:ObjectID>82CD4D66-89A8-4563-A6E1-1DE23B4E0326</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138320</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题主图</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o537\">\n<a:ObjectID>7CE3D060-441E-426C-A4DE-E36FA20C37B3</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138330</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>关联产品数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o538\">\n<a:ObjectID>DC926B26-780C-422A-9F01-918ACE01616D</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522138235</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o539\">\n<a:ObjectID>ADDFD504-1961-4B20-A5A7-2663BE5DC0E6</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o540\">\n<a:ObjectID>5D13D140-A74E-4586-880C-1BFE0A0E11D4</a:ObjectID>\n<a:Name>collect_count</a:Name>\n<a:Code>collect_count</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o541\">\n<a:ObjectID>EAEA9201-9947-490A-9AA6-36A980292101</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o542\">\n<a:ObjectID>2FEB2EE8-3445-412B-809E-86AA3ECF4529</a:ObjectID>\n<a:Name>comment_count</a:Name>\n<a:Code>comment_count</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138489</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o543\">\n<a:ObjectID>3213DDDC-F105-4CF3-85B1-0AF4B28D18BD</a:ObjectID>\n<a:Name>album_pics</a:Name>\n<a:Code>album_pics</a:Code>\n<a:CreationDate>1522138313</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138499</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>画册图片用逗号分割</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o544\">\n<a:ObjectID>3E65E187-85C6-4C2C-8508-6459E5634653</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522138733</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138806</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o545\">\n<a:ObjectID>2E84713F-CB2B-46A6-BA44-489D2F6458EE</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522138733</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139016</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>显示状态：0-&gt;不显示；1-&gt;显示</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o546\">\n<a:ObjectID>53DFEF92-6705-4834-A79D-DBE1EA44CC23</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522138733</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138806</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n<o:Column Id=\"o547\">\n<a:ObjectID>2BEA9B61-5B2A-495A-A1F3-CDC9992E6EC0</a:ObjectID>\n<a:Name>forward_count</a:Name>\n<a:Code>forward_count</a:Code>\n<a:CreationDate>1522139567</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139597</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>转发数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o548\">\n<a:ObjectID>38F4212D-8579-407B-BA77-92A54008F60B</a:ObjectID>\n<a:Name>category_name</a:Name>\n<a:Code>category_name</a:Code>\n<a:CreationDate>1542086194</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542086464</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o549\">\n<a:ObjectID>EEB1DA22-1547-4B23-B534-2C0E6E700AC7</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138603</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138607</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o533\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o549\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o256\">\n<a:ObjectID>606E012F-14A2-4A00-AD6E-15A2EFBB9C5E</a:ObjectID>\n<a:Name>cms_subject_product_relation</a:Name>\n<a:Code>cms_subject_product_relation</a:Code>\n<a:CreationDate>1522138561</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215878</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题商品关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o550\">\n<a:ObjectID>5DF4FFB5-2AF3-432F-B7B4-7F3BB6E24DBE</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138589</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139788</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o551\">\n<a:ObjectID>CEA5917C-7E9D-4BBC-9C36-526EDCFEE760</a:ObjectID>\n<a:Name>subject_id</a:Name>\n<a:Code>subject_id</a:Code>\n<a:CreationDate>1522138613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138642</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o552\">\n<a:ObjectID>5071E824-D357-4D1D-A766-5EEF7042D9DB</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522138618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138642</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o553\">\n<a:ObjectID>F54E063F-39C6-4A3F-B83A-85972E2FF817</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138589</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138597</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o550\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o553\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o257\">\n<a:ObjectID>AB473418-20D2-4DA3-8888-C528B336912A</a:ObjectID>\n<a:Name>cms_subject_category</a:Name>\n<a:Code>cms_subject_category</a:Code>\n<a:CreationDate>1522138655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o554\">\n<a:ObjectID>25CBB635-2A80-4F21-B7E8-E352F1B4F77F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o555\">\n<a:ObjectID>A1D41EA4-B0CA-4941-A909-27D9909E0E37</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522138679</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138696</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o556\">\n<a:ObjectID>D8AE7B27-35EB-4915-B668-4C51D80A4A48</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522139032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139093</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o557\">\n<a:ObjectID>6FA5F7F2-CFF4-42F4-8F7D-21845B349CCB</a:ObjectID>\n<a:Name>subject_count</a:Name>\n<a:Code>subject_count</a:Code>\n<a:CreationDate>1522139087</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o558\">\n<a:ObjectID>B0C5DD2A-9B58-4590-8B05-06401B097A8C</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(2)</a:DataType>\n<a:Length>2</a:Length>\n</o:Column>\n<o:Column Id=\"o559\">\n<a:ObjectID>E2526823-EFE1-4B05-B1D2-26F058A2982A</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o560\">\n<a:ObjectID>FB93F2E5-22E1-4B1A-A200-33E4152340C2</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138679</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o554\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o560\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o258\">\n<a:ObjectID>49773448-772B-485E-A3C7-B11481FECA81</a:ObjectID>\n<a:Name>cms_subject_comment</a:Name>\n<a:Code>cms_subject_comment</a:Code>\n<a:CreationDate>1522118840</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题评论表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o561\">\n<a:ObjectID>1147FDE1-65B1-4BFD-A1A2-B020098BE42C</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118870</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o562\">\n<a:ObjectID>2ADF8874-CC3E-474C-B210-4025C4AC3F72</a:ObjectID>\n<a:Name>subject_id</a:Name>\n<a:Code>subject_id</a:Code>\n<a:CreationDate>1522141232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141245</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o563\">\n<a:ObjectID>B0459F20-23C7-466D-8A4F-8796D69A0C08</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o564\">\n<a:ObjectID>C2AF427F-DE7F-4C75-ACE7-0ABFD02455DA</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o565\">\n<a:ObjectID>5D00E7C2-F197-490B-819E-120CEC889DC6</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o566\">\n<a:ObjectID>DF4234D6-78A1-41C9-AD35-1888B1FEAB6F</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o567\">\n<a:ObjectID>86082980-A127-4EDF-8EFC-E8148463178A</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139856</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139873</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o568\">\n<a:ObjectID>36EEDF00-52B8-437E-B236-EEA161669A1B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118880</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522139643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o561\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o568\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o259\">\n<a:ObjectID>D0100727-1202-4283-BD62-F95371B06299</a:ObjectID>\n<a:Name>cms_topic_comment</a:Name>\n<a:Code>cms_topic_comment</a:Code>\n<a:CreationDate>1522118840</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522399064</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题评论表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o569\">\n<a:ObjectID>58CD3CFC-497C-4971-AD22-9987D668CDE6</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522118870</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o570\">\n<a:ObjectID>DE828932-9533-4CE1-86D2-A92BD6FED7AA</a:ObjectID>\n<a:Name>member_nick_name</a:Name>\n<a:Code>member_nick_name</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o571\">\n<a:ObjectID>45FF2606-4361-412C-B9DC-397D23DEE33B</a:ObjectID>\n<a:Name>topic_id</a:Name>\n<a:Code>topic_id</a:Code>\n<a:CreationDate>1522141157</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141168</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o572\">\n<a:ObjectID>449FC5FE-AE37-4C13-B286-63FD48F70DA9</a:ObjectID>\n<a:Name>member_icon</a:Name>\n<a:Code>member_icon</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(255)</a:DataType>\n<a:Length>255</a:Length>\n</o:Column>\n<o:Column Id=\"o573\">\n<a:ObjectID>395DC11D-5668-46CE-AAA6-AFFD0AEC84A2</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o574\">\n<a:ObjectID>31AE7B63-BC68-4E98-B907-92F1D8C6CD90</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522118977</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o575\">\n<a:ObjectID>711458F7-23E9-480C-8749-66742D667C05</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139856</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o576\">\n<a:ObjectID>AF9DA610-2D90-4723-8586-DE3F17CC93AC</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522118880</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o569\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o576\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o260\">\n<a:ObjectID>DAA0A46E-FEF2-4004-97B6-4FF049BC1DF2</a:ObjectID>\n<a:Name>cms_topic_category</a:Name>\n<a:Code>cms_topic_category</a:Code>\n<a:CreationDate>1522138655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141297</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>话题分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o577\">\n<a:ObjectID>D109BEFC-0C6F-4B8C-AA21-461DB4903D66</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o578\">\n<a:ObjectID>F26259A6-E8E7-4CBC-BBBF-9E99449079B4</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522138679</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o579\">\n<a:ObjectID>1DAD2A73-1384-45CD-84B3-C8A2021FAB46</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522139032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o580\">\n<a:ObjectID>2413D731-87CA-45E0-AD41-AA64C90DA23F</a:ObjectID>\n<a:Name>subject_count</a:Name>\n<a:Code>subject_count</a:Code>\n<a:CreationDate>1522139087</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o581\">\n<a:ObjectID>B591EC57-36F5-4C03-A012-D0ADBF3E4C0F</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(2)</a:DataType>\n<a:Length>2</a:Length>\n</o:Column>\n<o:Column Id=\"o582\">\n<a:ObjectID>DAFFB2FD-33EB-4BB3-9E0C-0297E575E351</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o583\">\n<a:ObjectID>99A75D70-8F78-4D6E-8953-00CADCEAB0E0</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141269</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o577\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o583\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o261\">\n<a:ObjectID>5312D8EC-AF1A-469E-BC98-AB6273AAAE0E</a:ObjectID>\n<a:Name>cms_help</a:Name>\n<a:Code>cms_help</a:Code>\n<a:CreationDate>1522141745</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142006</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帮助表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o584\">\n<a:ObjectID>A9D8065D-3D37-419F-9038-978F59CEBB8F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522141746</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141791</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o585\">\n<a:ObjectID>99F1B8BB-6318-423F-8D30-A40703AF7A53</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1522142006</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142017</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o586\">\n<a:ObjectID>C7F74EDD-B6CB-4D46-9617-F8C14AB2DF2F</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o587\">\n<a:ObjectID>FF621D0D-B8FA-4725-A175-D7B2BABA5B94</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o588\">\n<a:ObjectID>E6895426-49FA-4AF4-BB77-757AA0BF864C</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o589\">\n<a:ObjectID>F08C0B0D-F6B3-4A69-AA15-9DE56C118112</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o590\">\n<a:ObjectID>4354AAE9-96D2-4D68-9074-4D6D43058031</a:ObjectID>\n<a:Name>read_count</a:Name>\n<a:Code>read_count</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o591\">\n<a:ObjectID>38267C50-CED4-4040-80C3-F2BB84F55DE1</a:ObjectID>\n<a:Name>content</a:Name>\n<a:Code>content</a:Code>\n<a:CreationDate>1522141808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141921</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>text</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o592\">\n<a:ObjectID>23861D6B-7336-4999-B247-2795E01A36A6</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522141746</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141776</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o584\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o592\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o262\">\n<a:ObjectID>C69D6CF4-1D0A-4C73-BD5D-728063BA5CF5</a:ObjectID>\n<a:Name>cms_help_category</a:Name>\n<a:Code>cms_help_category</a:Code>\n<a:CreationDate>1522138655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141973</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帮助分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o593\">\n<a:ObjectID>67081E82-4B28-4B4B-950A-A6977DDC416C</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o594\">\n<a:ObjectID>23A542BE-7271-45B8-9BA3-2994EC446525</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522138679</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o595\">\n<a:ObjectID>E5E3B51D-A536-42AF-A7B5-B0CB88FA1382</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522139032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o596\">\n<a:ObjectID>433A0125-DC14-4DE3-AC67-4F50F73D9C10</a:ObjectID>\n<a:Name>help_count</a:Name>\n<a:Code>help_count</a:Code>\n<a:CreationDate>1522139087</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141999</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>专题数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o597\">\n<a:ObjectID>66476CEF-9E6C-4DD2-8CF4-F17B95C150DF</a:ObjectID>\n<a:Name>show_status</a:Name>\n<a:Code>show_status</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(2)</a:DataType>\n<a:Length>2</a:Length>\n</o:Column>\n<o:Column Id=\"o598\">\n<a:ObjectID>08AA26A1-B9BA-42BA-B07E-A3F313619269</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522139129</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o599\">\n<a:ObjectID>7062AB8C-E6E5-4256-9CAA-E35D576A4067</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522138656</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141950</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o593\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o599\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o264\">\n<a:ObjectID>EE13E81B-7389-4258-A293-350022D681E9</a:ObjectID>\n<a:Name>cms_member_report</a:Name>\n<a:Code>cms_member_report</a:Code>\n<a:CreationDate>1522142154</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142502</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户举报表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o600\">\n<a:ObjectID>26970FB1-6D6F-4F9B-B5AE-A006A5DA00B0</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522142174</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142240</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o601\">\n<a:ObjectID>6447324C-45CB-4E42-9437-A15934CB1F0D</a:ObjectID>\n<a:Name>report_type</a:Name>\n<a:Code>report_type</a:Code>\n<a:CreationDate>1522142174</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142646</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>举报类型：0-&gt;商品评价；1-&gt;话题内容；2-&gt;用户评论</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o602\">\n<a:ObjectID>020ECB31-0883-4162-80FA-2DFC32D3C7A5</a:ObjectID>\n<a:Name>report_member_name</a:Name>\n<a:Code>report_member_name</a:Code>\n<a:CreationDate>1522142240</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142303</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>举报人</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o603\">\n<a:ObjectID>C0692AD1-F67F-4EA1-8AA3-ACA47B0262AB</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522142298</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142386</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o604\">\n<a:ObjectID>C57611C0-AF26-4C7A-8D51-A283494F883A</a:ObjectID>\n<a:Name>report_object</a:Name>\n<a:Code>report_object</a:Code>\n<a:CreationDate>1522142298</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142386</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o605\">\n<a:ObjectID>A426736C-C224-4935-88EF-580A9D84580B</a:ObjectID>\n<a:Name>report_status</a:Name>\n<a:Code>report_status</a:Code>\n<a:CreationDate>1522142298</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142414</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>举报状态：0-&gt;未处理；1-&gt;已处理</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o606\">\n<a:ObjectID>2C32CB54-23F4-4619-8AB4-530388A5E455</a:ObjectID>\n<a:Name>handle_status</a:Name>\n<a:Code>handle_status</a:Code>\n<a:CreationDate>1522142386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142486</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理结果：0-&gt;无效；1-&gt;有效；2-&gt;恶意</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o607\">\n<a:ObjectID>21DB5501-BCE1-40F6-9CEC-77A10758E766</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522142456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142502</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n</o:Table>\n<o:Table Id=\"o265\">\n<a:ObjectID>62AC3907-4D95-4CFC-BB5D-A066679C4474</a:ObjectID>\n<a:Name>sms_coupon</a:Name>\n<a:Code>sms_coupon</a:Code>\n<a:CreationDate>1522215010</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541664280</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠卷表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o608\">\n<a:ObjectID>D967F787-301C-4453-9F6B-54CD376E68F4</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522215060</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724388</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o609\">\n<a:ObjectID>A42144EE-CFD6-4093-B8DF-AAEB4D87BCE3</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522215069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215247</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠卷类型；0-&gt;全场赠券；1-&gt;会员赠券；2-&gt;购物赠券；3-&gt;注册赠券</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o610\">\n<a:ObjectID>4EEFF0DA-F8C0-4231-939F-9E67BFF4FA99</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522215086</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215247</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o611\">\n<a:ObjectID>C1161877-9671-43DB-8EA5-50B4ECBB89E4</a:ObjectID>\n<a:Name>platform</a:Name>\n<a:Code>platform</a:Code>\n<a:CreationDate>1522215086</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535445907</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用平台：0-&gt;全部；1-&gt;移动；2-&gt;PC</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o612\">\n<a:ObjectID>94DC173C-3B97-4520-9ADD-8F5F2ED04470</a:ObjectID>\n<a:Name>count</a:Name>\n<a:Code>count</a:Code>\n<a:CreationDate>1522215247</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215314</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o613\">\n<a:ObjectID>A15DA5DE-2744-4053-86C7-8A1CE2CA14D4</a:ObjectID>\n<a:Name>amount</a:Name>\n<a:Code>amount</a:Code>\n<a:CreationDate>1522215309</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o614\">\n<a:ObjectID>52D1095B-621A-413D-8161-72182E758527</a:ObjectID>\n<a:Name>per_limit</a:Name>\n<a:Code>per_limit</a:Code>\n<a:CreationDate>1522215394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215437</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每人限领张数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o615\">\n<a:ObjectID>5D8378FF-E9D3-487E-B268-ABEECE41A427</a:ObjectID>\n<a:Name>min_point</a:Name>\n<a:Code>min_point</a:Code>\n<a:CreationDate>1522215424</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747549</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用门槛；0表示无门槛</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o616\">\n<a:ObjectID>A7094DFB-0744-466F-8C88-3131A1FEDB45</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1522215598</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215693</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o617\">\n<a:ObjectID>D9174D11-163F-4C6F-A36B-6EE33F1B7541</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1522215598</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215693</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o618\">\n<a:ObjectID>DF9AE437-11C1-4711-8579-9BA970124238</a:ObjectID>\n<a:Name>use_type</a:Name>\n<a:Code>use_type</a:Code>\n<a:CreationDate>1522215598</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215739</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用类型：0-&gt;全场通用；1-&gt;指定分类；2-&gt;指定商品</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o619\">\n<a:ObjectID>6F6944A7-CA49-4C62-8D4E-42FAFBBECB22</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522215693</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215779</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o620\">\n<a:ObjectID>039EF37D-E0E4-4201-A3EF-539492AD9D53</a:ObjectID>\n<a:Name>publish_count</a:Name>\n<a:Code>publish_count</a:Code>\n<a:CreationDate>1522216740</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216765</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发行数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o621\">\n<a:ObjectID>6B22702A-9639-4B94-BDFF-D6203A623754</a:ObjectID>\n<a:Name>use_count</a:Name>\n<a:Code>use_count</a:Code>\n<a:CreationDate>1522216759</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216817</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>已使用数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o622\">\n<a:ObjectID>62F7E121-0FF8-41A5-A2F3-3CD1EBCF0113</a:ObjectID>\n<a:Name>receive_count</a:Name>\n<a:Code>receive_count</a:Code>\n<a:CreationDate>1535438655</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535439531</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>领取数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o623\">\n<a:ObjectID>C16B86B5-7FE8-4A40-B5BC-0890539301BB</a:ObjectID>\n<a:Name>enable_time</a:Name>\n<a:Code>enable_time</a:Code>\n<a:CreationDate>1522216971</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217000</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可以领取的日期</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o624\">\n<a:ObjectID>57C38097-F524-4B80-9779-539E0F875778</a:ObjectID>\n<a:Name>code</a:Name>\n<a:Code>code</a:Code>\n<a:CreationDate>1522217015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217041</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o625\">\n<a:ObjectID>7F81033C-AF9F-48BD-9332-708B55931EE7</a:ObjectID>\n<a:Name>member_level</a:Name>\n<a:Code>member_level</a:Code>\n<a:CreationDate>1522288044</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522288094</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可领取的会员类型：0-&gt;无限时</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o626\">\n<a:ObjectID>F7B63883-C186-47A9-A442-EF3DC025999C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522215069</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o608\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o626\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o266\">\n<a:ObjectID>F77D8A78-124B-40EF-BCA9-DF1D0BE3BBAD</a:ObjectID>\n<a:Name>sms_coupon_product_relation</a:Name>\n<a:Code>sms_coupon_product_relation</a:Code>\n<a:CreationDate>1522215792</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541748859</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券和产品的关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o627\">\n<a:ObjectID>51FBBF44-892D-4904-AD72-C367AD27B4DE</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522215913</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215933</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o628\">\n<a:ObjectID>8D3316AD-1CAF-4B5E-8FA0-645C1C73FFD7</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522215975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535445127</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o629\">\n<a:ObjectID>39E7492F-B104-48BA-9460-88C66C6B971E</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522216015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216048</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o630\">\n<a:ObjectID>6CFC63DC-3FA7-4C08-B3D3-EC4AB73264E5</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1541748810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541748864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品名称</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o631\">\n<a:ObjectID>30FFA3E1-D99B-4580-9685-A712EA6F1395</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1541748810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541748881</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品编码</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o632\">\n<a:ObjectID>0DDAC07B-7800-4763-A772-BEDE47E015F8</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522215913</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215928</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o627\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o632\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o267\">\n<a:ObjectID>18D5F08F-2392-4C0C-8AD0-1264DD968732</a:ObjectID>\n<a:Name>sms_coupon_product_category_relation</a:Name>\n<a:Code>sms_coupon_product_category_relation</a:Code>\n<a:CreationDate>1522216155</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541749816</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券和产品分类关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o633\">\n<a:ObjectID>B1EF094E-8F24-4E21-92C3-20D17815DD8E</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522216188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216239</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o634\">\n<a:ObjectID>0F265619-5CCA-4327-A335-B36E28B77CE9</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522216251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724416</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o635\">\n<a:ObjectID>BB220B24-5719-4254-9EAB-A73F809F1D91</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1522216380</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216395</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o636\">\n<a:ObjectID>8F514E26-8A5D-4746-9906-994728A01841</a:ObjectID>\n<a:Name>product_category_name</a:Name>\n<a:Code>product_category_name</a:Code>\n<a:CreationDate>1541749144</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541749816</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>产品分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o637\">\n<a:ObjectID>E412773B-A578-4D21-B72F-679B380A40EC</a:ObjectID>\n<a:Name>parent_category_name</a:Name>\n<a:Code>parent_category_name</a:Code>\n<a:CreationDate>1541749144</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541749816</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>父分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o638\">\n<a:ObjectID>120C3D95-47A0-4ADC-86DD-F632EF5F5785</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522216188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216237</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o633\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o638\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o268\">\n<a:ObjectID>118563D1-BD6A-4137-B818-9A52AE43F4B3</a:ObjectID>\n<a:Name>sms_coupon_history</a:Name>\n<a:Code>sms_coupon_history</a:Code>\n<a:CreationDate>1522217089</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490649</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券使用、领取历史表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o639\">\n<a:ObjectID>8AF960D9-0931-474B-9087-67A9C769289A</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522217090</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535522371</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o640\">\n<a:ObjectID>AEA45EC9-857C-4ADD-B505-8E6D0638F274</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522220508</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724407</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o641\">\n<a:ObjectID>C2493798-DD46-4B0A-8BA4-76DED0B49E03</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522220546</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724407</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o642\">\n<a:ObjectID>254CB808-9D45-446D-9E7E-29A33FB74779</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1541490552</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490628</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o643\">\n<a:ObjectID>5D6DA42D-A033-45CC-8B4D-4A4577934E21</a:ObjectID>\n<a:Name>coupon_code</a:Name>\n<a:Code>coupon_code</a:Code>\n<a:CreationDate>1522217932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522218055</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o644\">\n<a:ObjectID>D55C94A5-5416-4994-9794-10BAFCDF3A70</a:ObjectID>\n<a:Name>member_nickname</a:Name>\n<a:Code>member_nickname</a:Code>\n<a:CreationDate>1522217932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522218107</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>领取人昵称</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o645\">\n<a:ObjectID>1FBF338D-A9F0-435F-A465-6C0D461C08EE</a:ObjectID>\n<a:Name>get_type</a:Name>\n<a:Code>get_type</a:Code>\n<a:CreationDate>1522218055</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522218134</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>获取类型：0-&gt;后台赠送；1-&gt;主动获取</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o646\">\n<a:ObjectID>2900D394-F7F9-411D-A014-19DB3D1ED702</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522218107</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220296</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o647\">\n<a:ObjectID>3447D394-9F55-41F0-B4AB-B52685CFD9B9</a:ObjectID>\n<a:Name>use_status</a:Name>\n<a:Code>use_status</a:Code>\n<a:CreationDate>1522218107</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220481</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用状态：0-&gt;未使用；1-&gt;已使用；2-&gt;已过期</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o648\">\n<a:ObjectID>74C76E33-9483-4D78-88C2-77812D6BE4E4</a:ObjectID>\n<a:Name>use_time</a:Name>\n<a:Code>use_time</a:Code>\n<a:CreationDate>1522220361</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220487</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>使用时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o649\">\n<a:ObjectID>59A8EC2E-C3C8-479C-8D25-D43AAE161E1C</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1541490633</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490681</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单号码</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o650\">\n<a:ObjectID>539446A0-347B-4B13-9A1B-C1F91302A908</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522217090</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217131</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o639\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o650\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o269\">\n<a:ObjectID>39073F58-E0FD-4E97-91A0-AFA7D8C5F626</a:ObjectID>\n<a:Name>ums_member</a:Name>\n<a:Code>ums_member</a:Code>\n<a:CreationDate>1522217487</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o651\">\n<a:ObjectID>D9B1967D-3B90-493E-BF71-D0C0AA8AF792</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522217488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o652\">\n<a:ObjectID>BA9FA416-B0B0-49A8-99B2-EE1F2F689613</a:ObjectID>\n<a:Name>member_level_id</a:Name>\n<a:Code>member_level_id</a:Code>\n<a:CreationDate>1522386868</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391485</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o653\">\n<a:ObjectID>2B15CF6E-9928-4C28-A7F0-2D249CF28D2E</a:ObjectID>\n<a:Name>username</a:Name>\n<a:Code>username</a:Code>\n<a:CreationDate>1522217626</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o654\">\n<a:ObjectID>8B3B0D82-2CA0-4466-AEA1-F24F2791C164</a:ObjectID>\n<a:Name>password</a:Name>\n<a:Code>password</a:Code>\n<a:CreationDate>1522217626</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217766</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>密码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o655\">\n<a:ObjectID>A3756B41-7B58-47EE-9C90-4410B7014C14</a:ObjectID>\n<a:Name>nickname</a:Name>\n<a:Code>nickname</a:Code>\n<a:CreationDate>1522217712</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522217794</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>昵称</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o656\">\n<a:ObjectID>771E62BD-6B4C-4AD5-8243-80EF105C5C12</a:ObjectID>\n<a:Name>phone</a:Name>\n<a:Code>phone</a:Code>\n<a:CreationDate>1522303316</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747629</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>手机号码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o657\">\n<a:ObjectID>2AC98331-159E-4556-B2BE-2A511AF1012B</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522386896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386937</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帐号启用状态:0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o658\">\n<a:ObjectID>290E9B19-DC94-49BE-8B20-4CC5BE6B4A2E</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522386911</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386982</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>注册时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o659\">\n<a:ObjectID>687462C1-C969-4A1F-8FF4-CFBDDF78FD97</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522387000</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387018</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>头像</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o660\">\n<a:ObjectID>3DBECFB8-A73F-4B4E-8770-394020C94B46</a:ObjectID>\n<a:Name>gender</a:Name>\n<a:Code>gender</a:Code>\n<a:CreationDate>1522387014</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387079</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>性别：0-&gt;未知；1-&gt;男；2-&gt;女</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o661\">\n<a:ObjectID>037D5C09-930F-4CB2-9488-A0D04C98B3DF</a:ObjectID>\n<a:Name>birthday</a:Name>\n<a:Code>birthday</a:Code>\n<a:CreationDate>1522387055</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387102</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>生日</a:Comment>\n<a:DataType>date</a:DataType>\n</o:Column>\n<o:Column Id=\"o662\">\n<a:ObjectID>5799AC70-2F20-49AD-ACB3-3ACE21BDFA24</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1522387097</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387133</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>所做城市</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o663\">\n<a:ObjectID>5E11EA43-DC5E-48B6-9C7D-4B3283DFEA04</a:ObjectID>\n<a:Name>job</a:Name>\n<a:Code>job</a:Code>\n<a:CreationDate>1522387127</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387170</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>职业</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o664\">\n<a:ObjectID>E4E5B724-CA9B-4DBF-9338-F35A6CEB07C6</a:ObjectID>\n<a:Name>personalized_signature</a:Name>\n<a:Code>personalized_signature</a:Code>\n<a:CreationDate>1522387164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387227</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>个性签名</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o665\">\n<a:ObjectID>B9C8A488-CE4C-4162-95B8-95AAF2F50D79</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522387221</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387354</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户来源</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o666\">\n<a:ObjectID>B2615BC0-8624-420C-9ADD-74B7CC0E1A34</a:ObjectID>\n<a:Name>integration</a:Name>\n<a:Code>integration</a:Code>\n<a:CreationDate>1522388283</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388297</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o667\">\n<a:ObjectID>68060654-B3F9-460C-B0AD-F69C3D79E7E4</a:ObjectID>\n<a:Name>growth</a:Name>\n<a:Code>growth</a:Code>\n<a:CreationDate>1522388293</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388314</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o668\">\n<a:ObjectID>F451866B-0691-4BD0-885F-8F8AC6BB07B6</a:ObjectID>\n<a:Name>luckey_count</a:Name>\n<a:Code>luckey_count</a:Code>\n<a:CreationDate>1522389179</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389203</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>剩余抽奖次数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o669\">\n<a:ObjectID>DF6E2A37-1087-482C-B3AB-6E24F7CF5824</a:ObjectID>\n<a:Name>history_integration</a:Name>\n<a:Code>history_integration</a:Code>\n<a:CreationDate>1522396288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396312</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>历史积分数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o670\">\n<a:ObjectID>D643CABA-BFF8-4444-BC9C-459F23DD209B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522217488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o651\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o670\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o270\">\n<a:ObjectID>A0B70C04-02B7-4362-8DE8-EEC09E11CFDE</a:ObjectID>\n<a:Name>sms_home_brand</a:Name>\n<a:Code>sms_home_brand</a:Code>\n<a:CreationDate>1522223818</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224364</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首页推荐品牌表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o671\">\n<a:ObjectID>55989B16-E9BA-4806-BE60-FBB53C20AFFB</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224219</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o672\">\n<a:ObjectID>6EB211BF-005A-45C4-9AD2-3B624549C78B</a:ObjectID>\n<a:Name>brand_id</a:Name>\n<a:Code>brand_id</a:Code>\n<a:CreationDate>1522224364</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224376</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o673\">\n<a:ObjectID>961D5B66-0DD8-42E5-BFB4-93E536FEC18A</a:ObjectID>\n<a:Name>brand_name</a:Name>\n<a:Code>brand_name</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224265</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o674\">\n<a:ObjectID>F2CF792A-6DB6-445B-9BA9-18C8DC17D441</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224356</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o675\">\n<a:ObjectID>1AB9EBEC-5310-4ADE-9CAD-39F414C49A73</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522224339</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224356</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o676\">\n<a:ObjectID>D81DA96A-E9F0-4D79-971E-1D88C5B3C093</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224216</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o671\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o676\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o271\">\n<a:ObjectID>A25B1802-83AF-4D73-B715-B3CD83BF30B8</a:ObjectID>\n<a:Name>sms_home_new_product</a:Name>\n<a:Code>sms_home_new_product</a:Code>\n<a:CreationDate>1522224403</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>新鲜好物表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o677\">\n<a:ObjectID>D44BCE8A-007A-475D-A1A8-A84615449866</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225765</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o678\">\n<a:ObjectID>41AB6B8F-5955-4D0F-82C9-3ECE03DE627F</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522225874</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225891</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o679\">\n<a:ObjectID>0199CB4D-CCB5-45A9-987A-C688680BAD6C</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225835</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o680\">\n<a:ObjectID>30DFEEA7-AEB5-420B-BB6F-99F4E2A2D4FC</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225835</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o681\">\n<a:ObjectID>D1A8F553-7744-46C7-B8BC-D27C3AD0717E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225844</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o682\">\n<a:ObjectID>73A2D055-78DF-477F-83FF-E76CEE5860BB</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225762</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o677\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o682\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o272\">\n<a:ObjectID>37399CAC-C0E1-4103-867A-C162B935BFDF</a:ObjectID>\n<a:Name>sms_home_recommend_product</a:Name>\n<a:Code>sms_home_recommend_product</a:Code>\n<a:CreationDate>1522224403</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>人气推荐商品表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o683\">\n<a:ObjectID>2C05FE30-5B42-49AB-B442-DA48DFBF56ED</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o684\">\n<a:ObjectID>81AA6507-AEAF-445F-8BCA-FE792FD6167D</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522226077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398713</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o685\">\n<a:ObjectID>5C55D312-2E41-4F12-80A1-D6220C9E71E0</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226008</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o686\">\n<a:ObjectID>D1CF9580-8D7D-44B9-82A5-1227DC667978</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226008</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o687\">\n<a:ObjectID>6B5CC5E0-6B02-4C2B-A8DB-EDAC443C4924</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522225762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226008</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o688\">\n<a:ObjectID>7256867D-3478-4506-AA49-3528838619BD</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522225739</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o683\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o688\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o273\">\n<a:ObjectID>6B4E377F-EF19-4F4C-8FA6-0179636E1DD0</a:ObjectID>\n<a:Name>sms_home_recommend_subject</a:Name>\n<a:Code>sms_home_recommend_subject</a:Code>\n<a:CreationDate>1522223818</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首页推荐专题表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o689\">\n<a:ObjectID>BB3B377B-FD15-4644-9382-23DEE1D35C62</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o690\">\n<a:ObjectID>76387001-86B6-464D-9C61-25F2D7290848</a:ObjectID>\n<a:Name>subject_id</a:Name>\n<a:Code>subject_id</a:Code>\n<a:CreationDate>1522226272</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226311</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o691\">\n<a:ObjectID>FBF57C52-1D78-415A-A0F1-8C22ECDD209F</a:ObjectID>\n<a:Name>subject_name</a:Name>\n<a:Code>subject_name</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226180</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o692\">\n<a:ObjectID>95A506FC-F1AE-4FDC-A8B6-14DDC2C7686D</a:ObjectID>\n<a:Name>recommend_status</a:Name>\n<a:Code>recommend_status</a:Code>\n<a:CreationDate>1522224216</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226140</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o693\">\n<a:ObjectID>B7738C94-3636-4CDF-9361-426285F61C01</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522224339</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226140</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o694\">\n<a:ObjectID>4024BDA0-F53B-48E3-AD69-82EDDF413307</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522224202</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o689\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o694\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o275\">\n<a:ObjectID>02B689AF-49BE-4746-9132-46B2A938FDCB</a:ObjectID>\n<a:Name>sms_home_advertise</a:Name>\n<a:Code>sms_home_advertise</a:Code>\n<a:CreationDate>1522227700</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541578000</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>首页轮播广告表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o695\">\n<a:ObjectID>2794FB1E-CC31-453F-BE91-089DEA2F10D0</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522228220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228237</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o696\">\n<a:ObjectID>170EB06D-58AC-4810-AA05-2E800F4402A7</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522228234</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228288</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o697\">\n<a:ObjectID>2D08193E-455A-44D9-8568-65DFC657C51C</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522228234</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>轮播位置：0-&gt;PC首页轮播；1-&gt;app首页轮播</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o698\">\n<a:ObjectID>5BBDEC82-0B2C-4005-AE60-30C24AB2C60B</a:ObjectID>\n<a:Name>pic</a:Name>\n<a:Code>pic</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o699\">\n<a:ObjectID>9544B543-B26F-4A94-8533-D1CD347E092A</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o700\">\n<a:ObjectID>EBE6682D-2345-42DD-B161-78D72008FC58</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o701\">\n<a:ObjectID>1E82BBF3-64A8-4937-B8E8-2EF1E5396463</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522228288</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228415</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上下线状态：0-&gt;下线；1-&gt;上线</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o702\">\n<a:ObjectID>7FED5C77-61EC-4ED3-BC71-69B346DB69BD</a:ObjectID>\n<a:Name>click_count</a:Name>\n<a:Code>click_count</a:Code>\n<a:CreationDate>1522228387</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>点击数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o703\">\n<a:ObjectID>28ED368B-9046-4647-8365-6C3CC1A73A00</a:ObjectID>\n<a:Name>order_count</a:Name>\n<a:Code>order_count</a:Code>\n<a:CreationDate>1522228387</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228465</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>下单数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o704\">\n<a:ObjectID>18C101B3-A72F-483F-9A9A-68C90EA4A002</a:ObjectID>\n<a:Name>url</a:Name>\n<a:Code>url</a:Code>\n<a:CreationDate>1522228518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228545</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>链接地址</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o705\">\n<a:ObjectID>E271F2ED-7B8E-4D02-94F9-DCC3B014B01D</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522228518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228572</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o706\">\n<a:ObjectID>08E34019-824F-4A5D-8635-8CA439722F8E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1541577989</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541578016</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0=\n{B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0=\n\n</a:ExtendedAttributesText>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o707\">\n<a:ObjectID>8C05A0D5-5A40-4E5F-803C-21DE1581AB40</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522228220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522228234</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o695\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o707\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o276\">\n<a:ObjectID>781E9BBD-7312-4347-A32B-F153B07BC2D6</a:ObjectID>\n<a:Name>sms_flash_promotion</a:Name>\n<a:Code>sms_flash_promotion</a:Code>\n<a:CreationDate>1522300652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522301372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o708\">\n<a:ObjectID>A001C3CA-7F30-48B5-BBCA-4DE4FF3AC6D7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522300654</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179315</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o709\">\n<a:ObjectID>E7B4D1BF-2B28-4CB5-A266-BF73B2C545CD</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522300838</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o710\">\n<a:ObjectID>9E90026D-CCB7-42C4-8305-6C9ED00FBEAD</a:ObjectID>\n<a:Name>start_date</a:Name>\n<a:Code>start_date</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>开始日期</a:Comment>\n<a:DataType>date</a:DataType>\n</o:Column>\n<o:Column Id=\"o711\">\n<a:ObjectID>9C92406F-BE6E-4DD0-B9F6-B6DB731826D8</a:ObjectID>\n<a:Name>end_date</a:Name>\n<a:Code>end_date</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178653</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>结束日期</a:Comment>\n<a:DataType>date</a:DataType>\n</o:Column>\n<o:Column Id=\"o712\">\n<a:ObjectID>7CF4BD09-90C4-4A00-861D-E4BB0DEDE4F0</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522300794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522300845</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>上下线状态</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o713\">\n<a:ObjectID>8D6B6BCE-483E-49D8-9BFE-66FF9BAF4E04</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522301354</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178658</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>秒杀时间段名称</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o714\">\n<a:ObjectID>E91F0404-5C5E-465C-965B-AA29A2AC352C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522300654</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522300717</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o708\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o714\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o277\">\n<a:ObjectID>FC0B4AB8-B381-4962-9E00-9012B9389DB2</a:ObjectID>\n<a:Name>sms_flash_promotion_log</a:Name>\n<a:Code>sms_flash_promotion_log</a:Code>\n<a:CreationDate>1522303116</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购通知记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o715\">\n<a:ObjectID>8D5CC3D3-9472-4F2E-85C5-141575078624</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522303118</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303155</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o716\">\n<a:ObjectID>43575263-62FC-44CF-9134-A53E2549A413</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522303390</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1586932707</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o717\">\n<a:ObjectID>0E5CDA77-D030-43C4-8F3F-62F1DDAF2321</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522303410</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303424</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o718\">\n<a:ObjectID>58059F15-8E1E-441A-B852-B83A2DC6AF61</a:ObjectID>\n<a:Name>member_phone</a:Name>\n<a:Code>member_phone</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o719\">\n<a:ObjectID>E37B4C93-8839-4792-A41C-174666319BC6</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o720\">\n<a:ObjectID>26E55C30-24F2-46E9-8FB8-937189C88290</a:ObjectID>\n<a:Name>subscribe_time</a:Name>\n<a:Code>subscribe_time</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303306</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员订阅时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o721\">\n<a:ObjectID>63E8BD65-5DC6-4E86-90D0-81644C960C3A</a:ObjectID>\n<a:Name>send_time</a:Name>\n<a:Code>send_time</a:Code>\n<a:CreationDate>1522303170</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303291</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o722\">\n<a:ObjectID>F5CEFAF5-C8E0-41B0-8893-07DF42A1591B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522303118</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303152</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o715\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o722\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o278\">\n<a:ObjectID>284E46B4-B9CC-41C1-B331-6F43782ADCC3</a:ObjectID>\n<a:Name>ums_admin</a:Name>\n<a:Code>ums_admin</a:Code>\n<a:CreationDate>1522303730</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200957</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o723\">\n<a:ObjectID>6D584959-4514-4CEC-A0D4-785E46D1A943</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303915</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o724\">\n<a:ObjectID>C69E81B8-3A8A-4F1C-AD79-05187FCF35D3</a:ObjectID>\n<a:Name>username</a:Name>\n<a:Code>username</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199970</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o725\">\n<a:ObjectID>7EB23336-7D63-4C02-AD85-17DA3DC93E6A</a:ObjectID>\n<a:Name>password</a:Name>\n<a:Code>password</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>密码</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o726\">\n<a:ObjectID>FD9B4CBF-DDF3-4CC8-BD69-15221A3E52A8</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303910</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>头像</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o727\">\n<a:ObjectID>68129CD9-A241-453D-9223-FB146806D646</a:ObjectID>\n<a:Name>email</a:Name>\n<a:Code>email</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199986</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>邮箱</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o728\">\n<a:ObjectID>5722E92D-6F67-43AA-B480-756C0DC91BDE</a:ObjectID>\n<a:Name>nick_name</a:Name>\n<a:Code>nick_name</a:Code>\n<a:CreationDate>1538199900</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538199929</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>昵称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o729\">\n<a:ObjectID>FF0D16AA-77D3-4829-B8E2-9831244DE3B9</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1538199923</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200014</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注信息</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o730\">\n<a:ObjectID>AFA0423A-C6BD-424F-B7DB-85D9635EB5A6</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1538200009</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200107</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o731\">\n<a:ObjectID>8CBC1229-E6C7-4EB9-B50D-E765E651E3F4</a:ObjectID>\n<a:Name>login_time</a:Name>\n<a:Code>login_time</a:Code>\n<a:CreationDate>1538200009</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200119</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>最后登录时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o732\">\n<a:ObjectID>63B04D92-8CF8-40F0-855D-272C2976729F</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1538200789</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538200890</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>帐号启用状态：0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DefaultValue>1</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o733\">\n<a:ObjectID>DC1A590C-BB4F-430C-A34E-014AEC5844D1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522303731</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303905</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o723\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o733\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o279\">\n<a:ObjectID>DC20F109-83F4-4E8A-B2CF-299453506A86</a:ObjectID>\n<a:Name>ums_admin_login_log</a:Name>\n<a:Code>ums_admin_login_log</a:Code>\n<a:CreationDate>1522303928</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304178</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户登录日志表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o734\">\n<a:ObjectID>8F7618DF-D0CA-48C3-9E4F-CBAA9A41A69B</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522303929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303971</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o735\">\n<a:ObjectID>C8AEFA16-C796-4CED-902C-21EA9F55C75C</a:ObjectID>\n<a:Name>admin_id</a:Name>\n<a:Code>admin_id</a:Code>\n<a:CreationDate>1522304178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304187</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o736\">\n<a:ObjectID>B535BE06-4C99-4645-9B42-D984356CF2FF</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o737\">\n<a:ObjectID>6236706F-C5E9-44A6-8BC2-FE0D2F8C8476</a:ObjectID>\n<a:Name>ip</a:Name>\n<a:Code>ip</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o738\">\n<a:ObjectID>9E05D212-E28A-463B-9F1D-87FD83F90421</a:ObjectID>\n<a:Name>address</a:Name>\n<a:Code>address</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o739\">\n<a:ObjectID>D481AC77-5DC7-490F-856C-C3676F9407AA</a:ObjectID>\n<a:Name>user_agent</a:Name>\n<a:Code>user_agent</a:Code>\n<a:CreationDate>1522303968</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304158</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>浏览器登录类型</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o740\">\n<a:ObjectID>127CDB1B-576E-4CE4-B977-681E887F8EEE</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522303929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303968</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o734\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o740\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o280\">\n<a:ObjectID>A6C67972-0C12-4876-8087-2E48F9028CA7</a:ObjectID>\n<a:Name>ums_member_level</a:Name>\n<a:Code>ums_member_level</a:Code>\n<a:CreationDate>1522379808</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员等级表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o741\">\n<a:ObjectID>129583EA-DC62-4E57-AEF8-FCA2A4DD3BD4</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522379810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o742\">\n<a:ObjectID>4D12F464-1BC3-4D75-9BF6-AB23F4899E9B</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522379831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522379896</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o743\">\n<a:ObjectID>38041EA5-676A-4D2B-931F-8158FDA8CB48</a:ObjectID>\n<a:Name>growth_point</a:Name>\n<a:Code>growth_point</a:Code>\n<a:CreationDate>1522379831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522379896</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o744\">\n<a:ObjectID>63E410FA-E2CC-41F9-9FE9-9272F61F19A1</a:ObjectID>\n<a:Name>default_status</a:Name>\n<a:Code>default_status</a:Code>\n<a:CreationDate>1522379896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522379987</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为默认等级：0-&gt;不是；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o745\">\n<a:ObjectID>4B60128E-FF93-4486-B758-081868324568</a:ObjectID>\n<a:Name>free_freight_point</a:Name>\n<a:Code>free_freight_point</a:Code>\n<a:CreationDate>1522379964</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380124</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>免运费标准</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o746\">\n<a:ObjectID>9A810F9D-3942-417E-9057-39A71284BEB1</a:ObjectID>\n<a:Name>comment_growth_point</a:Name>\n<a:Code>comment_growth_point</a:Code>\n<a:CreationDate>1522380184</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380212</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每次评价获取的成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o747\">\n<a:ObjectID>437D93E8-BC05-48F4-9103-AAADEC2F18B3</a:ObjectID>\n<a:Name>priviledge_free_freight</a:Name>\n<a:Code>priviledge_free_freight</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380558</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有免邮特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o748\">\n<a:ObjectID>4ACB8B0D-322B-4240-994A-BF76A866C4C1</a:ObjectID>\n<a:Name>priviledge_sign_in</a:Name>\n<a:Code>priviledge_sign_in</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380566</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有签到特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o749\">\n<a:ObjectID>76160658-2A87-4D99-8A9E-9F2CA2752530</a:ObjectID>\n<a:Name>priviledge_comment</a:Name>\n<a:Code>priviledge_comment</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380592</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有评论获奖励特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o750\">\n<a:ObjectID>4BFAE1D1-5395-4502-BA29-FD53E5C998FF</a:ObjectID>\n<a:Name>priviledge_promotion</a:Name>\n<a:Code>priviledge_promotion</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380617</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有专享活动特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o751\">\n<a:ObjectID>4D408989-5456-40D8-AEEE-9E1E14564E6A</a:ObjectID>\n<a:Name>priviledge_member_price</a:Name>\n<a:Code>priviledge_member_price</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747697</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有会员价格特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o752\">\n<a:ObjectID>3C4297F8-BFE4-42AC-8967-1627A0EB62AE</a:ObjectID>\n<a:Name>priviledge_birthday</a:Name>\n<a:Code>priviledge_birthday</a:Code>\n<a:CreationDate>1522380199</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522380640</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否有生日特权</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o753\">\n<a:ObjectID>CD9D3466-6A59-4BD3-B7BC-8B3478EDA73B</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522386815</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386830</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o754\">\n<a:ObjectID>E6F6D42A-97D4-4207-B966-0BBD47776D79</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522379810</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o741\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o754\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o281\">\n<a:ObjectID>31084C7B-4E3D-4630-A484-B457DFC84069</a:ObjectID>\n<a:Name>ums_member_product_category_relation</a:Name>\n<a:Code>ums_member_product_category_relation</a:Code>\n<a:CreationDate>1522387387</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387526</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员与产品分类关系表（用户喜欢的分类）</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o755\">\n<a:ObjectID>9F3E472B-AE33-4C2A-BC75-F7EF6CD3F295</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522387388</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387447</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o756\">\n<a:ObjectID>CF33591F-94A0-4ECB-A19E-1FCDECAEFB2B</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522387461</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o757\">\n<a:ObjectID>26A81B95-6339-4F97-9FD9-7A9343D8FC3C</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1522387526</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387541</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o758\">\n<a:ObjectID>319FB1F7-17E2-404B-8A53-1D83019DBED4</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522387388</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387444</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o755\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o758\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o282\">\n<a:ObjectID>94C05B4D-0F20-4449-8EC4-52604C753834</a:ObjectID>\n<a:Name>ums_member_statistics_info</a:Name>\n<a:Code>ums_member_statistics_info</a:Code>\n<a:CreationDate>1522387906</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390765</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员统计信息</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o759\">\n<a:ObjectID>6B92C176-B80A-42DF-913D-4B9F276C8DEE</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522387936</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391425</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o760\">\n<a:ObjectID>D357658D-303B-4EF3-AC8E-E97A22EB9F28</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522389232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391425</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o761\">\n<a:ObjectID>854439C2-AEFC-4DBE-B9F0-26F768FACD07</a:ObjectID>\n<a:Name>consume_amount</a:Name>\n<a:Code>consume_amount</a:Code>\n<a:CreationDate>1522387970</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388137</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>累计消费金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o762\">\n<a:ObjectID>6F0A7AA7-4899-4BD7-B041-449A73F83B50</a:ObjectID>\n<a:Name>order_count</a:Name>\n<a:Code>order_count</a:Code>\n<a:CreationDate>1522388177</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388194</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o763\">\n<a:ObjectID>03C07BA1-E675-412B-AE21-FC427A919156</a:ObjectID>\n<a:Name>coupon_count</a:Name>\n<a:Code>coupon_count</a:Code>\n<a:CreationDate>1522388366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388384</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o764\">\n<a:ObjectID>40B971A2-E3E9-4987-9B21-2455EF702FA4</a:ObjectID>\n<a:Name>comment_count</a:Name>\n<a:Code>comment_count</a:Code>\n<a:CreationDate>1522388395</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388414</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o765\">\n<a:ObjectID>285C0BDD-D3D2-4715-969F-3F04972A9216</a:ObjectID>\n<a:Name>return_order_count</a:Name>\n<a:Code>return_order_count</a:Code>\n<a:CreationDate>1522388791</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388810</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o766\">\n<a:ObjectID>D44D9C8E-834B-49C2-A487-19243A6B75C7</a:ObjectID>\n<a:Name>login_count</a:Name>\n<a:Code>login_count</a:Code>\n<a:CreationDate>1522388804</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388842</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>登录次数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o767\">\n<a:ObjectID>A6954A96-3E39-412D-8648-6420D1DE69A8</a:ObjectID>\n<a:Name>attend_count</a:Name>\n<a:Code>attend_count</a:Code>\n<a:CreationDate>1522388885</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>关注数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o768\">\n<a:ObjectID>801A9777-A84E-455D-87DB-CB5F223BEC40</a:ObjectID>\n<a:Name>fans_count</a:Name>\n<a:Code>fans_count</a:Code>\n<a:CreationDate>1522388904</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522388949</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>粉丝数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o769\">\n<a:ObjectID>E7A5B7B0-3561-4149-A49A-F8130558ABBD</a:ObjectID>\n<a:Name>collect_product_count</a:Name>\n<a:Code>collect_product_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o770\">\n<a:ObjectID>5E257B18-EF0C-4C89-941D-78783C0D17DF</a:ObjectID>\n<a:Name>collect_subject_count</a:Name>\n<a:Code>collect_subject_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o771\">\n<a:ObjectID>37323B30-236A-4CAE-B7E5-AE3A5F527ABA</a:ObjectID>\n<a:Name>collect_topic_count</a:Name>\n<a:Code>collect_topic_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o772\">\n<a:ObjectID>186B8DCF-6580-4D89-AA2B-89333527FCD6</a:ObjectID>\n<a:Name>collect_comment_count</a:Name>\n<a:Code>collect_comment_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389176</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o773\">\n<a:ObjectID>29465239-85D6-4029-B631-809C1AC7F1FB</a:ObjectID>\n<a:Name>invite_friend_count</a:Name>\n<a:Code>invite_friend_count</a:Code>\n<a:CreationDate>1522388944</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389309</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o774\">\n<a:ObjectID>C133A420-C28D-4442-B747-9CFEA1E2FA2A</a:ObjectID>\n<a:Name>recent_order_time</a:Name>\n<a:Code>recent_order_time</a:Code>\n<a:CreationDate>1522390747</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390773</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>最后一次下订单时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o775\">\n<a:ObjectID>920005AF-C54B-4D67-9D61-7A15D96EC34D</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522387936</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387970</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o759\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o775\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o283\">\n<a:ObjectID>C1C1114F-DE94-4DF6-80DD-7A8210AC0D1B</a:ObjectID>\n<a:Name>ums_member_receive_address</a:Name>\n<a:Code>ums_member_receive_address</a:Code>\n<a:CreationDate>1522390106</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员收货地址表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o776\">\n<a:ObjectID>98B61DFE-761A-4910-A45C-89DE44A801BD</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390428</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o777\">\n<a:ObjectID>817400C5-8063-4373-9F89-F52F0AA9E815</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522390434</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o778\">\n<a:ObjectID>AFF04439-EC58-4338-8228-623D8193B384</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390245</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o779\">\n<a:ObjectID>0CDFE5D1-E06C-466F-B066-F6FFC0FC0873</a:ObjectID>\n<a:Name>phone_number</a:Name>\n<a:Code>phone_number</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390221</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o780\">\n<a:ObjectID>2D383AAE-D002-480B-B081-4ABB9A0FE45F</a:ObjectID>\n<a:Name>default_status</a:Name>\n<a:Code>default_status</a:Code>\n<a:CreationDate>1522390286</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390346</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否为默认</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o781\">\n<a:ObjectID>013038D3-3265-4B47-AA73-C893A6006BD8</a:ObjectID>\n<a:Name>post_code</a:Name>\n<a:Code>post_code</a:Code>\n<a:CreationDate>1522390221</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390293</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>邮政编码</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o782\">\n<a:ObjectID>214E7869-4680-4DDC-A4AF-611BDB9DB594</a:ObjectID>\n<a:Name>province</a:Name>\n<a:Code>province</a:Code>\n<a:CreationDate>1535436971</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437029</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>省份/直辖市</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o783\">\n<a:ObjectID>B014298F-01AD-4171-9D9F-916D27574AB6</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1535436971</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437115</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>城市</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o784\">\n<a:ObjectID>106C677E-A9B6-40ED-A992-CD0CADF4BFFF</a:ObjectID>\n<a:Name>region</a:Name>\n<a:Code>region</a:Code>\n<a:CreationDate>1535437026</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535437123</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>区</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o785\">\n<a:ObjectID>4EDEC710-4328-4BF8-BCCC-EA8EAAA48FF1</a:ObjectID>\n<a:Name>detail_address</a:Name>\n<a:Code>detail_address</a:Code>\n<a:CreationDate>1522390108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535436990</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>详细地址(街道)</a:Comment>\n<a:DataType>varchar(128)</a:DataType>\n<a:Length>128</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o786\">\n<a:ObjectID>DF83812C-9AB1-43B1-9C66-06DDD339917E</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522390409</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390420</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o776\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o786\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o284\">\n<a:ObjectID>202E7837-16F9-471E-8D27-BADDF8ABC40F</a:ObjectID>\n<a:Name>ums_member_login_log</a:Name>\n<a:Code>ums_member_login_log</a:Code>\n<a:CreationDate>1522390511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747822</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员登录记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o787\">\n<a:ObjectID>4B9B3F0B-970F-4BD2-ADA9-9B5AF12CB5AB</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522390513</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390660</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o788\">\n<a:ObjectID>96996021-E445-4698-B1A6-42E723CA01EF</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522390644</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391446</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o789\">\n<a:ObjectID>D5AD4C5C-E858-4BA3-8DB3-741A4D6D780C</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747822</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o790\">\n<a:ObjectID>EA660841-B4C3-4D58-BA70-765F688BBFB9</a:ObjectID>\n<a:Name>ip</a:Name>\n<a:Code>ip</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390603</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o791\">\n<a:ObjectID>4129F50F-3EB2-402A-8239-25FB68B06BE1</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390603</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o792\">\n<a:ObjectID>9C080457-2FBF-4EEA-B7DF-B465681C679C</a:ObjectID>\n<a:Name>login_type</a:Name>\n<a:Code>login_type</a:Code>\n<a:CreationDate>1522390531</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390637</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>登录类型：0-&gt;PC；1-&gt;android;2-&gt;ios;3-&gt;小程序</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o793\">\n<a:ObjectID>026D0B9F-44F5-4302-8766-551E0CBA48E2</a:ObjectID>\n<a:Name>province</a:Name>\n<a:Code>province</a:Code>\n<a:CreationDate>1522747786</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747822</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o794\">\n<a:ObjectID>EC511DBF-DA00-49B0-9DD3-AE6E4E18496A</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522390513</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390531</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o787\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o794\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o285\">\n<a:ObjectID>2A13105F-B4ED-4672-A401-CDDE4B9CE410</a:ObjectID>\n<a:Name>ums_member_tag</a:Name>\n<a:Code>ums_member_tag</a:Code>\n<a:CreationDate>1522390830</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391227</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户标签表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o795\">\n<a:ObjectID>438F1497-2B84-4368-AE85-9E1806F36FC9</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522390831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390857</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o796\">\n<a:ObjectID>96FB084C-E214-4481-95FD-52FF9AF5C1FA</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522390831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391227</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o797\">\n<a:ObjectID>C727F26A-5CFA-4C30-9EE3-A5F87998DE9E</a:ObjectID>\n<a:Name>finish_order_count</a:Name>\n<a:Code>finish_order_count</a:Code>\n<a:CreationDate>1522390854</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动打标签完成订单数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o798\">\n<a:ObjectID>148613FB-7BCE-4145-B955-B0077E630B6E</a:ObjectID>\n<a:Name>finish_order_amount</a:Name>\n<a:Code>finish_order_amount</a:Code>\n<a:CreationDate>1522390854</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391246</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动打标签完成订单金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o799\">\n<a:ObjectID>02E5405B-3466-42C6-B07B-090E17D190BA</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522390831</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390854</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o795\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o799\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o286\">\n<a:ObjectID>2D7B72D8-D25F-4A09-B4FA-16D2CEC9752A</a:ObjectID>\n<a:Name>ums_member_member_tag_relation</a:Name>\n<a:Code>ums_member_member_tag_relation</a:Code>\n<a:CreationDate>1522391304</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户和标签关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o800\">\n<a:ObjectID>BB1BD091-E5C8-4C12-8A9A-C2ADC962E7E5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522391305</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o801\">\n<a:ObjectID>854EDA6D-D3FB-4AFF-92AD-1FDF1DC32E1E</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522391366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o802\">\n<a:ObjectID>89D08954-C6F1-4B1F-8BAE-E19BDF39DE08</a:ObjectID>\n<a:Name>tag_id</a:Name>\n<a:Code>tag_id</a:Code>\n<a:CreationDate>1522391379</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o803\">\n<a:ObjectID>AEBACA14-2E96-4718-ACE9-C6F76721B8E8</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522391305</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o800\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o803\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o287\">\n<a:ObjectID>58F43871-0D7C-4478-9A1B-43102436A177</a:ObjectID>\n<a:Name>ums_integration_change_history</a:Name>\n<a:Code>ums_integration_change_history</a:Code>\n<a:CreationDate>1522396385</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396758</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分变化历史记录表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o804\">\n<a:ObjectID>457FA52E-BCCD-40B6-9595-2597CD6C75E2</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396494</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o805\">\n<a:ObjectID>9964C6D5-F7BD-40FB-957B-7A66DFF172A4</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522396648</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396659</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o806\">\n<a:ObjectID>BCF4B5AF-DEA0-4D46-8A23-E5348BF281C8</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396534</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o807\">\n<a:ObjectID>52CE81B5-6BDF-40F0-97BA-2DC303583FF4</a:ObjectID>\n<a:Name>change_type</a:Name>\n<a:Code>change_type</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396606</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>改变类型：0-&gt;增加；1-&gt;减少</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o808\">\n<a:ObjectID>6D9BAE2A-F62A-4DA0-B9B4-AD3695E3ADEC</a:ObjectID>\n<a:Name>change_count</a:Name>\n<a:Code>change_count</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396606</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分改变数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o809\">\n<a:ObjectID>E63C6C7E-249C-4653-AF54-3DF677FF8B65</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1522396534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396612</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o810\">\n<a:ObjectID>079B7A28-0F20-4439-934B-AC8ABA31B76A</a:ObjectID>\n<a:Name>operate_note</a:Name>\n<a:Code>operate_note</a:Code>\n<a:CreationDate>1522396606</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396638</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作备注</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o811\">\n<a:ObjectID>A51DAFDF-D7E9-403D-A31F-7341E809448F</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522396738</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396780</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分来源：0-&gt;购物；1-&gt;管理员修改</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o812\">\n<a:ObjectID>A0C0BBC3-CBCB-4FD0-A047-91D827AFA920</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396491</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o804\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o812\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o288\">\n<a:ObjectID>DDBBBFBE-DCB3-4F92-A291-19A1F5767709</a:ObjectID>\n<a:Name>ums_growth_change_history</a:Name>\n<a:Code>ums_growth_change_history</a:Code>\n<a:CreationDate>1522396385</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>成长值变化历史记录表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o813\">\n<a:ObjectID>0161A828-441F-4CAB-90F0-2FC4EF6A6B3F</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o814\">\n<a:ObjectID>B546E2F7-48AB-4A7C-A4A0-28A667D75391</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522396864</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396878</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o815\">\n<a:ObjectID>D33F598C-18B5-4DF4-8326-FF7328B10F00</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o816\">\n<a:ObjectID>A0377031-7298-442C-B4DF-94C554828629</a:ObjectID>\n<a:Name>change_type</a:Name>\n<a:Code>change_type</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>改变类型：0-&gt;增加；1-&gt;减少</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o817\">\n<a:ObjectID>0EF45C85-5160-4E92-A3A6-C4B546D93214</a:ObjectID>\n<a:Name>change_count</a:Name>\n<a:Code>change_count</a:Code>\n<a:CreationDate>1522396491</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分改变数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o818\">\n<a:ObjectID>4893755C-D937-4D36-9611-B9AD46A57BAA</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1522396534</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o819\">\n<a:ObjectID>6CA349B8-491B-4E27-880E-D83491AB7849</a:ObjectID>\n<a:Name>operate_note</a:Name>\n<a:Code>operate_note</a:Code>\n<a:CreationDate>1522396606</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作备注</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o820\">\n<a:ObjectID>52268506-CE01-481B-ABD3-F84E4E9758C9</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522396738</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分来源：0-&gt;购物；1-&gt;管理员修改</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o821\">\n<a:ObjectID>2BAA5513-B2CF-4B60-A990-6319EB2671C4</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522396386</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o813\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o821\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o290\">\n<a:ObjectID>D2D961A9-BB8B-41D8-A501-1AF511F65DF9</a:ObjectID>\n<a:Name>ums_member_task</a:Name>\n<a:Code>ums_member_task</a:Code>\n<a:CreationDate>1522397182</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397290</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员任务表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o822\">\n<a:ObjectID>56B17C0E-8FBA-4594-8C45-1FF6469A7159</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522397183</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397211</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o823\">\n<a:ObjectID>65D902D3-95D4-4540-BC18-F384B3710D83</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397290</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o824\">\n<a:ObjectID>20EF2EF9-E621-4652-B334-862949676CA3</a:ObjectID>\n<a:Name>growth</a:Name>\n<a:Code>growth</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397322</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o825\">\n<a:ObjectID>55E587FF-CF0D-45D0-B63D-171E313D0FEB</a:ObjectID>\n<a:Name>intergration</a:Name>\n<a:Code>intergration</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397329</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>赠送积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o826\">\n<a:ObjectID>6878B9A3-18D2-4405-97D4-B3BE49EBA993</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522397207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397312</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>任务类型：0-&gt;新手任务；1-&gt;日常任务</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o827\">\n<a:ObjectID>EA426689-78F7-40C2-B520-83BA9FCC54D1</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522397183</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397207</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o822\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o827\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o292\">\n<a:ObjectID>9E564377-D9BE-4655-AC2E-13B0FD5CAF22</a:ObjectID>\n<a:Name>ums_member_rule_setting</a:Name>\n<a:Code>ums_member_rule_setting</a:Code>\n<a:CreationDate>1522397511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397900</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员积分成长规则表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o828\">\n<a:ObjectID>125CFE60-6A33-4680-B726-FC5E68082C98</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522397511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397554</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o829\">\n<a:ObjectID>38E3DC37-0559-41F6-84C0-3F5C43C48FF0</a:ObjectID>\n<a:Name>continue_sign_day</a:Name>\n<a:Code>continue_sign_day</a:Code>\n<a:CreationDate>1522397551</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397634</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>连续签到天数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o830\">\n<a:ObjectID>9508FDB7-6018-4E59-A007-49274C4627DC</a:ObjectID>\n<a:Name>continue_sign_point</a:Name>\n<a:Code>continue_sign_point</a:Code>\n<a:CreationDate>1522397620</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397799</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>连续签到赠送数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o831\">\n<a:ObjectID>2D67D7C4-242F-4287-AE03-819499C5EEE9</a:ObjectID>\n<a:Name>consume_per_point</a:Name>\n<a:Code>consume_per_point</a:Code>\n<a:CreationDate>1522397671</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397900</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每消费多少元获取1个点</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o832\">\n<a:ObjectID>3099A480-47E9-45F0-9183-7884D0C8B799</a:ObjectID>\n<a:Name>low_order_amount</a:Name>\n<a:Code>low_order_amount</a:Code>\n<a:CreationDate>1522397671</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397933</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>最低获取点数的订单金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o833\">\n<a:ObjectID>10ECB92A-03AE-4EC0-9F92-D4693B754400</a:ObjectID>\n<a:Name>max_point_per_order</a:Name>\n<a:Code>max_point_per_order</a:Code>\n<a:CreationDate>1522397799</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397949</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每笔订单最高获取点数</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o834\">\n<a:ObjectID>BBA261DE-035F-41ED-96F8-64CF61B19EB8</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1522397799</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397970</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>类型：0-&gt;积分规则；1-&gt;成长值规则</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o835\">\n<a:ObjectID>B72372E9-CEF8-4759-A874-B60E418F73DE</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522397511</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522397551</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o828\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o835\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o294\">\n<a:ObjectID>C1DCA2EA-AC28-420C-BFEF-FFE7F5644910</a:ObjectID>\n<a:Name>ums_integration_consume_setting</a:Name>\n<a:Code>ums_integration_consume_setting</a:Code>\n<a:CreationDate>1522398032</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535615091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分消费设置</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o836\">\n<a:ObjectID>5A65A4E0-C798-494B-89AA-899A5FE7ECC3</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522398033</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398074</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o837\">\n<a:ObjectID>E5B7DEEB-C659-43D6-A649-4A7AA6BA968A</a:ObjectID>\n<a:Name>deduction_per_amount</a:Name>\n<a:Code>deduction_per_amount</a:Code>\n<a:CreationDate>1522398071</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398169</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每一元需要抵扣的积分数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o838\">\n<a:ObjectID>3F3EBC7E-C661-4BF6-9748-A63740946E37</a:ObjectID>\n<a:Name>max_percent_per_order</a:Name>\n<a:Code>max_percent_per_order</a:Code>\n<a:CreationDate>1522398150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398207</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每笔订单最高抵用百分比</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o839\">\n<a:ObjectID>A51ACE1C-D2CC-4935-AEEE-392472F47BA1</a:ObjectID>\n<a:Name>use_unit</a:Name>\n<a:Code>use_unit</a:Code>\n<a:CreationDate>1522398194</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398281</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每次使用积分最小单位100</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o840\">\n<a:ObjectID>381B38BC-D7D6-44F6-8E9A-7EC3ED2D96C3</a:ObjectID>\n<a:Name>coupon_status</a:Name>\n<a:Code>coupon_status</a:Code>\n<a:CreationDate>1522398253</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398330</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否可以和优惠券同用；0-&gt;不可以；1-&gt;可以</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o841\">\n<a:ObjectID>E57C57B8-9833-47BB-905A-F54F0A5010DA</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522398033</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522398071</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o836\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o841\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o295\">\n<a:ObjectID>9FDE9178-BEB4-4D80-8DFE-245B7FA5954D</a:ObjectID>\n<a:Name>oms_order</a:Name>\n<a:Code>oms_order</a:Code>\n<a:CreationDate>1522658325</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o842\">\n<a:ObjectID>3563269E-6EED-49DE-AC40-20CDE76A70F7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522658326</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o843\">\n<a:ObjectID>1BFDD362-9A3F-4A39-A46A-988EFE0700F4</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1522659209</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o844\">\n<a:ObjectID>7A1BB5A1-6ACE-4259-9D2F-A11D74465729</a:ObjectID>\n<a:Name>coupon_id</a:Name>\n<a:Code>coupon_id</a:Code>\n<a:CreationDate>1522724329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724373</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o845\">\n<a:ObjectID>190337D5-DBCF-44C7-8E8F-60BA716C7D73</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1522658365</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658432</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单编号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o846\">\n<a:ObjectID>42DE6A32-DB28-4441-9D31-43954E2B32F8</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522658421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658633</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>提交时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o847\">\n<a:ObjectID>B66D00FB-2706-4456-9C8D-5BE63900E843</a:ObjectID>\n<a:Name>member_username</a:Name>\n<a:Code>member_username</a:Code>\n<a:CreationDate>1522658628</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658689</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>用户帐号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o848\">\n<a:ObjectID>93AF6B00-CE9F-4E65-852A-21DF3E8E38D3</a:ObjectID>\n<a:Name>total_amount</a:Name>\n<a:Code>total_amount</a:Code>\n<a:CreationDate>1522658628</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723559</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单总金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o849\">\n<a:ObjectID>AA07B22F-DFD0-4443-B124-4E7A948B8F1A</a:ObjectID>\n<a:Name>pay_amount</a:Name>\n<a:Code>pay_amount</a:Code>\n<a:CreationDate>1535611784</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535611836</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>应付金额（实际支付金额）</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o850\">\n<a:ObjectID>93484605-04CB-4451-BA1C-1D43843E1FE8</a:ObjectID>\n<a:Name>freight_amount</a:Name>\n<a:Code>freight_amount</a:Code>\n<a:CreationDate>1522723575</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723610</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>运费金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o851\">\n<a:ObjectID>31D4C71F-D7FF-4C00-88F3-D1A8B195D948</a:ObjectID>\n<a:Name>promotion_amount</a:Name>\n<a:Code>promotion_amount</a:Code>\n<a:CreationDate>1522723762</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723859</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>促销优化金额（促销价、满减、阶梯价）</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o852\">\n<a:ObjectID>2AC97908-B95C-4C45-AD78-5AEBD42D415E</a:ObjectID>\n<a:Name>integration_amount</a:Name>\n<a:Code>integration_amount</a:Code>\n<a:CreationDate>1522723873</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522723942</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分抵扣金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o853\">\n<a:ObjectID>BDECF3D8-B85D-459A-9336-D298B11A129C</a:ObjectID>\n<a:Name>coupon_amount</a:Name>\n<a:Code>coupon_amount</a:Code>\n<a:CreationDate>1522724126</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724255</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券抵扣金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o854\">\n<a:ObjectID>570A30CB-E74E-4D54-A2F5-354511EEAD73</a:ObjectID>\n<a:Name>discount_amount</a:Name>\n<a:Code>discount_amount</a:Code>\n<a:CreationDate>1522724794</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724828</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>管理员后台调整订单使用的折扣金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o855\">\n<a:ObjectID>2506F5AD-C896-45DA-B1A9-47A3F09F32A7</a:ObjectID>\n<a:Name>pay_type</a:Name>\n<a:Code>pay_type</a:Code>\n<a:CreationDate>1522658684</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522747151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>支付方式：0-&gt;未支付；1-&gt;支付宝；2-&gt;微信</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o856\">\n<a:ObjectID>1E796BD6-898E-4EDA-8ADE-A86D6305ED56</a:ObjectID>\n<a:Name>source_type</a:Name>\n<a:Code>source_type</a:Code>\n<a:CreationDate>1522658832</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522658869</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单来源：0-&gt;PC订单；1-&gt;app订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o857\">\n<a:ObjectID>EBDE3354-1D7D-43AF-ADC1-D73233AF9967</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522658850</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659024</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单状态：0-&gt;待付款；1-&gt;待发货；2-&gt;已发货；3-&gt;已完成；4-&gt;已关闭；5-&gt;无效订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o858\">\n<a:ObjectID>17C117FA-5488-480A-98AD-35E18E6B084D</a:ObjectID>\n<a:Name>order_type</a:Name>\n<a:Code>order_type</a:Code>\n<a:CreationDate>1522658951</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659122</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单类型：0-&gt;正常订单；1-&gt;秒杀订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o859\">\n<a:ObjectID>61822C95-27AC-4143-8C5F-CDE6DFE15B2C</a:ObjectID>\n<a:Name>delivery_company</a:Name>\n<a:Code>delivery_company</a:Code>\n<a:CreationDate>1522659709</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725481</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>物流公司(配送方式)</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o860\">\n<a:ObjectID>91DA7F9F-8F28-4D16-8A89-1379C5141304</a:ObjectID>\n<a:Name>delivery_sn</a:Name>\n<a:Code>delivery_sn</a:Code>\n<a:CreationDate>1522659876</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659902</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>物流单号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o861\">\n<a:ObjectID>ACB792D2-4ED5-47EE-BAFD-C389DAAA07E3</a:ObjectID>\n<a:Name>auto_confirm_day</a:Name>\n<a:Code>auto_confirm_day</a:Code>\n<a:CreationDate>1522659893</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659955</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动确认时间（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o862\">\n<a:ObjectID>C142CF56-1ED7-4D71-95DF-9F114248A7BC</a:ObjectID>\n<a:Name>integration</a:Name>\n<a:Code>integration</a:Code>\n<a:CreationDate>1522660001</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660021</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可以获得的积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o863\">\n<a:ObjectID>EA968274-2B27-4C3C-9565-619251E927BA</a:ObjectID>\n<a:Name>growth</a:Name>\n<a:Code>growth</a:Code>\n<a:CreationDate>1522660001</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660081</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>可以活动的成长值</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o864\">\n<a:ObjectID>B8CC6F72-DB4E-4A81-9D94-16B7AE9470A1</a:ObjectID>\n<a:Name>promotion_info</a:Name>\n<a:Code>promotion_info</a:Code>\n<a:CreationDate>1522660053</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>活动信息</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o865\">\n<a:ObjectID>BBE7BE20-0F91-48B2-96EA-7852ACCE40D1</a:ObjectID>\n<a:Name>bill_type</a:Name>\n<a:Code>bill_type</a:Code>\n<a:CreationDate>1522660081</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660200</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发票类型：0-&gt;不开发票；1-&gt;电子发票；2-&gt;纸质发票</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o866\">\n<a:ObjectID>5A0811A5-51AF-47C2-A7F8-A2909F856961</a:ObjectID>\n<a:Name>bill_header</a:Name>\n<a:Code>bill_header</a:Code>\n<a:CreationDate>1522660171</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660226</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发票抬头</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o867\">\n<a:ObjectID>B0E18290-D990-4622-B718-71A7113E9480</a:ObjectID>\n<a:Name>bill_content</a:Name>\n<a:Code>bill_content</a:Code>\n<a:CreationDate>1522660220</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660256</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发票内容</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o868\">\n<a:ObjectID>CE69C28B-C4BC-44AA-B3F2-30B6AD8390F8</a:ObjectID>\n<a:Name>bill_receiver_phone</a:Name>\n<a:Code>bill_receiver_phone</a:Code>\n<a:CreationDate>1522660252</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660326</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收票人电话</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o869\">\n<a:ObjectID>DB7AE7E6-2321-4C2C-8580-7AEB802EBE2C</a:ObjectID>\n<a:Name>bill_receiver_email</a:Name>\n<a:Code>bill_receiver_email</a:Code>\n<a:CreationDate>1522660252</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660344</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收票人邮箱</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o870\">\n<a:ObjectID>98B312FD-4E06-4D2B-AC6F-970B84E6C73F</a:ObjectID>\n<a:Name>receiver_name</a:Name>\n<a:Code>receiver_name</a:Code>\n<a:CreationDate>1522660318</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人姓名</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o871\">\n<a:ObjectID>1174D5FE-B8AE-49E7-A4D2-F947BFE08091</a:ObjectID>\n<a:Name>receiver_phone</a:Name>\n<a:Code>receiver_phone</a:Code>\n<a:CreationDate>1522660394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612363</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人电话</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o872\">\n<a:ObjectID>AA0D5272-63FA-45D9-8816-9D547B177F10</a:ObjectID>\n<a:Name>receiver_post_code</a:Name>\n<a:Code>receiver_post_code</a:Code>\n<a:CreationDate>1522660418</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660472</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人邮编</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o873\">\n<a:ObjectID>7E47519A-F397-40EF-A70D-4B26E116BD67</a:ObjectID>\n<a:Name>receiver_province</a:Name>\n<a:Code>receiver_province</a:Code>\n<a:CreationDate>1522660464</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660527</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>省份/直辖市</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o874\">\n<a:ObjectID>3218F635-7F7D-4A36-9BF2-E1C822053456</a:ObjectID>\n<a:Name>receiver_city</a:Name>\n<a:Code>receiver_city</a:Code>\n<a:CreationDate>1522660515</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660549</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>城市</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o875\">\n<a:ObjectID>8C3E74BC-0BCA-4E3F-A1F8-4C06D7192D4E</a:ObjectID>\n<a:Name>receiver_region</a:Name>\n<a:Code>receiver_region</a:Code>\n<a:CreationDate>1522660544</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660590</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>区</a:Comment>\n<a:DataType>varchar(32)</a:DataType>\n<a:Length>32</a:Length>\n</o:Column>\n<o:Column Id=\"o876\">\n<a:ObjectID>661DB749-D0D5-43E2-B96E-2444DA4DBA06</a:ObjectID>\n<a:Name>receiver_detail_address</a:Name>\n<a:Code>receiver_detail_address</a:Code>\n<a:CreationDate>1522660585</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>详细地址</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o877\">\n<a:ObjectID>F0169A36-508E-4CDA-8BD0-6077437C30DA</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522724892</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724915</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o878\">\n<a:ObjectID>735D23D8-B7B2-4474-A113-1ED7AAA6C9B8</a:ObjectID>\n<a:Name>confirm_status</a:Name>\n<a:Code>confirm_status</a:Code>\n<a:CreationDate>1522725950</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725999</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>确认收货状态：0-&gt;未确认；1-&gt;已确认</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o879\">\n<a:ObjectID>1D7E85F6-2738-40D2-A69D-1B55994F607A</a:ObjectID>\n<a:Name>delete_status</a:Name>\n<a:Code>delete_status</a:Code>\n<a:CreationDate>1535611815</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535612418</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>删除状态：0-&gt;未删除；1-&gt;已删除</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0=\n{B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0=\n\n</a:ExtendedAttributesText>\n</o:Column>\n<o:Column Id=\"o880\">\n<a:ObjectID>F556C92B-2EE8-48AB-B431-CABDBE189320</a:ObjectID>\n<a:Name>use_integration</a:Name>\n<a:Code>use_integration</a:Code>\n<a:CreationDate>1536136197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1536136230</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>下单时使用的积分</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o881\">\n<a:ObjectID>1D5BDFFC-6D63-44EA-8B7D-751C599A2A3A</a:ObjectID>\n<a:Name>payment_time</a:Name>\n<a:Code>payment_time</a:Code>\n<a:CreationDate>1539236189</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>支付时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o882\">\n<a:ObjectID>D2094CD3-0C14-476E-9267-60186CD40813</a:ObjectID>\n<a:Name>delivery_time</a:Name>\n<a:Code>delivery_time</a:Code>\n<a:CreationDate>1539236207</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236252</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发货时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o883\">\n<a:ObjectID>70755468-D317-4803-9B06-3975443F82C3</a:ObjectID>\n<a:Name>receive_time</a:Name>\n<a:Code>receive_time</a:Code>\n<a:CreationDate>1539236247</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236359</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>确认收货时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o884\">\n<a:ObjectID>C9857D65-CC11-42E6-BE7C-03A1B181DCB4</a:ObjectID>\n<a:Name>comment_time</a:Name>\n<a:Code>comment_time</a:Code>\n<a:CreationDate>1539236349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236415</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>评价时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o885\">\n<a:ObjectID>E2934ED3-7C35-4E4C-85C8-4554D6FED072</a:ObjectID>\n<a:Name>modify_time</a:Name>\n<a:Code>modify_time</a:Code>\n<a:CreationDate>1539236409</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539236440</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>修改时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o886\">\n<a:ObjectID>F98BE405-9DED-4054-ABBF-40BD4672B58B</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522658326</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o842\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o886\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o296\">\n<a:ObjectID>FDAAF085-F146-4ADE-919D-85D1DB4E61EE</a:ObjectID>\n<a:Name>oms_order_item</a:Name>\n<a:Code>oms_order_item</a:Code>\n<a:CreationDate>1522660695</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582621151</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单中所包含的商品</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o887\">\n<a:ObjectID>C2ABF8A4-2DE7-4C17-8053-440A60BD8EE7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522660696</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660748</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o888\">\n<a:ObjectID>B1934126-97B4-461B-B2A8-D53CCF81245C</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1522660753</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660776</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o889\">\n<a:ObjectID>EA411763-23EA-4E27-97CD-1C0D5925157C</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1522660755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660781</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单编号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o890\">\n<a:ObjectID>DCF7D58B-AD64-48B0-9A65-4FDAE9A32DFB</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1522660820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660829</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o891\">\n<a:ObjectID>7BDD65C2-224E-413D-AD83-437754569B1C</a:ObjectID>\n<a:Name>product_pic</a:Name>\n<a:Code>product_pic</a:Code>\n<a:CreationDate>1522719518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535696089</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o892\">\n<a:ObjectID>DFFC50EA-1E9A-4867-9EE8-B1A1B84E51E7</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522719518</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522719560</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o893\">\n<a:ObjectID>68478EE9-703A-4DFD-A085-7B109BBF650D</a:ObjectID>\n<a:Name>product_brand</a:Name>\n<a:Code>product_brand</a:Code>\n<a:CreationDate>1522719571</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522719666</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o894\">\n<a:ObjectID>27623FBE-2491-4310-AA4E-D93F4AD59154</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1522719571</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522719666</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o895\">\n<a:ObjectID>A9EF8281-439D-4D05-BB45-E933E648D979</a:ObjectID>\n<a:Name>product_price</a:Name>\n<a:Code>product_price</a:Code>\n<a:CreationDate>1522719571</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694206</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>销售价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o896\">\n<a:ObjectID>015E8942-52BF-4342-9C4C-1230A266C1C9</a:ObjectID>\n<a:Name>product_quantity</a:Name>\n<a:Code>product_quantity</a:Code>\n<a:CreationDate>1522723168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694166</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购买数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o897\">\n<a:ObjectID>EE8FDF66-7853-4BCE-98D9-40ADC13CC78F</a:ObjectID>\n<a:Name>product_sku_id</a:Name>\n<a:Code>product_sku_id</a:Code>\n<a:CreationDate>1535693972</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694126</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品sku编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o898\">\n<a:ObjectID>B13B6661-62F2-461A-B375-7556D6DBE56D</a:ObjectID>\n<a:Name>product_sku_code</a:Name>\n<a:Code>product_sku_code</a:Code>\n<a:CreationDate>1535693972</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品sku条码</a:Comment>\n<a:DataType>varchar(50)</a:DataType>\n<a:Length>50</a:Length>\n</o:Column>\n<o:Column Id=\"o899\">\n<a:ObjectID>6B11B4F4-2F88-4DA2-A6C6-B5563F8AB67F</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1535938231</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535938276</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品分类id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o900\">\n<a:ObjectID>00A626D1-90DA-4262-8FFB-874691D67C3E</a:ObjectID>\n<a:Name>promotion_name</a:Name>\n<a:Code>promotion_name</a:Code>\n<a:CreationDate>1535694274</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694390</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品促销名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o901\">\n<a:ObjectID>FCD8E9C9-7C56-47F0-8FBB-5534EB9B8FDE</a:ObjectID>\n<a:Name>promotion_amount</a:Name>\n<a:Code>promotion_amount</a:Code>\n<a:CreationDate>1535694166</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694826</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品促销分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o902\">\n<a:ObjectID>073E4D15-F6EB-405D-9429-3A2FD362E949</a:ObjectID>\n<a:Name>coupon_amount</a:Name>\n<a:Code>coupon_amount</a:Code>\n<a:CreationDate>1535694274</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694877</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>优惠券优惠分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o903\">\n<a:ObjectID>B4781397-191A-42B9-AAF7-D96E7BC3449D</a:ObjectID>\n<a:Name>integration_amount</a:Name>\n<a:Code>integration_amount</a:Code>\n<a:CreationDate>1535694826</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694927</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>积分优惠分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o904\">\n<a:ObjectID>AD7CAE73-04BF-4BB8-BEFA-E0A7B94BF373</a:ObjectID>\n<a:Name>real_amount</a:Name>\n<a:Code>real_amount</a:Code>\n<a:CreationDate>1522724652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535694701</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>该商品经过优惠后的分解金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o905\">\n<a:ObjectID>3FBC2AE3-3000-41C7-B78C-DB7AC7ABDC16</a:ObjectID>\n<a:Name>gift_integration</a:Name>\n<a:Code>gift_integration</a:Code>\n<a:CreationDate>1535964164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535964238</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品赠送积分</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o906\">\n<a:ObjectID>C7705A4E-64E8-44A3-B3BE-7A8762E73CFD</a:ObjectID>\n<a:Name>gift_growth</a:Name>\n<a:Code>gift_growth</a:Code>\n<a:CreationDate>1535964164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535964251</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品赠送成长值</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o907\">\n<a:ObjectID>07F49796-6B7C-4A44-BF17-6EF191BE819A</a:ObjectID>\n<a:Name>product_attr</a:Name>\n<a:Code>product_attr</a:Code>\n<a:CreationDate>1540542610</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1540542637</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性:[{&quot;key&quot;:&quot;颜色&quot;,&quot;value&quot;:&quot;颜色&quot;},{&quot;key&quot;:&quot;容量&quot;,&quot;value&quot;:&quot;4G&quot;}]</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o908\">\n<a:ObjectID>8B728C73-2ED3-4C44-8C64-95692A16EA10</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522660696</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660745</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o887\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o908\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o297\">\n<a:ObjectID>E184F9AC-F126-46D6-A8FF-5F95FBA2F74D</a:ObjectID>\n<a:Name>oms_order_operate_history</a:Name>\n<a:Code>oms_order_operate_history</a:Code>\n<a:CreationDate>1522724973</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单操作历史记录</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o909\">\n<a:ObjectID>46247D13-9B17-44EB-9300-7BA49AC214FB</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522724975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725013</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o910\">\n<a:ObjectID>CBAA2797-F782-492E-89D8-B87830B4FD86</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1522725331</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725342</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o911\">\n<a:ObjectID>B26D3031-3438-4CAB-BC93-2277F41D2F64</a:ObjectID>\n<a:Name>operate_man</a:Name>\n<a:Code>operate_man</a:Code>\n<a:CreationDate>1522725011</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725056</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作人：用户；系统；后台管理员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o912\">\n<a:ObjectID>14B87125-FC24-4D09-982E-F43F618B6C3A</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522725037</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725076</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>操作时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o913\">\n<a:ObjectID>296A8CF6-1BC8-46E1-846F-25114FF35EEB</a:ObjectID>\n<a:Name>order_status</a:Name>\n<a:Code>order_status</a:Code>\n<a:CreationDate>1522725072</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725298</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单状态：0-&gt;待付款；1-&gt;待发货；2-&gt;已发货；3-&gt;已完成；4-&gt;已关闭；5-&gt;无效订单</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o914\">\n<a:ObjectID>9F651D4E-088F-4735-ACAD-12ED16C49FDE</a:ObjectID>\n<a:Name>note</a:Name>\n<a:Code>note</a:Code>\n<a:CreationDate>1522725292</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725326</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o915\">\n<a:ObjectID>50772925-29B2-4E77-A02B-5AB8C229953C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522724975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725011</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o909\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o915\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o299\">\n<a:ObjectID>A3448BD2-42B4-44EC-9BD2-9837B4DF8523</a:ObjectID>\n<a:Name>oms_order_setting</a:Name>\n<a:Code>oms_order_setting</a:Code>\n<a:CreationDate>1522726076</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522731991</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单设置表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o916\">\n<a:ObjectID>03B16432-ECCE-4698-B24A-05554E64C35C</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522726077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726104</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o917\">\n<a:ObjectID>AC98E6B7-ADDF-43AD-B2F0-6CFE7715E9F1</a:ObjectID>\n<a:Name>flash_order_overtime</a:Name>\n<a:Code>flash_order_overtime</a:Code>\n<a:CreationDate>1522726101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726218</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>秒杀订单超时关闭时间(分)</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o918\">\n<a:ObjectID>C4E474C5-194A-4B54-8DF1-F37B681DE42B</a:ObjectID>\n<a:Name>normal_order_overtime</a:Name>\n<a:Code>normal_order_overtime</a:Code>\n<a:CreationDate>1522726150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726226</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>正常订单超时时间(分)</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o919\">\n<a:ObjectID>773FEFCD-F4A3-4D9E-B061-10C12CA1B397</a:ObjectID>\n<a:Name>confirm_overtime</a:Name>\n<a:Code>confirm_overtime</a:Code>\n<a:CreationDate>1522726177</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>发货后自动确认收货时间（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o920\">\n<a:ObjectID>DD5B89B8-5DC6-4EB1-B916-D76BD75CB0F5</a:ObjectID>\n<a:Name>finish_overtime</a:Name>\n<a:Code>finish_overtime</a:Code>\n<a:CreationDate>1522731908</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732014</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>自动完成交易时间，不能申请售后（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o921\">\n<a:ObjectID>D090D0ED-6A45-445C-ADE3-F1E18734F159</a:ObjectID>\n<a:Name>comment_overtime</a:Name>\n<a:Code>comment_overtime</a:Code>\n<a:CreationDate>1522731929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732004</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单完成后自动好评时间（天）</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o922\">\n<a:ObjectID>7C2ADDA9-1584-4310-A3FE-7F1E18447823</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522726077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522726101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o916\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o922\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o300\">\n<a:ObjectID>5006E5DC-16F9-4C44-ABAA-2812B50757BB</a:ObjectID>\n<a:Name>oms_order_return_apply</a:Name>\n<a:Code>oms_order_return_apply</a:Code>\n<a:CreationDate>1522732897</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单退货申请</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o923\">\n<a:ObjectID>CF99B61C-D0E5-4EB4-BFC6-111A9F3D44E8</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522732898</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732943</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o924\">\n<a:ObjectID>A6E68B83-006A-468C-A461-C647705E038C</a:ObjectID>\n<a:Name>order_id</a:Name>\n<a:Code>order_id</a:Code>\n<a:CreationDate>1522733188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733198</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o925\">\n<a:ObjectID>8D1F23F9-09FD-416B-8E38-CFDE67721417</a:ObjectID>\n<a:Name>company_address_id</a:Name>\n<a:Code>company_address_id</a:Code>\n<a:CreationDate>1522745521</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745624</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货地址表id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o926\">\n<a:ObjectID>A6898418-67C2-4E9F-9093-6FF8782BD12F</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1539746524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746553</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货商品id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o927\">\n<a:ObjectID>56ACAE3C-5533-44A1-BA57-602058B6CEF2</a:ObjectID>\n<a:Name>order_sn</a:Name>\n<a:Code>order_sn</a:Code>\n<a:CreationDate>1522733452</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>订单编号</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o928\">\n<a:ObjectID>F2C78E24-CDB0-4AA7-B6CD-21E55B380E95</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1522732939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746482</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>申请时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o929\">\n<a:ObjectID>70FBE2CF-BE0D-44DD-8679-39DAA782E1A3</a:ObjectID>\n<a:Name>member_username</a:Name>\n<a:Code>member_username</a:Code>\n<a:CreationDate>1522732939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745698</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员用户名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o930\">\n<a:ObjectID>7B8A70B3-9FC9-4136-BEC9-D2DF393DB988</a:ObjectID>\n<a:Name>return_amount</a:Name>\n<a:Code>return_amount</a:Code>\n<a:CreationDate>1522732939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733013</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退款金额</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o931\">\n<a:ObjectID>4FB9898E-63E4-4B21-B577-504320D3D4F9</a:ObjectID>\n<a:Name>return_name</a:Name>\n<a:Code>return_name</a:Code>\n<a:CreationDate>1522733003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745642</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货人姓名</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o932\">\n<a:ObjectID>8ADCC57B-6CA5-4A89-8B5A-6283FE7B3DDF</a:ObjectID>\n<a:Name>return_phone</a:Name>\n<a:Code>return_phone</a:Code>\n<a:CreationDate>1522733468</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733653</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货人电话</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o933\">\n<a:ObjectID>F01CC8D2-508C-424D-BF17-AE42ABE28223</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522733003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733137</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>申请状态：0-&gt;待处理；1-&gt;退货中；2-&gt;已完成；3-&gt;已拒绝</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o934\">\n<a:ObjectID>65402A2F-A01C-4B4D-9F19-9ACD48637159</a:ObjectID>\n<a:Name>handle_time</a:Name>\n<a:Code>handle_time</a:Code>\n<a:CreationDate>1522733003</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733179</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o935\">\n<a:ObjectID>AADBD0C8-E8CD-45D6-BDF4-13840EEFA26C</a:ObjectID>\n<a:Name>product_pic</a:Name>\n<a:Code>product_pic</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745750</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品图片</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o936\">\n<a:ObjectID>B4BB6015-3948-411C-9558-6CAF55CEF04C</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745756</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o937\">\n<a:ObjectID>D30E609F-3F5C-401C-8690-EEA47B0E6694</a:ObjectID>\n<a:Name>product_brand</a:Name>\n<a:Code>product_brand</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745719</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品品牌</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o938\">\n<a:ObjectID>86B4B2F7-9A36-47AC-A3DA-7F45FFF21639</a:ObjectID>\n<a:Name>product_attr</a:Name>\n<a:Code>product_attr</a:Code>\n<a:CreationDate>1522733217</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733369</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性：颜色：红色；尺码：xl;</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o939\">\n<a:ObjectID>DE661909-8CDC-4C09-A0C1-5587F969523A</a:ObjectID>\n<a:Name>product_count</a:Name>\n<a:Code>product_count</a:Code>\n<a:CreationDate>1522733332</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733395</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o940\">\n<a:ObjectID>B16F9E1E-749A-477B-B8E1-70B635CC8F00</a:ObjectID>\n<a:Name>product_price</a:Name>\n<a:Code>product_price</a:Code>\n<a:CreationDate>1539746095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746212</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品单价</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o941\">\n<a:ObjectID>442BB5FC-951A-43B5-94AD-B3C2E1C8F28F</a:ObjectID>\n<a:Name>product_real_price</a:Name>\n<a:Code>product_real_price</a:Code>\n<a:CreationDate>1539746095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746225</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品实际支付单价</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o942\">\n<a:ObjectID>B4DB3A15-7B0F-4C6D-B961-AF2C4CF14D50</a:ObjectID>\n<a:Name>reason</a:Name>\n<a:Code>reason</a:Code>\n<a:CreationDate>1522733512</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733657</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>原因</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o943\">\n<a:ObjectID>ECE8A578-4D6B-47EB-BB72-207D9BC93324</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1522733512</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733663</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o944\">\n<a:ObjectID>E3C2C9CF-D72D-44AA-B1A3-5B5AC1950B63</a:ObjectID>\n<a:Name>proof_pics</a:Name>\n<a:Code>proof_pics</a:Code>\n<a:CreationDate>1522733653</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733740</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>凭证图片，以逗号隔开</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o945\">\n<a:ObjectID>B16F27C1-DFFA-40F1-83B5-F9DA3BB86FE6</a:ObjectID>\n<a:Name>handle_note</a:Name>\n<a:Code>handle_note</a:Code>\n<a:CreationDate>1522745027</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745078</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o946\">\n<a:ObjectID>B8982C29-EB0D-4F63-A047-DDEDC91A78C3</a:ObjectID>\n<a:Name>handle_man</a:Name>\n<a:Code>handle_man</a:Code>\n<a:CreationDate>1522745592</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745618</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>处理人员</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o947\">\n<a:ObjectID>49E217E2-31BF-4F23-8125-62D5920E0B60</a:ObjectID>\n<a:Name>receive_man</a:Name>\n<a:Code>receive_man</a:Code>\n<a:CreationDate>1522745613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745658</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o948\">\n<a:ObjectID>8111E4F5-B8EA-4DCB-B899-A2E4921E6BC2</a:ObjectID>\n<a:Name>receive_time</a:Name>\n<a:Code>receive_time</a:Code>\n<a:CreationDate>1522745652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745779</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o949\">\n<a:ObjectID>4C802C73-FB19-4C09-84C3-37E152CA8299</a:ObjectID>\n<a:Name>receive_note</a:Name>\n<a:Code>receive_note</a:Code>\n<a:CreationDate>1522745652</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745787</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货备注</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o950\">\n<a:ObjectID>D06B934B-B63D-4DCC-B1C1-62F79744A8AC</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522732898</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522732939</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o923\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o950\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o301\">\n<a:ObjectID>594B7799-023B-4DAF-840D-B224931CBA6C</a:ObjectID>\n<a:Name>oms_company_address</a:Name>\n<a:Code>oms_company_address</a:Code>\n<a:CreationDate>1522745162</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>公司收发货地址表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o951\">\n<a:ObjectID>F5A62BE4-F0B9-46C3-8591-5864BB83220D</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522745164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745194</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o952\">\n<a:ObjectID>359C7F83-8810-4F75-935C-8099B75676C6</a:ObjectID>\n<a:Name>address_name</a:Name>\n<a:Code>address_name</a:Code>\n<a:CreationDate>1522745192</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745253</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>地址名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o953\">\n<a:ObjectID>5AA8AC8B-9617-4A6F-B898-4206F7CE8169</a:ObjectID>\n<a:Name>send_status</a:Name>\n<a:Code>send_status</a:Code>\n<a:CreationDate>1522745248</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745302</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>默认发货地址：0-&gt;否；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o954\">\n<a:ObjectID>CDF1655B-32CC-4E54-BBE7-5F00549B7722</a:ObjectID>\n<a:Name>receive_status</a:Name>\n<a:Code>receive_status</a:Code>\n<a:CreationDate>1522745248</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745328</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否默认收货地址：0-&gt;否；1-&gt;是</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o955\">\n<a:ObjectID>F5195500-8663-482B-B587-27789546188C</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522745285</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收发货人姓名</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o956\">\n<a:ObjectID>D51012F2-BECB-4E6B-A7E9-5B6AC06D9087</a:ObjectID>\n<a:Name>phone</a:Name>\n<a:Code>phone</a:Code>\n<a:CreationDate>1522745285</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>收货人电话</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o957\">\n<a:ObjectID>3D2DC8D4-9D56-4E95-8266-052132761CDE</a:ObjectID>\n<a:Name>province</a:Name>\n<a:Code>province</a:Code>\n<a:CreationDate>1522745363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745209</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>省/直辖市</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o958\">\n<a:ObjectID>57267BF2-434D-4AEC-8E6B-DDCAA85233F7</a:ObjectID>\n<a:Name>city</a:Name>\n<a:Code>city</a:Code>\n<a:CreationDate>1522745363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745217</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>市</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o959\">\n<a:ObjectID>F1F15023-139B-4048-8D0C-C9C46884C6E9</a:ObjectID>\n<a:Name>region</a:Name>\n<a:Code>region</a:Code>\n<a:CreationDate>1522745363</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745223</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>区</a:Comment>\n<a:DataType>varchar(64)</a:DataType>\n<a:Length>64</a:Length>\n</o:Column>\n<o:Column Id=\"o960\">\n<a:ObjectID>D3EA532D-AD33-45AF-BA17-1FE7D821EE64</a:ObjectID>\n<a:Name>detail_address</a:Name>\n<a:Code>detail_address</a:Code>\n<a:CreationDate>1539745108</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539745239</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>详细地址</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o961\">\n<a:ObjectID>9B8E57D5-D022-48D7-BA87-3214D2DAB1BD</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522745164</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745192</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o951\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o961\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o303\">\n<a:ObjectID>3FB6BF2A-C836-4B1F-AA9B-4219F4ECBC6D</a:ObjectID>\n<a:Name>oms_order_return_reason</a:Name>\n<a:Code>oms_order_return_reason</a:Code>\n<a:CreationDate>1522745726</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539238788</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货原因表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o962\">\n<a:ObjectID>8398CF1C-2327-4762-B370-7F7BB681FBE8</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1522745728</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o963\">\n<a:ObjectID>7C7CCC5E-FBE6-49A6-A428-95A8A078B4EA</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1522745760</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745845</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>退货类型</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o964\">\n<a:ObjectID>0C284FC4-E892-4BFF-B0AC-AD9BCB8E39D2</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1522745760</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745809</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o965\">\n<a:ObjectID>D0151FA2-84E3-4252-9565-766B748B7AD3</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1522745760</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745824</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>状态：0-&gt;不启用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o966\">\n<a:ObjectID>A3F8C1D7-A495-4E99-885D-FC8FB1E5747C</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1539238773</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539238794</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>添加时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o967\">\n<a:ObjectID>F0009D1F-CC14-45AA-BDB7-F25CFBBFE380</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1522745728</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o962\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o967\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o304\">\n<a:ObjectID>679BF191-40EF-4FC4-8140-D9DA8F283689</a:ObjectID>\n<a:Name>oms_cart_item</a:Name>\n<a:Code>oms_cart_item</a:Code>\n<a:CreationDate>1533108597</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1582621132</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购物车表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o968\">\n<a:ObjectID>0496CCD8-F7CC-4DD4-AEE7-919D8EFCD676</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1533108649</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108729</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o969\">\n<a:ObjectID>BC6AB2CA-354D-447A-A466-54980B87F57F</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1533109970</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533110009</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o970\">\n<a:ObjectID>48241AB2-A6B4-48E5-A792-FAB72D97FD42</a:ObjectID>\n<a:Name>product_sku_id</a:Name>\n<a:Code>product_sku_id</a:Code>\n<a:CreationDate>1533115829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115861</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o971\">\n<a:ObjectID>70CEB9F6-7F7D-4AB1-BB9D-3667BA109C72</a:ObjectID>\n<a:Name>member_id</a:Name>\n<a:Code>member_id</a:Code>\n<a:CreationDate>1533115896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115923</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o972\">\n<a:ObjectID>8B8B68C0-7987-4E2B-9BAD-FF4F3428E03A</a:ObjectID>\n<a:Name>quantity</a:Name>\n<a:Code>quantity</a:Code>\n<a:CreationDate>1533108721</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>购买数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o973\">\n<a:ObjectID>E2A71768-48C5-46B2-82B8-635169BFE66D</a:ObjectID>\n<a:Name>price</a:Name>\n<a:Code>price</a:Code>\n<a:CreationDate>1533108747</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108790</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>添加到购物车的价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o974\">\n<a:ObjectID>B5A53CF7-C87D-411B-89DF-41888E2722C7</a:ObjectID>\n<a:Name>product_pic</a:Name>\n<a:Code>product_pic</a:Code>\n<a:CreationDate>1533110160</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171242</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品主图</a:Comment>\n<a:DataType>varchar(1000)</a:DataType>\n<a:Length>1000</a:Length>\n</o:Column>\n<o:Column Id=\"o975\">\n<a:ObjectID>E1A4F06D-34AE-4B0C-BCC6-F82BA9D1A76F</a:ObjectID>\n<a:Name>product_name</a:Name>\n<a:Code>product_name</a:Code>\n<a:CreationDate>1533110160</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171249</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品名称</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o976\">\n<a:ObjectID>7BBD4FA7-9C75-4ECA-9E08-BBEAC572BCB1</a:ObjectID>\n<a:Name>product_brand</a:Name>\n<a:Code>product_brand</a:Code>\n<a:CreationDate>1535696251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535696298</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o977\">\n<a:ObjectID>11170A56-1C61-4372-9E46-A3C9C587340E</a:ObjectID>\n<a:Name>product_sn</a:Name>\n<a:Code>product_sn</a:Code>\n<a:CreationDate>1535696251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535696298</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o978\">\n<a:ObjectID>2D4BFCEF-83F1-4697-8EF7-DCC5D2A9491D</a:ObjectID>\n<a:Name>product_sub_title</a:Name>\n<a:Code>product_sub_title</a:Code>\n<a:CreationDate>1533110160</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171264</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品副标题（卖点）</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o979\">\n<a:ObjectID>8A7E5878-BB5E-49F3-BE20-E6986E172BB3</a:ObjectID>\n<a:Name>product_sku_code</a:Name>\n<a:Code>product_sku_code</a:Code>\n<a:CreationDate>1533115799</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171279</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品sku条码</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o980\">\n<a:ObjectID>23C68713-D38A-4915-96E3-A9762199D386</a:ObjectID>\n<a:Name>member_nickname</a:Name>\n<a:Code>member_nickname</a:Code>\n<a:CreationDate>1533115939</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171328</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>会员昵称</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o981\">\n<a:ObjectID>5675315C-7265-4AC3-88D4-BC1525AC73B7</a:ObjectID>\n<a:Name>create_date</a:Name>\n<a:Code>create_date</a:Code>\n<a:CreationDate>1533116034</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171335</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o982\">\n<a:ObjectID>1D877A06-39CD-4A3C-B4A8-059588D13838</a:ObjectID>\n<a:Name>modify_date</a:Name>\n<a:Code>modify_date</a:Code>\n<a:CreationDate>1533116034</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533171341</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>修改时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o983\">\n<a:ObjectID>20EF4C13-435F-4C03-B8A9-7E31F1432E21</a:ObjectID>\n<a:Name>delete_status</a:Name>\n<a:Code>delete_status</a:Code>\n<a:CreationDate>1533172423</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533172643</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>是否删除</a:Comment>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o984\">\n<a:ObjectID>9C9C2AC9-F58B-4D31-BEF4-1D1892931E51</a:ObjectID>\n<a:Name>product_category_id</a:Name>\n<a:Code>product_category_id</a:Code>\n<a:CreationDate>1535530934</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1535530961</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品的分类</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o985\">\n<a:ObjectID>B7274386-A224-491A-88E0-8FAADCA00C90</a:ObjectID>\n<a:Name>product_attr</a:Name>\n<a:Code>product_attr</a:Code>\n<a:CreationDate>1540542323</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1540542603</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品销售属性:[{&quot;key&quot;:&quot;颜色&quot;,&quot;value&quot;:&quot;银色&quot;},{&quot;key&quot;:&quot;容量&quot;,&quot;value&quot;:&quot;4G&quot;}]</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o986\">\n<a:ObjectID>29D735B7-E618-4C13-AF03-3858C68E6BA4</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1533108649</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533108680</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o968\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o986\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o305\">\n<a:ObjectID>76086A3D-70A2-4A7E-A4DA-9B79808A0A53</a:ObjectID>\n<a:Name>ums_role</a:Name>\n<a:Code>ums_role</a:Code>\n<a:CreationDate>1538200619</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201383</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户角色表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o987\">\n<a:ObjectID>2E853DB4-DEFD-42D5-A6BE-6226A3194CE4</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538201005</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201117</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o988\">\n<a:ObjectID>A7C5F5AC-3D79-4BAB-A058-E801649746EB</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1538201019</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201122</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o989\">\n<a:ObjectID>013099EA-F84F-4262-9125-15DA3687C8CE</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1538201019</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201128</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o990\">\n<a:ObjectID>F376357B-61CA-46D5-BED7-51C5322735A9</a:ObjectID>\n<a:Name>admin_count</a:Name>\n<a:Code>admin_count</a:Code>\n<a:CreationDate>1538201117</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201162</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o991\">\n<a:ObjectID>EAC9E6A6-7E67-44F0-B085-B7A2380828E9</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1538201155</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201198</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o992\">\n<a:ObjectID>8B4E2D43-F39C-46CD-B498-1CD02CDE1F81</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1538201193</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201235</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>启用状态：0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DefaultValue>1</a:DefaultValue>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o993\">\n<a:ObjectID>CDB0B35E-6C3A-4FE5-9D47-E7682E71302E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1538201211</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201486</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DefaultValue>0</a:DefaultValue>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o994\">\n<a:ObjectID>14F5A838-542A-4B80-8627-B17FF80D3D0C</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538201019</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201117</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o987\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o994\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o306\">\n<a:ObjectID>4E46B794-7D2F-434B-9096-2F7DB97537BA</a:ObjectID>\n<a:Name>ums_permission</a:Name>\n<a:Code>ums_permission</a:Code>\n<a:CreationDate>1538201545</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户权限表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o995\">\n<a:ObjectID>E945AB0D-430D-4564-A942-AFAF3D3C6106</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538201548</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201942</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0=\n{B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0=\n\n</a:ExtendedAttributesText>\n</o:Column>\n<o:Column Id=\"o996\">\n<a:ObjectID>B073CBDF-527E-4961-BF55-9C5A1F643303</a:ObjectID>\n<a:Name>pid</a:Name>\n<a:Code>pid</a:Code>\n<a:CreationDate>1538202362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202389</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>父级权限id</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o997\">\n<a:ObjectID>E06DA657-9A51-42D9-A915-3D76B6D12AC7</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1538201932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202068</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o998\">\n<a:ObjectID>C2345EAD-45D6-41E7-8EAA-9DB2FD0F6C48</a:ObjectID>\n<a:Name>value</a:Name>\n<a:Code>value</a:Code>\n<a:CreationDate>1538201932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202074</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>权限值</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o999\">\n<a:ObjectID>471034FB-C5B6-49C2-A117-AE9FEE311F8C</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1538201932</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202080</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>图标</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n<o:Column Id=\"o1000\">\n<a:ObjectID>64C52B4C-E7C5-4A7E-AE70-CF628EFC67A7</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1538202064</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202174</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>权限类型：0-&gt;目录；1-&gt;菜单；2-&gt;按钮（接口绑定权限）</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o1001\">\n<a:ObjectID>8E492BD0-8033-4FE5-8B5B-C13F6977D9A9</a:ObjectID>\n<a:Name>uri</a:Name>\n<a:Code>uri</a:Code>\n<a:CreationDate>1538202208</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202264</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端资源路径</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1002\">\n<a:ObjectID>88B074E5-990C-4217-91F5-A88E56CC8142</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1538202092</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202228</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>启用状态；0-&gt;禁用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o1003\">\n<a:ObjectID>6A46B30B-44EC-4D13-BEBF-77C4D26113CA</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1538202257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202303</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1004\">\n<a:ObjectID>FE8DC496-D926-4C4C-94C0-59F19B98D411</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1538202257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202334</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1005\">\n<a:ObjectID>1A1D360B-3856-4FE0-ABC3-9C9DD7180247</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538201548</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538201932</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o995\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1005\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o307\">\n<a:ObjectID>0ACD514B-6AD8-4092-9503-BB7418271C5D</a:ObjectID>\n<a:Name>ums_admin_role_relation</a:Name>\n<a:Code>ums_admin_role_relation</a:Code>\n<a:CreationDate>1538202419</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202492</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户和角色关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1006\">\n<a:ObjectID>FD4417BB-10DA-489F-95B7-2538DA63FEB7</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538202420</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202461</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1007\">\n<a:ObjectID>7E2D454E-E44B-490F-9E86-11CB1D02A55F</a:ObjectID>\n<a:Name>admin_id</a:Name>\n<a:Code>admin_id</a:Code>\n<a:CreationDate>1538202471</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202487</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1008\">\n<a:ObjectID>6408BE19-A7C6-4F9D-B9C0-921BD494570B</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1538202492</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202502</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1009\">\n<a:ObjectID>6D817E44-8C99-4CFE-A645-0E536256B9D2</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538202420</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202458</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1006\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1009\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o308\">\n<a:ObjectID>DF1649B4-5B0F-43F0-8E49-DFB2050E1F76</a:ObjectID>\n<a:Name>ums_role_permission_relation</a:Name>\n<a:Code>ums_role_permission_relation</a:Code>\n<a:CreationDate>1538202537</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202588</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户角色和权限关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1010\">\n<a:ObjectID>1144AF4C-1426-47B7-8212-DA3B3E6C2A36</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538202538</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202580</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1011\">\n<a:ObjectID>FE5CF0B5-65AA-4B6D-AE3C-04E4A57077D0</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1538202586</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202605</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1012\">\n<a:ObjectID>3E519CF4-C6F8-4D40-828A-F3AFFDA09699</a:ObjectID>\n<a:Name>permission_id</a:Name>\n<a:Code>permission_id</a:Code>\n<a:CreationDate>1538202588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202605</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1013\">\n<a:ObjectID>7169397A-EC6D-422E-9575-7D580D618896</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538202538</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202576</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1010\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1013\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o309\">\n<a:ObjectID>13CA705F-65DC-48AC-9563-A5650E15DCC0</a:ObjectID>\n<a:Name>ums_admin_permission_relation</a:Name>\n<a:Code>ums_admin_permission_relation</a:Code>\n<a:CreationDate>1538202617</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538203086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台用户和权限关系表(除角色中定义的权限以外的加减权限)</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1014\">\n<a:ObjectID>BE753374-E9C7-4C53-AC9C-D71DCF50662D</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1538202860</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202918</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1015\">\n<a:ObjectID>12FF5B6B-8647-49E1-927C-D43F14BBB174</a:ObjectID>\n<a:Name>admin_id</a:Name>\n<a:Code>admin_id</a:Code>\n<a:CreationDate>1538202927</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202948</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1016\">\n<a:ObjectID>8BDB3D8B-FFEF-4031-8D7A-EF81BE9BE670</a:ObjectID>\n<a:Name>permission_id</a:Name>\n<a:Code>permission_id</a:Code>\n<a:CreationDate>1538202929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202948</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1017\">\n<a:ObjectID>D5D4EBC8-9FCD-4A79-8171-4BC6027FA23E</a:ObjectID>\n<a:Name>type</a:Name>\n<a:Code>type</a:Code>\n<a:CreationDate>1538203070</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538203086</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1018\">\n<a:ObjectID>DF246E9E-48BE-43A9-A0A8-282F0AC6E482</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1538202860</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202916</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1014\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1018\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o310\">\n<a:ObjectID>0DE260F1-B640-49EA-8FD8-73901DA3FC6A</a:ObjectID>\n<a:Name>sms_flash_promotion_session</a:Name>\n<a:Code>sms_flash_promotion_session</a:Code>\n<a:CreationDate>1542177985</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178475</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购场次表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1019\">\n<a:ObjectID>10DEE53F-C0A5-4C47-B567-5B9318C189F5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1542178330</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178351</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1020\">\n<a:ObjectID>70BA3EA1-6434-4AFF-A8B7-BCFD893EE7BF</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1542178344</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178375</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>场次名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1021\">\n<a:ObjectID>E0270862-71AD-474C-96FE-3EEA4134152D</a:ObjectID>\n<a:Name>start_time</a:Name>\n<a:Code>start_time</a:Code>\n<a:CreationDate>1542178368</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178404</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每日开始时间</a:Comment>\n<a:DataType>time</a:DataType>\n</o:Column>\n<o:Column Id=\"o1022\">\n<a:ObjectID>A180A2E0-0FA8-475C-8D71-729FD0617D20</a:ObjectID>\n<a:Name>end_time</a:Name>\n<a:Code>end_time</a:Code>\n<a:CreationDate>1542178396</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每日结束时间</a:Comment>\n<a:DataType>time</a:DataType>\n</o:Column>\n<o:Column Id=\"o1023\">\n<a:ObjectID>49630CAC-6129-4521-AD71-0A3AFD07583A</a:ObjectID>\n<a:Name>status</a:Name>\n<a:Code>status</a:Code>\n<a:CreationDate>1542178416</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>启用状态：0-&gt;不启用；1-&gt;启用</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n<o:Column Id=\"o1024\">\n<a:ObjectID>3E293EDE-0D9A-4933-8B3D-4293903D92D0</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1542178436</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178481</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1025\">\n<a:ObjectID>6F8C4687-C113-41B9-B674-6D8DE3D1E8D5</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1542178330</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542178344</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1019\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1025\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o311\">\n<a:ObjectID>99F64742-38F7-4DA9-B8A0-1FC4476C94D3</a:ObjectID>\n<a:Name>sms_flash_promotion_product_relation</a:Name>\n<a:Code>sms_flash_promotion_product_relation</a:Code>\n<a:CreationDate>1542179013</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>商品限时购与商品关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1026\">\n<a:ObjectID>CAE82E75-D12D-4AD6-9A17-68423BF7E4E0</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1542179066</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542349350</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1027\">\n<a:ObjectID>CEAF14F7-5D5C-4FF9-B86B-CF943BE9EAC9</a:ObjectID>\n<a:Name>flash_promotion_id</a:Name>\n<a:Code>flash_promotion_id</a:Code>\n<a:CreationDate>1542179374</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179387</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1028\">\n<a:ObjectID>23D89E50-A620-478D-A305-369556A666D9</a:ObjectID>\n<a:Name>flash_promotion_session_id</a:Name>\n<a:Code>flash_promotion_session_id</a:Code>\n<a:CreationDate>1542179394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>编号</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1029\">\n<a:ObjectID>016A43A1-CCDE-4553-A432-5F9195B3E630</a:ObjectID>\n<a:Name>product_id</a:Name>\n<a:Code>product_id</a:Code>\n<a:CreationDate>1542179440</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179497</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1030\">\n<a:ObjectID>A82B7A85-9A20-438A-B428-5252675D21E5</a:ObjectID>\n<a:Name>flash_promotion_price</a:Name>\n<a:Code>flash_promotion_price</a:Code>\n<a:CreationDate>1542179066</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179497</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购价格</a:Comment>\n<a:DataType>decimal(10,2)</a:DataType>\n<a:Length>10</a:Length>\n<a:Precision>2</a:Precision>\n</o:Column>\n<o:Column Id=\"o1031\">\n<a:ObjectID>608C7EEE-3CD9-452E-873C-AD3AFDF563A0</a:ObjectID>\n<a:Name>flash_promotion_count</a:Name>\n<a:Code>flash_promotion_count</a:Code>\n<a:CreationDate>1542179137</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179197</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>限时购数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o1032\">\n<a:ObjectID>8211380C-691E-47D2-B1D7-F37E83667A4C</a:ObjectID>\n<a:Name>flash_promotion_limit</a:Name>\n<a:Code>flash_promotion_limit</a:Code>\n<a:CreationDate>1542179190</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179235</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>每人限购数量</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n<o:Column Id=\"o1033\">\n<a:ObjectID>7DB32E90-BA97-46B7-B90B-655587BBE50E</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1542179226</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1034\">\n<a:ObjectID>A2983D35-1038-45A0-954A-5BC756B9FBF6</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1542179066</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179137</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1026\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1034\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o312\">\n<a:ObjectID>FA962271-FBB8-4D55-88C3-B0565D4B7E6B</a:ObjectID>\n<a:Name>ums_menu</a:Name>\n<a:Code>ums_menu</a:Code>\n<a:CreationDate>1580624574</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625146</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台菜单表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1035\">\n<a:ObjectID>6E8CAA92-2096-418D-A93D-E79F719BB927</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580624717</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580624742</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1036\">\n<a:ObjectID>ED194F66-7660-463A-A991-C2A652AB7BDD</a:ObjectID>\n<a:Name>parent_id</a:Name>\n<a:Code>parent_id</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625129</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>父级ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1037\">\n<a:ObjectID>751DDAFB-E47E-4C1F-8861-98417ABE4003</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1038\">\n<a:ObjectID>C19B0D2B-9E4E-4D92-B934-23A5A434367E</a:ObjectID>\n<a:Name>title</a:Name>\n<a:Code>title</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o1039\">\n<a:ObjectID>3991C198-C8BC-442F-B9C3-8C3E822BDF58</a:ObjectID>\n<a:Name>level</a:Name>\n<a:Code>level</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单级数</a:Comment>\n<a:DataType>int(4)</a:DataType>\n<a:Length>4</a:Length>\n</o:Column>\n<o:Column Id=\"o1040\">\n<a:ObjectID>F021AF73-1074-429E-A756-7795EAC8D046</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单排序</a:Comment>\n<a:DataType>int(4)</a:DataType>\n<a:Length>4</a:Length>\n</o:Column>\n<o:Column Id=\"o1041\">\n<a:ObjectID>4B420CCD-31CE-4F99-864B-2130DB065195</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端名称</a:Comment>\n<a:DataType>varchar(100)</a:DataType>\n<a:Length>100</a:Length>\n</o:Column>\n<o:Column Id=\"o1042\">\n<a:ObjectID>F77FA949-AD6E-4812-8523-B4B89D603A5E</a:ObjectID>\n<a:Name>icon</a:Name>\n<a:Code>icon</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端图标</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1043\">\n<a:ObjectID>BA0254CB-2942-4FA6-86A0-E90E43311099</a:ObjectID>\n<a:Name>hidden</a:Name>\n<a:Code>hidden</a:Code>\n<a:CreationDate>1580624809</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625091</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>前端隐藏</a:Comment>\n<a:DataType>int(1)</a:DataType>\n<a:Length>1</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1044\">\n<a:ObjectID>5B17DE1C-3EF2-41FE-8598-919EF33A2D85</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580624717</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580624739</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1035\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1044\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o313\">\n<a:ObjectID>21CA6441-50AA-434C-B1B2-51C4DB93E292</a:ObjectID>\n<a:Name>ums_resource</a:Name>\n<a:Code>ums_resource</a:Code>\n<a:CreationDate>1580624625</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台资源表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1045\">\n<a:ObjectID>F6CBDD55-60A9-4F16-8426-166F661106CF</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580625178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625202</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1046\">\n<a:ObjectID>83039C2E-46A3-43E5-9F44-0C2793617519</a:ObjectID>\n<a:Name>category_id</a:Name>\n<a:Code>category_id</a:Code>\n<a:CreationDate>1580869150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869174</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源分类ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1047\">\n<a:ObjectID>A9E82014-27A7-49AF-9BF1-2F10A4ABC85D</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1580625197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1048\">\n<a:ObjectID>623196A3-33D6-4F77-909E-66A8F05CDD19</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1580625197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1049\">\n<a:ObjectID>01AB5B01-DA3F-4F28-A338-A916E623F2A0</a:ObjectID>\n<a:Name>url</a:Name>\n<a:Code>url</a:Code>\n<a:CreationDate>1580625197</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源URL</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1050\">\n<a:ObjectID>B3CFE91C-D059-421F-8D9C-17321C7F38E7</a:ObjectID>\n<a:Name>description</a:Name>\n<a:Code>description</a:Code>\n<a:CreationDate>1580805910</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580805939</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>描述</a:Comment>\n<a:DataType>varchar(500)</a:DataType>\n<a:Length>500</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1051\">\n<a:ObjectID>10E24F7A-0390-476B-BAAE-1882C0BBD062</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580625178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625197</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1045\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1051\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o314\">\n<a:ObjectID>B66F7908-B143-4176-80A9-B2CF44529D08</a:ObjectID>\n<a:Name>ums_role_menu_relation</a:Name>\n<a:Code>ums_role_menu_relation</a:Code>\n<a:CreationDate>1580624663</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625352</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台角色菜单关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1052\">\n<a:ObjectID>0A34DDDB-B366-496A-AED8-416DE19149F5</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580625308</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625325</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1053\">\n<a:ObjectID>2AE22924-4904-41FA-AFB7-B0CF7FCBFC56</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1580625333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>角色ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1054\">\n<a:ObjectID>748FA33E-A269-4189-A357-21F5885427C4</a:ObjectID>\n<a:Name>menu_id</a:Name>\n<a:Code>menu_id</a:Code>\n<a:CreationDate>1580625352</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625372</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>菜单ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1055\">\n<a:ObjectID>882EFB9B-0F11-4AE1-995B-C15CEDF564FA</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580625308</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625322</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1052\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1055\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o315\">\n<a:ObjectID>C19BEA79-6E19-4CAD-9E31-9415E802B9DE</a:ObjectID>\n<a:Name>ums_role_resource_relation</a:Name>\n<a:Code>ums_role_resource_relation</a:Code>\n<a:CreationDate>1580624686</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625435</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>后台角色资源关系表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1056\">\n<a:ObjectID>6DF052C6-67CA-4BAA-A125-9F03DEDA9012</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580625392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625411</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1057\">\n<a:ObjectID>83982BFF-3E3D-4E6F-A458-FF3075464342</a:ObjectID>\n<a:Name>role_id</a:Name>\n<a:Code>role_id</a:Code>\n<a:CreationDate>1580625421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625454</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>角色ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n<o:Column Id=\"o1058\">\n<a:ObjectID>09F02FAF-844E-44FE-93C8-7B4623939F50</a:ObjectID>\n<a:Name>resource_id</a:Name>\n<a:Code>resource_id</a:Code>\n<a:CreationDate>1580625435</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625454</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源ID</a:Comment>\n<a:DataType>bigint</a:DataType>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1059\">\n<a:ObjectID>AB798EFF-998F-4E0E-B0A4-A20719A6AF79</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580625392</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625408</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1056\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1059\"/>\n</c:PrimaryKey>\n</o:Table>\n<o:Table Id=\"o316\">\n<a:ObjectID>B0508AE4-FED1-47A1-A771-889573F7520B</a:ObjectID>\n<a:Name>ums_resource_category</a:Name>\n<a:Code>ums_resource_category</a:Code>\n<a:CreationDate>1580869056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1581324455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>资源分类表</a:Comment>\n<a:TotalSavingCurrency/>\n<c:Columns>\n<o:Column Id=\"o1060\">\n<a:ObjectID>F885A10E-E590-447C-8D5D-BC2BCD3DB671</a:ObjectID>\n<a:Name>id</a:Name>\n<a:Code>id</a:Code>\n<a:CreationDate>1580869083</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869099</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:DataType>bigint</a:DataType>\n<a:Identity>1</a:Identity>\n<a:Column.Mandatory>1</a:Column.Mandatory>\n</o:Column>\n<o:Column Id=\"o1061\">\n<a:ObjectID>D01B83FC-5268-4206-B92F-8F9BFE927112</a:ObjectID>\n<a:Name>create_time</a:Name>\n<a:Code>create_time</a:Code>\n<a:CreationDate>1580869095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>创建时间</a:Comment>\n<a:DataType>datetime</a:DataType>\n</o:Column>\n<o:Column Id=\"o1062\">\n<a:ObjectID>B986AFDF-AFBB-4E49-93AA-5CAD7907153A</a:ObjectID>\n<a:Name>name</a:Name>\n<a:Code>name</a:Code>\n<a:CreationDate>1580869095</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869135</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>分类名称</a:Comment>\n<a:DataType>varchar(200)</a:DataType>\n<a:Length>200</a:Length>\n</o:Column>\n<o:Column Id=\"o1063\">\n<a:ObjectID>094290D5-34B8-4EE4-B629-670A4BAA7382</a:ObjectID>\n<a:Name>sort</a:Name>\n<a:Code>sort</a:Code>\n<a:CreationDate>1581324427</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1581324455</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Comment>排序</a:Comment>\n<a:DataType>int(4)</a:DataType>\n<a:Length>4</a:Length>\n</o:Column>\n</c:Columns>\n<c:Keys>\n<o:Key Id=\"o1064\">\n<a:ObjectID>70C39D60-14D7-4260-94E9-1F6025702EC5</a:ObjectID>\n<a:Name>Key_1</a:Name>\n<a:Code>Key_1</a:Code>\n<a:CreationDate>1580869083</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869095</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Key.Columns>\n<o:Column Ref=\"o1060\"/>\n</c:Key.Columns>\n</o:Key>\n</c:Keys>\n<c:PrimaryKey>\n<o:Key Ref=\"o1064\"/>\n</c:PrimaryKey>\n</o:Table>\n</c:Tables>\n<c:References>\n<o:Reference Id=\"o8\">\n<a:ObjectID>F8B50533-7F4C-4BE7-984B-4FC6A1156DC9</a:ObjectID>\n<a:Name>Reference_1</a:Name>\n<a:Code>Reference_1</a:Code>\n<a:CreationDate>1521706257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o235\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o375\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1065\">\n<a:ObjectID>5236F74C-2761-4AC4-834A-BECC5D040393</a:ObjectID>\n<a:CreationDate>1521706257</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521706257</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o364\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o318\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o11\">\n<a:ObjectID>6B097280-D411-432F-9CA0-7FC52C306D0F</a:ObjectID>\n<a:Name>Reference_2</a:Name>\n<a:Code>Reference_2</a:Code>\n<a:CreationDate>1521710488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710488</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o236\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1066\">\n<a:ObjectID>6EE78803-E5F6-4090-B810-7BBF7814F60C</a:ObjectID>\n<a:CreationDate>1521710488</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521710488</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o377\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o14\">\n<a:ObjectID>3447013F-AE0F-4B19-9E82-DEC9658CF62C</a:ObjectID>\n<a:Name>Reference_3</a:Name>\n<a:Code>Reference_3</a:Code>\n<a:CreationDate>1521770349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o237\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1067\">\n<a:ObjectID>84F722B4-DF57-4BC3-88FD-B249B70D21A7</a:ObjectID>\n<a:CreationDate>1521770349</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521770349</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o389\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o17\">\n<a:ObjectID>869F562E-B664-4E18-BB85-9F518C39050E</a:ObjectID>\n<a:Name>Reference_4</a:Name>\n<a:Code>Reference_4</a:Code>\n<a:CreationDate>1521771362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o238\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1068\">\n<a:ObjectID>0309D83E-51C3-4973-A636-9FEB27F4A6B6</a:ObjectID>\n<a:CreationDate>1521771362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521771362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o396\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o20\">\n<a:ObjectID>43D29FF3-315F-4770-9486-03345B3B66AA</a:ObjectID>\n<a:Name>Reference_5</a:Name>\n<a:Code>Reference_5</a:Code>\n<a:CreationDate>1521773101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1069\">\n<a:ObjectID>7B820697-9FFD-4446-B6DF-F03F4F02FFE3</a:ObjectID>\n<a:CreationDate>1521773101</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521773101</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o319\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o23\">\n<a:ObjectID>2FA754C9-59E9-4BC2-9FBD-D1F329A2D40D</a:ObjectID>\n<a:Name>Reference_6</a:Name>\n<a:Code>Reference_6</a:Code>\n<a:CreationDate>1521783613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o240\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o429\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1070\">\n<a:ObjectID>13DDC5F6-372D-47FF-AAFA-8AEF349E7FA8</a:ObjectID>\n<a:CreationDate>1521783613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521783613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o421\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o320\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o26\">\n<a:ObjectID>FFC57989-A7DF-43DC-8E90-0875CEC112DD</a:ObjectID>\n<a:Name>Reference_9</a:Name>\n<a:Code>Reference_9</a:Code>\n<a:CreationDate>1521791466</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791466</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o241\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1071\">\n<a:ObjectID>31ADEBC6-F176-41A7-8EAA-9AC3B8A253AB</a:ObjectID>\n<a:CreationDate>1521791466</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521791466</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o431\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o29\">\n<a:ObjectID>77C4D61A-9FF5-4B2C-8C48-A2F7DB88ACA3</a:ObjectID>\n<a:Name>Reference_10</a:Name>\n<a:Code>Reference_10</a:Code>\n<a:CreationDate>1521792428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792428</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o242\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1072\">\n<a:ObjectID>F2B169B3-7AC8-4FB1-822D-E1C91DFF6FFD</a:ObjectID>\n<a:CreationDate>1521792428</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792428</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o437\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o32\">\n<a:ObjectID>617A3E38-261B-48D9-B387-A4C69D4A702C</a:ObjectID>\n<a:Name>Reference_11</a:Name>\n<a:Code>Reference_11</a:Code>\n<a:CreationDate>1521792909</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792909</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o243\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1073\">\n<a:ObjectID>00AD7B43-F4CA-45D7-86BB-5756B4ED55BD</a:ObjectID>\n<a:CreationDate>1521792909</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521792909</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o443\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o36\">\n<a:ObjectID>085DA277-2667-4A8D-8E4D-2C4E6787357E</a:ObjectID>\n<a:Name>Reference_12</a:Name>\n<a:Code>Reference_12</a:Code>\n<a:CreationDate>1522045168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045168</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o244\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o245\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o451\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1074\">\n<a:ObjectID>286E06C6-6FAD-4323-82D9-6FB781153C46</a:ObjectID>\n<a:CreationDate>1522045168</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522045168</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o447\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o453\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o38\">\n<a:ObjectID>DC5FEA31-5D2A-491B-A87A-BC45A53A0130</a:ObjectID>\n<a:Name>Reference_13</a:Name>\n<a:Code>Reference_13</a:Code>\n<a:CreationDate>1522046100</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046100</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o244\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o234\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o451\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1075\">\n<a:ObjectID>A2161167-D453-4661-9BF0-71D8908A6C42</a:ObjectID>\n<a:CreationDate>1522046100</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046100</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o447\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o321\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o41\">\n<a:ObjectID>09737ED1-34A7-4624-9B3D-F971732EC3C5</a:ObjectID>\n<a:Name>Reference_14</a:Name>\n<a:Code>Reference_14</a:Code>\n<a:CreationDate>1522046451</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046451</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o246\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1076\">\n<a:ObjectID>E25FF0B6-41E2-4801-8FE9-337EF9B991F7</a:ObjectID>\n<a:CreationDate>1522046451</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046451</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o466\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o43\">\n<a:ObjectID>1299128F-FAC5-44E2-86E2-29EF4E7A1638</a:ObjectID>\n<a:Name>Reference_15</a:Name>\n<a:Code>Reference_15</a:Code>\n<a:CreationDate>1522046456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o245\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o246\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o464\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1077\">\n<a:ObjectID>1E64FE44-48BA-49B0-BDE1-66DA22B89EFF</a:ObjectID>\n<a:CreationDate>1522046456</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522046456</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o452\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o467\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o47\">\n<a:ObjectID>8C8A4C2F-CB98-46EE-A602-698B99A13C3C</a:ObjectID>\n<a:Name>Reference_18</a:Name>\n<a:Code>Reference_18</a:Code>\n<a:CreationDate>1522112691</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112691</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o248\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o249\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o489\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1078\">\n<a:ObjectID>DEE74089-6A6D-4D7E-BADD-76E4D08EFA2D</a:ObjectID>\n<a:CreationDate>1522112691</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112691</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o483\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o491\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o49\">\n<a:ObjectID>0326D95A-002E-4506-89DF-DC650D6B10F6</a:ObjectID>\n<a:Name>Reference_19</a:Name>\n<a:Code>Reference_19</a:Code>\n<a:CreationDate>1522112694</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112694</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o249\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1079\">\n<a:ObjectID>5D44A212-AD69-4958-BAAF-9E16ED63FC67</a:ObjectID>\n<a:CreationDate>1522112694</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522112694</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o492\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o51\">\n<a:ObjectID>62935DB0-A2C4-4D4E-B949-5DE296753EC6</a:ObjectID>\n<a:Name>Reference_20</a:Name>\n<a:Code>Reference_20</a:Code>\n<a:CreationDate>1522114406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522114406</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o239\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1080\">\n<a:ObjectID>ECA8F78C-7015-44EB-9CD2-F72634D7F4BD</a:ObjectID>\n<a:CreationDate>1522114406</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522114406</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o409\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o54\">\n<a:ObjectID>0054659D-2257-491E-BEFD-4E934EF1326A</a:ObjectID>\n<a:Name>Reference_21</a:Name>\n<a:Code>Reference_21</a:Code>\n<a:CreationDate>1522115961</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115961</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o250\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1081\">\n<a:ObjectID>32BD37D4-4436-4069-9BD1-90CF0B1867E0</a:ObjectID>\n<a:CreationDate>1522115961</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115961</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o495\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o56\">\n<a:ObjectID>7FB8F1DE-EB1D-4B05-BC25-7F9A9C34DAC1</a:ObjectID>\n<a:Name>Reference_22</a:Name>\n<a:Code>Reference_22</a:Code>\n<a:CreationDate>1522115983</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115983</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o245\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o250\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o464\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1082\">\n<a:ObjectID>1A23B754-71EE-4496-B70F-0A3268C6F651</a:ObjectID>\n<a:CreationDate>1522115983</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522115983</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o452\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o496\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o59\">\n<a:ObjectID>C8AEC8AC-5477-406C-9A47-85CAC6E9156F</a:ObjectID>\n<a:Name>Reference_23</a:Name>\n<a:Code>Reference_23</a:Code>\n<a:CreationDate>1522118676</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118676</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o251\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1083\">\n<a:ObjectID>1C883E67-84F9-4CD0-A4F5-D7CA2BE15DC5</a:ObjectID>\n<a:CreationDate>1522118676</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522118676</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o499\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o62\">\n<a:ObjectID>6877F189-A5DC-4EC1-A805-D6DF43A175A8</a:ObjectID>\n<a:Name>Reference_24</a:Name>\n<a:Code>Reference_24</a:Code>\n<a:CreationDate>1522119056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119056</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o251\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o252\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o513\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1084\">\n<a:ObjectID>1CE2FCCB-DF37-4C88-99DD-FA8C3EE7A09C</a:ObjectID>\n<a:CreationDate>1522119056</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522119056</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o498\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o515\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o66\">\n<a:ObjectID>9F3EABD4-B8AD-4807-800A-EBB309C50C27</a:ObjectID>\n<a:Name>Reference_25</a:Name>\n<a:Code>Reference_25</a:Code>\n<a:CreationDate>1522120295</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120295</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o253\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o254\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o528\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1085\">\n<a:ObjectID>7D8DC4F2-D0A4-4CE9-B03E-44AE166786C0</a:ObjectID>\n<a:CreationDate>1522120295</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522120295</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o522\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o530\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o70\">\n<a:ObjectID>4D22CD29-D84A-4780-A3CD-E8951913B139</a:ObjectID>\n<a:Name>Reference_26</a:Name>\n<a:Code>Reference_26</a:Code>\n<a:CreationDate>1522138613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o255\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o256\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o549\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1086\">\n<a:ObjectID>7CB99F50-753B-4347-B896-1F18D8FE6691</a:ObjectID>\n<a:CreationDate>1522138613</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138613</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o533\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o551\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o72\">\n<a:ObjectID>FDD92660-6932-4BCE-8F83-2E7A223145EB</a:ObjectID>\n<a:Name>Reference_27</a:Name>\n<a:Code>Reference_27</a:Code>\n<a:CreationDate>1522138618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138618</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o256\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1087\">\n<a:ObjectID>EC89DA87-A575-4940-973B-665854268261</a:ObjectID>\n<a:CreationDate>1522138618</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138618</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o552\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o75\">\n<a:ObjectID>BF5F391A-A0AC-4940-B493-B42F4DEBFE59</a:ObjectID>\n<a:Name>Reference_28</a:Name>\n<a:Code>Reference_28</a:Code>\n<a:CreationDate>1522138705</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138705</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o257\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o255\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o560\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1088\">\n<a:ObjectID>8E1A22EC-2246-48C4-A499-3D8A4D264C09</a:ObjectID>\n<a:CreationDate>1522138705</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522138705</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o554\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o534\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o79\">\n<a:ObjectID>E84C4311-62F4-47BD-A024-62877B7D0ED5</a:ObjectID>\n<a:Name>Reference_30</a:Name>\n<a:Code>Reference_30</a:Code>\n<a:CreationDate>1522141157</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141157</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o247\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o259\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o482\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1089\">\n<a:ObjectID>2EA7348D-C8E8-4FCC-8215-01FE3AD58DFB</a:ObjectID>\n<a:CreationDate>1522141157</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141157</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o470\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o571\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o82\">\n<a:ObjectID>C0A04A49-9B21-4470-8507-D61981F41EF2</a:ObjectID>\n<a:Name>Reference_29</a:Name>\n<a:Code>Reference_29</a:Code>\n<a:CreationDate>1522141232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o255\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o258\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o549\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1090\">\n<a:ObjectID>8B858AAC-D00A-42FE-BEDC-73536876C045</a:ObjectID>\n<a:CreationDate>1522141232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o533\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o562\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o85\">\n<a:ObjectID>E8C1A0E5-7AB4-48DD-96D0-BFC0F9081B35</a:ObjectID>\n<a:Name>Reference_31</a:Name>\n<a:Code>Reference_31</a:Code>\n<a:CreationDate>1522141316</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o260\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o247\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o583\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1091\">\n<a:ObjectID>FC3A22FE-FD24-4DF0-BAC8-22659D3C8987</a:ObjectID>\n<a:CreationDate>1522141317</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522141317</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o577\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o471\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o89\">\n<a:ObjectID>99192031-40EE-41ED-A43C-B27CC1039A2B</a:ObjectID>\n<a:Name>Reference_32</a:Name>\n<a:Code>Reference_32</a:Code>\n<a:CreationDate>1522142006</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142006</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o262\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o261\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o599\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1092\">\n<a:ObjectID>14DB9C0C-F9F0-4D4A-B44E-592028F6E75A</a:ObjectID>\n<a:CreationDate>1522142006</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522142006</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o593\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o585\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o93\">\n<a:ObjectID>C562CD4F-BAD5-44CE-B507-727743B42808</a:ObjectID>\n<a:Name>Reference_33</a:Name>\n<a:Code>Reference_33</a:Code>\n<a:CreationDate>1522215975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o266\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1093\">\n<a:ObjectID>15304E84-71AA-40B1-84CB-904384B34B25</a:ObjectID>\n<a:CreationDate>1522215975</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522215975</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o628\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o95\">\n<a:ObjectID>049BB766-61EB-47C0-B95D-D25AFDB59734</a:ObjectID>\n<a:Name>Reference_34</a:Name>\n<a:Code>Reference_34</a:Code>\n<a:CreationDate>1522216015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216015</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o266\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1094\">\n<a:ObjectID>457237AD-87EB-4A09-BA9F-36198B10D2FF</a:ObjectID>\n<a:CreationDate>1522216015</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216015</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o629\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o98\">\n<a:ObjectID>5D590043-1882-4A9B-8FC1-D9DC8580E02C</a:ObjectID>\n<a:Name>Reference_35</a:Name>\n<a:Code>Reference_35</a:Code>\n<a:CreationDate>1522216251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216251</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o267\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1095\">\n<a:ObjectID>3C2E5F27-A07C-4D88-9357-089D36122A25</a:ObjectID>\n<a:CreationDate>1522216251</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216251</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o634\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o100\">\n<a:ObjectID>B5428618-7278-427D-A8BC-5CCB75A2547F</a:ObjectID>\n<a:Name>Reference_36</a:Name>\n<a:Code>Reference_36</a:Code>\n<a:CreationDate>1522216380</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o267\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1096\">\n<a:ObjectID>A8FA4798-0F1E-4D96-A254-77F5D71F6BBD</a:ObjectID>\n<a:CreationDate>1522216380</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522216380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o635\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o103\">\n<a:ObjectID>849E47A7-94DA-40C1-879A-F1C6E0C5CD19</a:ObjectID>\n<a:Name>Reference_37</a:Name>\n<a:Code>Reference_37</a:Code>\n<a:CreationDate>1522220508</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o268\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1097\">\n<a:ObjectID>5026171A-4B51-4B83-A113-4051F1E4F415</a:ObjectID>\n<a:CreationDate>1522220508</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220508</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o640\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o106\">\n<a:ObjectID>C3B9AA1D-7C7C-4CAD-885D-1542021D30E7</a:ObjectID>\n<a:Name>Reference_38</a:Name>\n<a:Code>Reference_38</a:Code>\n<a:CreationDate>1522220546</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220546</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o268\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1098\">\n<a:ObjectID>462222B9-A203-4D60-A353-A168356E3140</a:ObjectID>\n<a:CreationDate>1522220546</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522220546</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o641\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o109\">\n<a:ObjectID>AF0E4AD5-A4B3-4095-8D2E-FF466A7FFBDC</a:ObjectID>\n<a:Name>Reference_39</a:Name>\n<a:Code>Reference_39</a:Code>\n<a:CreationDate>1522224364</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224364</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o235\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o270\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o375\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1099\">\n<a:ObjectID>BD28F911-4F98-4C9D-9171-E99F60476E2A</a:ObjectID>\n<a:CreationDate>1522224364</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522224364</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o364\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o672\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o112\">\n<a:ObjectID>2E5F5354-7D3D-4CBE-9D6E-F7BF6EE3BB1E</a:ObjectID>\n<a:Name>Reference_40</a:Name>\n<a:Code>Reference_40</a:Code>\n<a:CreationDate>1522225874</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o271\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1100\">\n<a:ObjectID>8D1675C9-7749-4831-A5E6-ACD971AACF57</a:ObjectID>\n<a:CreationDate>1522225874</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522225874</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o678\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o115\">\n<a:ObjectID>C7DCAECF-68BD-47D9-8C52-36A6B50C90C6</a:ObjectID>\n<a:Name>Reference_41</a:Name>\n<a:Code>Reference_41</a:Code>\n<a:CreationDate>1522226077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226077</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o272\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1101\">\n<a:ObjectID>B30347B3-4138-4EA8-A0F5-EF0D9A34E01F</a:ObjectID>\n<a:CreationDate>1522226077</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226077</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o684\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o118\">\n<a:ObjectID>C11B5AAF-045B-4A2E-930C-71B38674EDCB</a:ObjectID>\n<a:Name>Reference_42</a:Name>\n<a:Code>Reference_42</a:Code>\n<a:CreationDate>1522226272</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o255\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o273\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o549\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1102\">\n<a:ObjectID>7D29D8DF-7EF1-4F43-928F-DDAC96A23858</a:ObjectID>\n<a:CreationDate>1522226272</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522226272</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o533\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o690\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o121\">\n<a:ObjectID>B7417B7A-09B8-43CE-A17E-01ACFEC78BF6</a:ObjectID>\n<a:Name>Reference_44</a:Name>\n<a:Code>Reference_44</a:Code>\n<a:CreationDate>1522303390</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303390</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o277\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1103\">\n<a:ObjectID>942BBD31-85B8-46EA-893C-CB327C86F5BA</a:ObjectID>\n<a:CreationDate>1522303390</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303390</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o716\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o123\">\n<a:ObjectID>EF622572-2304-4875-8869-C1821D4BAA12</a:ObjectID>\n<a:Name>Reference_45</a:Name>\n<a:Code>Reference_45</a:Code>\n<a:CreationDate>1522303410</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o277\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1104\">\n<a:ObjectID>1E5174EE-C0B0-4144-98D5-679634DCCAEE</a:ObjectID>\n<a:CreationDate>1522303410</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522303410</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o717\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o127\">\n<a:ObjectID>F7E27FB8-7156-4A4D-BC61-18CCE2DD98AA</a:ObjectID>\n<a:Name>Reference_46</a:Name>\n<a:Code>Reference_46</a:Code>\n<a:CreationDate>1522304178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304178</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o278\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o279\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o733\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1105\">\n<a:ObjectID>BD55704C-3F36-44CC-90E1-143F097FA894</a:ObjectID>\n<a:CreationDate>1522304178</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522304178</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o723\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o735\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o130\">\n<a:ObjectID>4D49B5C2-72FC-4407-9705-D42C0F203767</a:ObjectID>\n<a:Name>Reference_47</a:Name>\n<a:Code>Reference_47</a:Code>\n<a:CreationDate>1522386868</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386868</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o280\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o269\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o754\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1106\">\n<a:ObjectID>17EC5CAA-580C-493D-9C2D-2EA3E9732A78</a:ObjectID>\n<a:CreationDate>1522386868</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522386868</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o741\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o652\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o133\">\n<a:ObjectID>C55C7A99-C315-4D03-AEDF-B5F8BCBCD8A4</a:ObjectID>\n<a:Name>Reference_48</a:Name>\n<a:Code>Reference_48</a:Code>\n<a:CreationDate>1522387461</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387461</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o281\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1107\">\n<a:ObjectID>F469B162-D88C-42A3-B64C-7B2751A4FCE1</a:ObjectID>\n<a:CreationDate>1522387461</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387461</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o756\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o135\">\n<a:ObjectID>CC1956B2-80D6-420D-9596-2ADE9F622A89</a:ObjectID>\n<a:Name>Reference_49</a:Name>\n<a:Code>Reference_49</a:Code>\n<a:CreationDate>1522387526</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387526</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o239\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o281\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o420\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1108\">\n<a:ObjectID>1D18BF30-4375-4618-A1C9-6DC998F248E4</a:ObjectID>\n<a:CreationDate>1522387526</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522387526</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o408\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o757\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o138\">\n<a:ObjectID>74DB905B-E0F5-48AE-81CF-EF09159E2FF7</a:ObjectID>\n<a:Name>Reference_50</a:Name>\n<a:Code>Reference_50</a:Code>\n<a:CreationDate>1522389232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o282\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1109\">\n<a:ObjectID>183F9969-663E-4842-ABC2-C938F02C05E4</a:ObjectID>\n<a:CreationDate>1522389232</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522389232</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o760\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o141\">\n<a:ObjectID>7E2E910E-DFB4-4EB6-901A-B90812F54A87</a:ObjectID>\n<a:Name>Reference_51</a:Name>\n<a:Code>Reference_51</a:Code>\n<a:CreationDate>1522390434</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390434</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o283\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1110\">\n<a:ObjectID>AC355266-228D-4333-8E95-D13F2D176DB4</a:ObjectID>\n<a:CreationDate>1522390434</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390434</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o777\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o144\">\n<a:ObjectID>1BDEC7E5-B286-4BE4-8433-B6BD7A1C975A</a:ObjectID>\n<a:Name>Reference_52</a:Name>\n<a:Code>Reference_52</a:Code>\n<a:CreationDate>1522390644</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390644</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o284\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1111\">\n<a:ObjectID>3A358827-AE90-4AC6-80E6-CA340D69F7F2</a:ObjectID>\n<a:CreationDate>1522390644</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522390644</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o788\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o147\">\n<a:ObjectID>AD855909-C83E-4375-8C80-7C2D7AC7075C</a:ObjectID>\n<a:Name>Reference_53</a:Name>\n<a:Code>Reference_53</a:Code>\n<a:CreationDate>1522391366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391366</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o286\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1112\">\n<a:ObjectID>B0F12E0B-F2E6-40A6-AD2B-9FE858AAA8BE</a:ObjectID>\n<a:CreationDate>1522391366</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391366</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o801\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o150\">\n<a:ObjectID>E0AA6F91-B6EB-44AB-A3FB-B63A84A5DF06</a:ObjectID>\n<a:Name>Reference_54</a:Name>\n<a:Code>Reference_54</a:Code>\n<a:CreationDate>1522391379</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o285\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o286\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o799\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1113\">\n<a:ObjectID>F46C48A9-78A1-4C9A-BD75-DE0ED230A76D</a:ObjectID>\n<a:CreationDate>1522391379</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522391380</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o795\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o802\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o153\">\n<a:ObjectID>BDACC991-AA2F-4A86-A7A7-BE7FD95D68F2</a:ObjectID>\n<a:Name>Reference_55</a:Name>\n<a:Code>Reference_55</a:Code>\n<a:CreationDate>1522396648</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396648</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o287\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1114\">\n<a:ObjectID>711AD4D5-212E-4E3B-BB26-DB79C4BE4E52</a:ObjectID>\n<a:CreationDate>1522396648</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396648</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o805\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o156\">\n<a:ObjectID>953F316F-943C-409D-87E2-A580F91F41DF</a:ObjectID>\n<a:Name>Reference_56</a:Name>\n<a:Code>Reference_56</a:Code>\n<a:CreationDate>1522396864</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o288\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1115\">\n<a:ObjectID>094B7BE5-D0AB-4987-8D74-508A27D3117F</a:ObjectID>\n<a:CreationDate>1522396864</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522396864</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o814\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o159\">\n<a:ObjectID>EBD78B02-B47D-4132-A641-E9C384074F6F</a:ObjectID>\n<a:Name>Reference_57</a:Name>\n<a:Code>Reference_57</a:Code>\n<a:CreationDate>1522659209</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659209</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o295\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1116\">\n<a:ObjectID>8C15D427-62A0-40E7-9B02-84063CC6EB94</a:ObjectID>\n<a:CreationDate>1522659209</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522659209</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o843\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o162\">\n<a:ObjectID>8A0714E1-3D0A-4983-AFD9-0AF0F17B0D22</a:ObjectID>\n<a:Name>Reference_58</a:Name>\n<a:Code>Reference_58</a:Code>\n<a:CreationDate>1522660753</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660753</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o296\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1117\">\n<a:ObjectID>043B7E7F-6688-42FD-BECE-3A4CE5A560F2</a:ObjectID>\n<a:CreationDate>1522660753</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660753</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o888\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o164\">\n<a:ObjectID>3BFC406B-AABB-48D0-BA77-69DB4EE17B0D</a:ObjectID>\n<a:Name>Reference_59</a:Name>\n<a:Code>Reference_59</a:Code>\n<a:CreationDate>1522660820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660820</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o296\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1118\">\n<a:ObjectID>3592DAA0-2C95-48CF-9359-C157A0E27DC3</a:ObjectID>\n<a:CreationDate>1522660820</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522660820</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o890\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o166\">\n<a:ObjectID>E36F0963-FA3D-49E2-99B0-1818EF60077C</a:ObjectID>\n<a:Name>Reference_60</a:Name>\n<a:Code>Reference_60</a:Code>\n<a:CreationDate>1522721755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o280\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o241\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o754\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1119\">\n<a:ObjectID>BEE8D279-8DBF-40B3-899D-5B07570D0AD9</a:ObjectID>\n<a:CreationDate>1522721755</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522721755</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o741\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o432\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o168\">\n<a:ObjectID>31949834-0CD4-4F67-A0A6-FA63B62C6B04</a:ObjectID>\n<a:Name>Reference_61</a:Name>\n<a:Code>Reference_61</a:Code>\n<a:CreationDate>1522724329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724329</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o265\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o295\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o626\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1120\">\n<a:ObjectID>F5D0566A-35C3-4451-9C7D-782BC776C53E</a:ObjectID>\n<a:CreationDate>1522724329</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522724329</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o608\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o844\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o171\">\n<a:ObjectID>AD47F573-29CC-4DB6-AFE1-BA511E55D40F</a:ObjectID>\n<a:Name>Reference_62</a:Name>\n<a:Code>Reference_62</a:Code>\n<a:CreationDate>1522725331</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o297\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1121\">\n<a:ObjectID>3AA8813B-9363-406A-91DF-4AD16E9C3CCA</a:ObjectID>\n<a:CreationDate>1522725331</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522725331</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o910\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o174\">\n<a:ObjectID>16852476-7A1F-4AF5-81A5-D4C089766A13</a:ObjectID>\n<a:Name>Reference_63</a:Name>\n<a:Code>Reference_63</a:Code>\n<a:CreationDate>1522733188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733188</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o300\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1122\">\n<a:ObjectID>DD05624A-7E08-4273-9758-C5EDA1A03134</a:ObjectID>\n<a:CreationDate>1522733188</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522733188</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o924\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o177\">\n<a:ObjectID>5BC95764-C216-4A1C-8602-16F14615F674</a:ObjectID>\n<a:Name>Reference_64</a:Name>\n<a:Code>Reference_64</a:Code>\n<a:CreationDate>1522745521</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745521</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o301\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o300\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o961\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1123\">\n<a:ObjectID>EBF8A4B9-24B3-4D18-82FD-D12F847328C6</a:ObjectID>\n<a:CreationDate>1522745521</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1522745521</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o951\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o925\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o180\">\n<a:ObjectID>98A2D313-20A0-4AD2-B2BE-F85A6867D79D</a:ObjectID>\n<a:Name>Reference_65</a:Name>\n<a:Code>Reference_65</a:Code>\n<a:CreationDate>1533109967</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533109995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o304\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1124\">\n<a:ObjectID>BA7665F0-D173-45C6-AFE8-3C93CF330D79</a:ObjectID>\n<a:CreationDate>1533109970</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533109995</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o969\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o182\">\n<a:ObjectID>814C49F7-4720-47CE-A38D-88721D01BA84</a:ObjectID>\n<a:Name>Reference_66</a:Name>\n<a:Code>Reference_66</a:Code>\n<a:CreationDate>1533115827</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o236\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o304\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o387\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1125\">\n<a:ObjectID>521484A5-B9C4-477D-8D45-97F7B15D7854</a:ObjectID>\n<a:CreationDate>1533115829</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115846</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o376\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o970\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o184\">\n<a:ObjectID>3B60C0B9-CC92-447D-838C-B9BA857608AE</a:ObjectID>\n<a:Name>Reference_67</a:Name>\n<a:Code>Reference_67</a:Code>\n<a:CreationDate>1533115888</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o269\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o304\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o670\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1126\">\n<a:ObjectID>FCADB7B3-0636-44C7-8AB4-067148971867</a:ObjectID>\n<a:CreationDate>1533115896</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1533115911</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o651\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o971\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o187\">\n<a:ObjectID>46FBCD47-38FC-487C-B390-7FE833196F94</a:ObjectID>\n<a:Name>Reference_68</a:Name>\n<a:Code>Reference_68</a:Code>\n<a:CreationDate>1538202362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o306\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o306\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1005\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1127\">\n<a:ObjectID>D2F8A3AD-54BE-4AE4-A988-128511B938A4</a:ObjectID>\n<a:CreationDate>1538202362</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202362</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o995\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o996\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o190\">\n<a:ObjectID>C76888E3-16C6-4761-8136-511A526B6512</a:ObjectID>\n<a:Name>Reference_69</a:Name>\n<a:Code>Reference_69</a:Code>\n<a:CreationDate>1538202471</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202471</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o278\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o307\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o733\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1128\">\n<a:ObjectID>993B6DB6-8CE7-4A56-9273-AA66FB16F4A0</a:ObjectID>\n<a:CreationDate>1538202471</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202471</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o723\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1007\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o193\">\n<a:ObjectID>7D3662ED-D661-4086-BA3C-C9927BAEA31B</a:ObjectID>\n<a:Name>Reference_70</a:Name>\n<a:Code>Reference_70</a:Code>\n<a:CreationDate>1538202492</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202492</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o307\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1129\">\n<a:ObjectID>E47EA734-EA83-4289-8295-068CBD82C878</a:ObjectID>\n<a:CreationDate>1538202492</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202492</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1008\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o196\">\n<a:ObjectID>C27AC470-B6D5-4DEB-8985-4436775FF6EC</a:ObjectID>\n<a:Name>Reference_71</a:Name>\n<a:Code>Reference_71</a:Code>\n<a:CreationDate>1538202586</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o308\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1130\">\n<a:ObjectID>C3D164FC-7971-4ECF-B2F0-6B384C75DB8A</a:ObjectID>\n<a:CreationDate>1538202586</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1011\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o198\">\n<a:ObjectID>6C1E998D-3BE1-473B-A219-C12E87F599FC</a:ObjectID>\n<a:Name>Reference_72</a:Name>\n<a:Code>Reference_72</a:Code>\n<a:CreationDate>1538202588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202588</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o306\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o308\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1005\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1131\">\n<a:ObjectID>5D69B943-755C-4D8A-90CC-525B02C3D50C</a:ObjectID>\n<a:CreationDate>1538202588</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202588</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o995\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1012\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o201\">\n<a:ObjectID>3A33B8D1-62CE-4DF3-9EAE-8F419CAA8AA8</a:ObjectID>\n<a:Name>Reference_73</a:Name>\n<a:Code>Reference_73</a:Code>\n<a:CreationDate>1538202927</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202927</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o278\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o309\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o733\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1132\">\n<a:ObjectID>C4F1E261-E196-4270-8809-851FB823B079</a:ObjectID>\n<a:CreationDate>1538202927</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202927</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o723\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1015\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o203\">\n<a:ObjectID>409CA456-66FD-4551-9709-9B58BAD20CBC</a:ObjectID>\n<a:Name>Reference_74</a:Name>\n<a:Code>Reference_74</a:Code>\n<a:CreationDate>1538202929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202929</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o306\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o309\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1005\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1133\">\n<a:ObjectID>9040B9D2-76A5-43F5-8889-3E21C379E806</a:ObjectID>\n<a:CreationDate>1538202929</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1538202929</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o995\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1016\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o205\">\n<a:ObjectID>D8C09BAD-5666-4751-B992-C48035FB286A</a:ObjectID>\n<a:Name>Reference_75</a:Name>\n<a:Code>Reference_75</a:Code>\n<a:CreationDate>1539746524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o300\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1134\">\n<a:ObjectID>6D41CF48-9B5F-47F1-8391-F0BC65998A26</a:ObjectID>\n<a:CreationDate>1539746524</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1539746524</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o926\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o207\">\n<a:ObjectID>E104E0D2-AE63-4FC2-8695-C31D32B33047</a:ObjectID>\n<a:Name>Reference_76</a:Name>\n<a:Code>Reference_76</a:Code>\n<a:CreationDate>1541490540</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o295\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o268\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o886\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1135\">\n<a:ObjectID>933A26A1-5D64-4E1E-A05E-F70A9A4571A1</a:ObjectID>\n<a:CreationDate>1541490552</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1541490586</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o842\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o642\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o211\">\n<a:ObjectID>490FFEDD-0E16-49CD-83FA-07FE29AB81E1</a:ObjectID>\n<a:Name>Reference_77</a:Name>\n<a:Code>Reference_77</a:Code>\n<a:CreationDate>1542179374</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179374</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o276\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o311\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o714\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1136\">\n<a:ObjectID>CF2A4EB2-4046-4B11-A333-E288CA091AFF</a:ObjectID>\n<a:CreationDate>1542179374</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179374</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o708\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1027\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o214\">\n<a:ObjectID>C932213B-EF31-4E19-9C72-6C17A0AFDB6D</a:ObjectID>\n<a:Name>Reference_78</a:Name>\n<a:Code>Reference_78</a:Code>\n<a:CreationDate>1542179394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o310\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o311\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1025\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1137\">\n<a:ObjectID>F03E2D7F-4760-4BDE-AB11-2394F26DB466</a:ObjectID>\n<a:CreationDate>1542179394</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179394</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1019\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1028\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o216\">\n<a:ObjectID>17B2ADB4-4810-47D6-B703-99E62E4AFA4D</a:ObjectID>\n<a:Name>Reference_79</a:Name>\n<a:Code>Reference_79</a:Code>\n<a:CreationDate>1542179438</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o234\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o311\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o359\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1138\">\n<a:ObjectID>389ADFA5-E125-4583-ADBE-95053D3F0C72</a:ObjectID>\n<a:CreationDate>1542179440</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1542179474</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o317\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1029\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o219\">\n<a:ObjectID>4E8DE47E-16C3-4F6B-B284-06B30C3CB07D</a:ObjectID>\n<a:Name>Reference_80</a:Name>\n<a:Code>Reference_80</a:Code>\n<a:CreationDate>1580625109</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625129</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o312\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o312\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1044\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1139\">\n<a:ObjectID>9085DD5C-8F83-493E-9CFE-628DA54C8B96</a:ObjectID>\n<a:CreationDate>1580625109</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625129</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1035\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1036\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o222\">\n<a:ObjectID>46BCEBF1-E21B-4EB3-A8DE-A5A2BAFFFBB6</a:ObjectID>\n<a:Name>Reference_81</a:Name>\n<a:Code>Reference_81</a:Code>\n<a:CreationDate>1580625333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625333</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o314\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1140\">\n<a:ObjectID>A48E310F-1E8C-4B06-AF1B-4D070613C9E4</a:ObjectID>\n<a:CreationDate>1580625333</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625333</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1053\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o224\">\n<a:ObjectID>D4BF3C8D-A91A-4E49-82E9-CB738227C8C8</a:ObjectID>\n<a:Name>Reference_82</a:Name>\n<a:Code>Reference_82</a:Code>\n<a:CreationDate>1580625352</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625352</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o312\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o314\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1044\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1141\">\n<a:ObjectID>BF0FFD9A-62E7-47E9-84FB-9F2E08021926</a:ObjectID>\n<a:CreationDate>1580625352</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625352</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1035\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1054\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o227\">\n<a:ObjectID>2E6DA228-0727-43B1-8814-D25233A0BCC6</a:ObjectID>\n<a:Name>Reference_83</a:Name>\n<a:Code>Reference_83</a:Code>\n<a:CreationDate>1580625421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o305\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o315\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o994\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1142\">\n<a:ObjectID>6F492BCB-5604-4D5C-9DFE-B622A7D5FC91</a:ObjectID>\n<a:CreationDate>1580625421</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625421</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o987\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1057\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o230\">\n<a:ObjectID>CB1FAF78-7706-4745-8F2F-A9B2BDCFA7D2</a:ObjectID>\n<a:Name>Reference_84</a:Name>\n<a:Code>Reference_84</a:Code>\n<a:CreationDate>1580625435</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625435</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o313\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o315\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1051\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1143\">\n<a:ObjectID>B77FA1D0-9DDC-4FD9-B5FA-24CF8FE39B40</a:ObjectID>\n<a:CreationDate>1580625435</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580625435</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1045\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1058\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n<o:Reference Id=\"o233\">\n<a:ObjectID>F00FBAAE-944C-4129-B221-009502135923</a:ObjectID>\n<a:Name>Reference_85</a:Name>\n<a:Code>Reference_85</a:Code>\n<a:CreationDate>1580869150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:Cardinality>0..*</a:Cardinality>\n<a:UpdateConstraint>1</a:UpdateConstraint>\n<a:DeleteConstraint>1</a:DeleteConstraint>\n<c:ParentTable>\n<o:Table Ref=\"o316\"/>\n</c:ParentTable>\n<c:ChildTable>\n<o:Table Ref=\"o313\"/>\n</c:ChildTable>\n<c:ParentKey>\n<o:Key Ref=\"o1064\"/>\n</c:ParentKey>\n<c:Joins>\n<o:ReferenceJoin Id=\"o1144\">\n<a:ObjectID>6D8367E1-F1BA-4FAF-A735-B63D8A8D5D7A</a:ObjectID>\n<a:CreationDate>1580869150</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1580869150</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<c:Object1>\n<o:Column Ref=\"o1060\"/>\n</c:Object1>\n<c:Object2>\n<o:Column Ref=\"o1046\"/>\n</c:Object2>\n</o:ReferenceJoin>\n</c:Joins>\n</o:Reference>\n</c:References>\n<c:DefaultGroups>\n<o:Group Id=\"o1145\">\n<a:ObjectID>48492A0F-63AD-4453-B46B-89915CC87545</a:ObjectID>\n<a:Name>PUBLIC</a:Name>\n<a:Code>PUBLIC</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521705583</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n</o:Group>\n</c:DefaultGroups>\n<c:TargetModels>\n<o:TargetModel Id=\"o1146\">\n<a:ObjectID>232AA7B8-E743-48F3-9530-102684B229BE</a:ObjectID>\n<a:Name>MySQL 5.0</a:Name>\n<a:Code>MYSQL50</a:Code>\n<a:CreationDate>1521705583</a:CreationDate>\n<a:Creator>zhenghong</a:Creator>\n<a:ModificationDate>1521705583</a:ModificationDate>\n<a:Modifier>zhenghong</a:Modifier>\n<a:TargetModelURL>file:///%_DBMS%/mysql50.xdb</a:TargetModelURL>\n<a:TargetModelID>F4F16ECD-F2F1-4006-AF6F-638D5C65F35E</a:TargetModelID>\n<a:TargetModelClassID>4BA9F647-DAB1-11D1-9944-006097355D9B</a:TargetModelClassID>\n<a:TargetModelLastModificationDate>1276524678</a:TargetModelLastModificationDate>\n<c:SessionShortcuts>\n<o:Shortcut Ref=\"o3\"/>\n</c:SessionShortcuts>\n</o:TargetModel>\n</c:TargetModels>\n</o:Model>\n</c:Children>\n</o:RootObject>\n\n</Model>"
  },
  {
    "path": "document/pos/业务架构图.pos",
    "content": "{\"diagram\":{\"elements\":{\"elements\":{\"gFjaTzhVWb705152\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"秒杀时间段管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":12},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":81,\"w\":105,\"h\":29,\"x\":866.3404515965917,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"gFjaTzhVWb705152\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"zhfJkALVMN664836\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"优惠券管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":78,\"w\":105,\"h\":29,\"x\":745.3404515965917,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"zhfJkALVMN664836\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"RxbGsVxHoP748309\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"EaILaSwFhZ613659\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"GZSykWvAki763059\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"IUtciImCYS077556\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"IuYiIkUuRY958316\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"gWlWppHOSV844881\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":65,\"w\":270,\"h\":226,\"x\":445.79405716881297,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangle\",\"fillStyle\":{\"color\":\"204,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"RxbGsVxHoP748309\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"xBwizqFcUj432362\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":50,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"xBwizqFcUj432362\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"rYMQQkQmRP982685\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"推荐商品\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":124,\"w\":105,\"h\":29,\"x\":464.2202351749778,\"angle\":0,\"y\":337.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"rYMQQkQmRP982685\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"cphOiLhDkk821849\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"删除订单\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":72,\"w\":105,\"h\":29,\"x\":587.3404515965917,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"cphOiLhDkk821849\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"JmqKkxvEIl640239\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"菜单管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":63,\"w\":105,\"h\":29,\"x\":1030.6333211263025,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"JmqKkxvEIl640239\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"EnphzYkGWe380510\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"角色管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":62,\"w\":105,\"h\":29,\"x\":1030.6333211263025,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"EnphzYkGWe380510\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"KOisJWquiT732485\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"用户管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":61,\"w\":105,\"h\":29,\"x\":1030.6333211263025,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"KOisJWquiT732485\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"aoVslEwkcs940741\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"功能模块\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":90,\"w\":105,\"h\":29,\"x\":310.4333241780599,\"angle\":0,\"y\":212.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"aoVslEwkcs940741\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"AWkYHOGvzN127886\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"mall项目业务架构图\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":18,\"textAlign\":\"center\",\"bold\":true},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"YrbrubszWw867388\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"RtlnVxnRZR884923\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"ZeVFWWopxv316119\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"QgaYuPwEhH070759\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"KxSEqJAPlG032559\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":125,\"w\":1126.6999969482422,\"h\":43,\"x\":29.43332417805989,\"y\":103.08383533207946,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{\"color\":\"255,204,153\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"AWkYHOGvzN127886\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"OsJJkIgPnB134202\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"我的足迹\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":12},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":109,\"w\":105,\"h\":29,\"x\":746.0071461718952,\"angle\":0,\"y\":257.5838353320795},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"OsJJkIgPnB134202\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"zqXrwamJYe178870\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"下单\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":120,\"w\":105,\"h\":29,\"x\":1028.5594991324672,\"angle\":0,\"y\":297.8111080593523},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"zqXrwamJYe178870\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"gyddmsZrZO783056\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品关联\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":55,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"gyddmsZrZO783056\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"juPyMUQnIv872206\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"人气推荐\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":94,\"w\":105,\"h\":29,\"x\":310.4333241780599,\"angle\":0,\"y\":294.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"juPyMUQnIv872206\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"ZPgemIfiRU382572\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"订单管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":67,\"w\":105,\"h\":29,\"x\":467.3404515965918,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"ZPgemIfiRU382572\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"BeGEoHirxK584111\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品详情\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":99,\"w\":105,\"h\":29,\"x\":592.2202351749776,\"angle\":0,\"y\":212.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"BeGEoHirxK584111\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"KkgguedGnd671253\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品规格和参数\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":12},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":101,\"w\":105,\"h\":29,\"x\":592.2202351749776,\"angle\":0,\"y\":255.12928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"KkgguedGnd671253\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"TkkqZVLxjE737522\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"我的功能\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"YnemHyjteA101111\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"PlTKyOAeFd588600\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"GzYuYkfWYv356431\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"SpmpvsDinF472310\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"fkLRtJaSIu539404\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":107,\"w\":121,\"x\":802.0809681657306,\"h\":43,\"y\":166.62928987753398,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"TkkqZVLxjE737522\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"pokqNFjnxg202909\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"订单发货\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":68,\"w\":105,\"h\":29,\"x\":467.3404515965918,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"pokqNFjnxg202909\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"RDiUzvefWu223779\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"品牌推荐\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":82,\"w\":105,\"h\":29,\"x\":866.3404515965917,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"RDiUzvefWu223779\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"vUcbzPESWW583964\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"首页门户\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"ZEryNEZiEF644277\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"kUGbsbssoh033754\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"GkuRtzJtLg770645\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"PFsgEXxDog102185\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"lzElCRCFlx125246\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":89,\"w\":121,\"x\":235.93332417805982,\"h\":43,\"y\":166.62928987753398,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"vUcbzPESWW583964\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"pyEzuuRkEZ057034\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"专题推荐\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":80,\"w\":105,\"h\":29,\"x\":745.3404515965917,\"angle\":0,\"y\":585.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"pyEzuuRkEZ057034\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"GiFHqxHbIc935689\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"我的关注\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":110,\"w\":105,\"h\":29,\"x\":874.0071461718952,\"angle\":0,\"y\":257.5838353320795},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"GiFHqxHbIc935689\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"gKlQRirxEW041150\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品分类\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":97,\"w\":105,\"h\":29,\"x\":464.22023517497763,\"angle\":0,\"y\":212.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"gKlQRirxEW041150\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"FIzVGmweOW727448\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"秒杀专区\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":92,\"w\":105,\"h\":29,\"x\":310.4333241780599,\"angle\":0,\"y\":255.12928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"FIzVGmweOW727448\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"cwdunmEify239562\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"KNzTFgGPPW900739\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"VOBYTDHEcC526051\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"adUIpaxgXL342784\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"mTIEBfczCK689318\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"QnqlebbBdK619237\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":52,\"w\":146,\"h\":226,\"x\":1010.133321126302,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangle\",\"fillStyle\":{\"color\":\"204,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"cwdunmEify239562\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"wfKcxzQDqK222530\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"订单模块\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"XJblzlKxtu158509\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"FBVyRaTCmu383162\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"jxMBzBthEL456297\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"NxbnVsuVNs333588\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"OQzJYqLmHG357011\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":66,\"w\":121,\"x\":520.294057168813,\"h\":43,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"wfKcxzQDqK222530\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"bLzboZNkWR855046\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"商品模块\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"fLyHmRfCDw582947\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"oxhLSeSodi851816\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"lXkmFBZVRf601539\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"ArWtANYnFB190356\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"ThlwXMHCgN316804\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":51,\"w\":121,\"x\":235.93332417805982,\"h\":43,\"y\":418.12928987753406,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"bLzboZNkWR855046\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"smPmcgRzrd057179\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"新品推荐\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":79,\"w\":105,\"h\":29,\"x\":745.3404515965917,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"smPmcgRzrd057179\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"TOMcYmjPud549805\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"人气推荐\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":83,\"w\":105,\"h\":29,\"x\":866.3404515965917,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"TOMcYmjPud549805\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"jqbaWwuoaR274843\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"商品功能\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"hdtvCBgsNl673305\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"noFEOTLRpO893520\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"DydyYoLZLZ257828\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"zSVscdIxpE750828\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"RDZzcFoneM727205\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":98,\"w\":121,\"x\":517.7202351749776,\"h\":43,\"y\":166.62928987753398,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"jqbaWwuoaR274843\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"KeQFeUmpBW326963\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"推荐商品\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":103,\"w\":105,\"h\":29,\"x\":592.2202351749776,\"angle\":0,\"y\":294.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"KeQFeUmpBW326963\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"MTWXzeUYTd465160\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"前台商城\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"bold\":true},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":47,\"w\":121,\"h\":226,\"x\":29.433324178059898,\"y\":166.62928987753398,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,153\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"MTWXzeUYTd465160\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"rsCivDXCrn378213\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"资源管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":64,\"w\":105,\"h\":29,\"x\":1030.6333211263025,\"angle\":0,\"y\":585.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"rsCivDXCrn378213\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"KicIIepAzg159199\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"猜你喜欢\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":95,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":337.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"KicIIepAzg159199\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"GNmKCHnjbb650283\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-10\",\"h\":\"h*(1/7)-2\",\"x\":\"5\",\"y\":\"2\"},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"容器\",\"dataAttributes\":[],\"props\":{\"zindex\":41,\"w\":270,\"h\":221.090909090909,\"x\":164.00714617189524,\"angle\":0,\"y\":166.62928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangleContainer\",\"theme\":{},\"fillStyle\":{\"color\":\"255,249,196\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"GNmKCHnjbb650283\",\"category\":\"uml_usecase\",\"locked\":false,\"group\":\"\"},\"XUFnEVXhLi732706\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品分类管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":59,\"w\":105,\"h\":29,\"x\":304.4333241780599,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"XUFnEVXhLi732706\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"HDUMgylXsd355484\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"新鲜好物\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":93,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":294.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"HDUMgylXsd355484\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"gglZmkqOuv827023\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品列表\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":100,\"w\":105,\"h\":29,\"x\":464.22023517497763,\"angle\":0,\"y\":255.12928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"gglZmkqOuv827023\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"yQChJVQNnW173354\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"营销模块\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"ubaGbpsXUX903298\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"fVSRaVLuOh471737\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"ugRlOGeStX734209\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"mDGLlGApfx971888\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"StxHWMyaTC941282\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":76,\"w\":121,\"x\":803.3571446460163,\"h\":43,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"yQChJVQNnW173354\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"FYMQNwRKtm476206\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"退货原因处理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":88,\"w\":105,\"h\":29,\"x\":589.5286152051592,\"angle\":0,\"y\":587.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"FYMQNwRKtm476206\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"vhZIguLHBS742132\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"设置\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":113,\"w\":105,\"h\":29,\"x\":746.0071461718952,\"angle\":0,\"y\":340.8111080593523},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"vhZIguLHBS742132\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"suawDnlFYG471019\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品SKU管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":54,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"suawDnlFYG471019\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"ePsRNjidSv493346\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"生成确认单\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":118,\"w\":105,\"h\":29,\"x\":1028.5594991324672,\"angle\":0,\"y\":258.81110805935225},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"ePsRNjidSv493346\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"XNZrioLAZM361067\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"<font color=\\\"#323232\\\">订单设置</font>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":73,\"w\":105,\"h\":29,\"x\":587.3404515965917,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"XNZrioLAZM361067\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"XXbftPupjX332177\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"我的优惠券\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":106,\"w\":105,\"h\":29,\"x\":746.0071461718952,\"angle\":0,\"y\":214.5838353320795},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"XXbftPupjX332177\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"UOPEAOAelQ506789\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"查看订单\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":71,\"w\":105,\"h\":29,\"x\":587.3404515965917,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"UOPEAOAelQ506789\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"HcQQFhJfdr644904\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"秒杀活动管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":77,\"w\":105,\"h\":29,\"x\":745.3404515965917,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"HcQQFhJfdr644904\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"RRmNaWSnTN804519\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"新鲜商品\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":102,\"w\":105,\"h\":29,\"x\":464.22023517497763,\"angle\":0,\"y\":294.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"RRmNaWSnTN804519\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"LQzmqTPbvq252367\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"订单管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":122,\"w\":105,\"h\":29,\"x\":1028.5594991324672,\"angle\":0,\"y\":340.8111080593523},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"LQzmqTPbvq252367\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"TCOAUbXrpY426094\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"<font color=\\\"#323232\\\">订单流程</font>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"urNBTTfHoh776970\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"bzYKWbRyZB754317\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"hwdTxogyMC417540\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"MMClVUijuZ348051\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"RIplEviGPD597114\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":116,\"w\":121,\"x\":1020.5594991324671,\"h\":43,\"y\":166.62928987753398,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"TCOAUbXrpY426094\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"hjGpZjaFpW132293\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"dfulUDNrpK923288\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"eGBaSOGIkF464939\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"fXSNyGyXyo491048\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"NbdKbGMSws027484\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"RJCKjFogVn071434\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":49,\"w\":270,\"h\":226,\"x\":164.00714617189524,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangle\",\"fillStyle\":{\"color\":\"204,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"hjGpZjaFpW132293\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"OqYIatSNkA505946\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"添加/编辑商品\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":13},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":57,\"w\":105,\"h\":29,\"x\":304.4333241780599,\"angle\":0,\"y\":465.12928987753406},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"OqYIatSNkA505946\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"oUUOieixhC172194\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"广告管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":84,\"w\":105,\"h\":29,\"x\":866.3404515965917,\"angle\":0,\"y\":585.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"oUUOieixhC172194\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"HkcCaxqqWe104801\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品类型管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":85,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":587.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"HkcCaxqqWe104801\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"BnuqfctERh586050\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-10\",\"h\":\"h*(1/7)-2\",\"x\":\"5\",\"y\":\"2\"},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"容器\",\"dataAttributes\":[],\"props\":{\"zindex\":114,\"w\":146,\"h\":221.090909090909,\"x\":1010.133321126302,\"angle\":0,\"y\":170.31110805935222},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangleContainer\",\"theme\":{},\"fillStyle\":{\"color\":\"255,249,196\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"BnuqfctERh586050\",\"category\":\"uml_usecase\",\"locked\":false,\"group\":\"\"},\"mpOPsrmPua056760\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"品牌管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":86,\"w\":105,\"h\":29,\"x\":304.4333241780599,\"angle\":0,\"y\":587.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"mpOPsrmPua056760\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"iGPonNaEme287758\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"我的评价\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":112,\"w\":105,\"h\":29,\"x\":874.0071461718952,\"angle\":0,\"y\":296.58383533207956},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"iGPonNaEme287758\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"SaUGHkVsIM921860\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"购物车\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":115,\"w\":105,\"h\":29,\"x\":1028.5594991324672,\"angle\":0,\"y\":215.81110805935225},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"SaUGHkVsIM921860\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"MzgZmAOJMw815980\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"订单跟踪\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":69,\"w\":105,\"h\":29,\"x\":467.3404515965918,\"angle\":0,\"y\":546.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"MzgZmAOJMw815980\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"XCHOFxZMvd440245\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"gvhvbsNkWS138519\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"XaWqXaUiMP915222\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"pIkwRvpGEe940545\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"kHnDpLmEJF806652\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"PlgMduElsC288132\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":75,\"w\":270,\"h\":226,\"x\":727.5809681657306,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangle\",\"fillStyle\":{\"color\":\"204,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"XCHOFxZMvd440245\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"jFkaaGQfRQ890574\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"轮播广告\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":45,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":212.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"jFkaaGQfRQ890574\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"ImiRNTFEzN858756\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"品牌制造商直供\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":12},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":91,\"w\":105,\"h\":29,\"x\":182.43332417805985,\"angle\":0,\"y\":255.12928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"ImiRNTFEzN858756\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"gXxudshRMG346210\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"退货申请处理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":87,\"w\":105,\"h\":29,\"x\":469.52861520515927,\"angle\":0,\"y\":587.129289877534},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"gXxudshRMG346210\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"SFsTHAVKZd537577\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"地址管理\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":108,\"w\":105,\"h\":29,\"x\":874.0071461718952,\"angle\":0,\"y\":214.5838353320795},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"SFsTHAVKZd537577\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"yQfyWAudRl330962\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"x\":0,\"h\":\"h\",\"y\":0},\"text\":\"权限模块\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"文本\",\"fontStyle\":{\"size\":17,\"bold\":true},\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"HCcpZaDtSB572232\",\"type\":\"number\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"rixeIcOFbX932606\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"OWvxCdTZtJ580781\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"noAQaNBhAs180229\",\"type\":\"link\",\"category\":\"default\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"PlSCZlJniJ252410\",\"type\":\"string\",\"category\":\"default\",\"value\":\"\"}],\"props\":{\"zindex\":53,\"w\":121,\"x\":1022.6333211263023,\"h\":43,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"theme\":{},\"id\":\"yQfyWAudRl330962\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"nlaedBIcPI872259\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-10\",\"h\":\"h*(1/7)-2\",\"x\":\"5\",\"y\":\"2\"},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"容器\",\"dataAttributes\":[],\"props\":{\"zindex\":96,\"w\":270,\"h\":221.090909090909,\"x\":445.794057168813,\"angle\":0,\"y\":166.62928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangleContainer\",\"theme\":{},\"fillStyle\":{\"color\":\"255,249,196\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"nlaedBIcPI872259\",\"category\":\"uml_usecase\",\"locked\":false,\"group\":\"\"},\"LJnCzSMyBI993583\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"我的收藏\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":111,\"w\":105,\"h\":29,\"x\":746.0071461718952,\"angle\":0,\"y\":296.58383533207956},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"187,222,251\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"LJnCzSMyBI993583\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"TUWZPArNXh717856\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"后台管理系统\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"bold\":true},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":48,\"w\":121,\"h\":226,\"x\":29.433324178059898,\"y\":415.62928987753406,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,153\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"TUWZPArNXh717856\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"fxfLSSLSml221089\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"商品促销\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14},\"title\":\"简单类\",\"dataAttributes\":[],\"props\":{\"zindex\":58,\"w\":105,\"h\":29,\"x\":304.4333241780599,\"angle\":0,\"y\":505.1292898775341},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"simpleClass\",\"fillStyle\":{\"color\":\"153,255,204\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"fxfLSSLSml221089\",\"category\":\"uml_class\",\"locked\":false,\"group\":\"\"},\"iGSAUFedHL360166\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-10\",\"h\":\"h*(1/7)-2\",\"x\":\"5\",\"y\":\"2\"},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"fontFamily\":\"微软雅黑\",\"size\":14,\"textAlign\":\"left\",\"bold\":true,\"vAlign\":\"top\"},\"title\":\"容器\",\"dataAttributes\":[],\"props\":{\"zindex\":105,\"w\":270,\"h\":221.090909090909,\"x\":727.5809681657306,\"angle\":0,\"y\":166.62928987753398},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"rectangleContainer\",\"theme\":{},\"fillStyle\":{\"color\":\"255,249,196\",\"type\":\"solid\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"iGSAUFedHL360166\",\"category\":\"uml_usecase\",\"locked\":false,\"group\":\"\"}},\"page\":{\"padding\":20,\"backgroundColor\":\"transparent\",\"orientation\":\"portrait\",\"gridSize\":15,\"width\":1326,\"showGrid\":true,\"lineJumps\":false,\"height\":843},\"version\":229}},\"meta\":{\"exportTime\":\"2023-07-23 09:43:42\",\"member\":\"\",\"diagramInfo\":{\"creator\":\"\",\"created\":\"2023-06-25 10:41:46\",\"modified\":\"2023-06-25 16:19:23\",\"title\":\"mall项目业务架构图\",\"category\":\"flow\"},\"id\":\"6497a96ac13b041a4c7515fa\",\"type\":\"ProcessOn Schema File\",\"version\":\"1.0\"}}"
  },
  {
    "path": "document/pos/系统架构图.pos",
    "content": "{\"diagram\":{\"elements\":{\"elements\":{\"MMaLAUsWap276366\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"\",\"fontStyle\":{},\"dataAttributes\":[],\"props\":{\"zindex\":196,\"w\":40,\"x\":620.9713635391222,\"h\":40,\"y\":239.70763745478865,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\",\"l\",\"t\",\"r\",\"b\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":200,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5df1f6a6e4b0c4255e96d825?e=1576142006&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:1syM2a0D54ljvI8LPam4JSz-zNo=\"},\"theme\":{},\"id\":\"MMaLAUsWap276366\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"fixedLink\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63ca1a3d1b7\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":105,\"w\":40,\"h\":40,\"x\":140.48834524818568,\"y\":206.4158217204619,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb8cce4b0754822a3fcd6?e=1573635804&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:vsBdSB9aQgAxFYAyUX7nG_XwxYA=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63ca1a3d1b7\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63942c5b4f\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":40,\"w\":0,\"h\":0,\"x\":836.3167103892846,\"y\":3.8611047284740985,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63942c5b4f\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63b2deb1896\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":57,\"w\":0,\"h\":0,\"x\":745.3472145928276,\"angle\":0,\"y\":415.3611092037625},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63b2deb1896\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c9f8c29c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":104,\"w\":0,\"h\":0,\"x\":900.0450858349252,\"angle\":0,\"y\":429.22593463018285},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb8d4e4b0e3a6348d604a?e=1573635812&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3wKgKDsu7aXDSn6CegC2xH1iCng=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c9f8c29c\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"VWxGBGWOeN617144\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"反向代理<div>负载均衡</div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"ygkSFkgdlz495397\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"QgVUPbkwph397120\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"eKZgJyEZSt869616\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"ZgYHtvNRmi204845\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"jUKweuoRPC917678\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":180,\"w\":95.55555555555549,\"h\":40,\"x\":705.3895105723201,\"angle\":0,\"y\":312.78486145416394},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"VWxGBGWOeN617144\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"1709b6b50d724b\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"持续集成\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"1709b6b59b02d6\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"1709b6b59b076b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"1709b6b59b0135\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"1709b6b59b08d\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"1709b6b59b05d5\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":174,\"w\":160,\"h\":40,\"x\":103.54633265518544,\"angle\":0,\"y\":537.7573613780348},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"1709b6b50d724b\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e6390e6892e2\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":32,\"w\":0,\"h\":0,\"x\":859.3486447294913,\"y\":208.26164864341877,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbaa37e4b0ffd2144848a1?e=1573632072&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3meU1Zv00FOWqGqZicDFwFnKidg=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e6390e6892e2\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c31d68973\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":93,\"w\":40,\"h\":40,\"x\":819.8951386004039,\"angle\":0,\"y\":713.562136888869},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb70de4b0fc314a101c70?e=1573635357&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UT9KmMN3Pg7M81GVVOLSCHN_U1c=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c31d68973\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c3b438aec\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c3b438094\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c3b438628\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c3b4380b5\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c3b438d9\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c3b43893f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":92,\"w\":103.88922113155456,\"h\":114.5,\"x\":789.4424166865122,\"y\":694.8265739841318,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c3b438aec\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"EXVIllXmxc752385\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"HTTP\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"UBzJiDbSNU496992\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"XXdnWItKSG119773\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"uwThQlfTwX853603\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"yTQAwsoPEu191549\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"RfHNcwozKq296498\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":177,\"w\":95.55555555555549,\"h\":40,\"x\":474.9259840143726,\"angle\":0,\"y\":312.78486145416394},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"EXVIllXmxc752385\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63bf00e2efa\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":81,\"w\":40,\"h\":40,\"x\":1104.1896066629333,\"y\":710.2556837790833,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb5cee4b0e3a6348d549e?e=1573635038&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:MgQCvcHhtI2mWv4MWo3uMoUNAXY=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bf00e2efa\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63f2fd9f5ca\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"容器化部署\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63f2fda078b\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63f2fda05af\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63f2fda0bda\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63f2fda06a9\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63f2fda022f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":156,\"w\":160,\"h\":40,\"x\":404.9259840143725,\"angle\":0,\"y\":537.245653572957},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63f2fd9f5ca\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"1709b6b08f4878\":{\"textBlock\":[],\"dataAttributes\":[],\"points\":[{\"x\":949.5866282768692,\"y\":592.7549358176395},{\"x\":118.82221306694879,\"y\":592.7549358176395}],\"props\":{\"zindex\":173},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":949.5866282768692,\"angle\":4.71238898038469,\"y\":490.6832976511474,\"id\":\"16e63793ab0ab6\"},\"to\":{\"x\":118.82221306694879,\"angle\":1.5707963267948968,\"y\":694.8265739841315,\"id\":\"1709b6885076b6\"},\"id\":\"1709b6b08f4878\",\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63cc13aaed4\":{\"textBlock\":[],\"points\":[{\"x\":274.21664663456,\"y\":235.04830320845946},{\"x\":274.21664663456,\"y\":354.9165862068408}],\"dataAttributes\":[],\"props\":{\"zindex\":109},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":214.47449546683922,\"y\":235.04830320845946,\"angle\":3.141592653589793,\"id\":\"16e63c98116389\"},\"id\":\"16e63cc13aaed4\",\"to\":{\"x\":333.95879780228074,\"y\":354.9165862068408,\"angle\":0,\"id\":\"16e6371f9451f4\"},\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63b29e3e54d\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":56,\"w\":0,\"h\":0,\"x\":745.3472145928276,\"y\":415.3611092037625,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb2d9e4b0bd68d814f129?e=1573634281&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:yBh26Ng-mS_OoZQZr16wAfkB-j8=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63b29e3e54d\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63ba5d3e895\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":70,\"w\":0,\"h\":0,\"x\":853.0200821632791,\"y\":297.5759350116526,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb4d5e4b022abb632cc27?e=1573634789&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:H9HIw4e0cEmInoy1jR72UnAd7x0=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63ba5d3e895\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c77c26192\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"OSS/MinIO\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c7840cb7a\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c7840c92b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c7840c05f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c7840cea4\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c7840cbff\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":99,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":547.7212776015909,\"y\":756.0830110467409,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c77c26192\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c6cc83b6c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":96,\"w\":0,\"h\":0,\"x\":893.3472260369194,\"y\":539.7361187405056,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb804e4b059bcd1933b55?e=1573635604&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:wFb2po3OWQ-mHCT5mSrB_-AtUYw=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c6cc83b6c\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63d6b1bf41\":{\"textBlock\":[],\"dataAttributes\":[],\"points\":[{\"x\":1216.6378622558195,\"y\":354.89011061203314,\"fixed\":true}],\"props\":{\"zindex\":123},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":1109.013260413077,\"angle\":3.141592653589793,\"y\":354.89011061203314,\"id\":\"16e63793ab0ab6\"},\"to\":{\"x\":1216.6378622558195,\"angle\":1.5707963267948968,\"y\":709.8451380048782,\"id\":\"16e63c033fa0a3\"},\"id\":\"16e63d6b1bf41\",\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63c033fa0a3\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":84,\"w\":40,\"h\":40,\"x\":1196.6378622558195,\"y\":709.8451380048782,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb64fe4b04c4c382452b4?e=1573635167&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:kxtQaIXkGpk5f1GLsaDgri2qz1E=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c033fa0a3\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c309bba7d\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":89,\"w\":0,\"h\":0,\"x\":893.3472260369194,\"angle\":0,\"y\":515.3611187405056},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb70de4b0fc314a101c70?e=1573635357&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UT9KmMN3Pg7M81GVVOLSCHN_U1c=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c309bba7d\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63b91c7dde4\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":68,\"w\":0,\"h\":0,\"x\":853.0200821632791,\"y\":297.5759350116526,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb483e4b0e3a6348d4f76?e=1573634707&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:svCZWOnfCwgLSxWg7yjQxTacWIo=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63b91c7dde4\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63f29c83e32\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Docker\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63f2a8e0163\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63f2a8e089b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63f2a8e0724\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63f2a8e06c8\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63f2a8e0e98\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":152,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":317.51420931843427,\"y\":759.273693120078,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63f29c83e32\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c022ff8dd\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":83,\"w\":0,\"h\":0,\"x\":893.3472260369194,\"angle\":0,\"y\":515.3611187405056},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb64fe4b04c4c382452b4?e=1573635167&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:kxtQaIXkGpk5f1GLsaDgri2qz1E=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c022ff8dd\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63e307a1c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"搜索数据存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63e327ef783\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63e327ef9fb\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63e327ef3df\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63e327ef615\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63e327ef64b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":139,\"w\":22.500000000000227,\"h\":108.59949803886639,\"x\":1398.9869925977307,\"y\":420.76773621834604,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63e307a1c\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"YkeQtreJoM029766\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Nginx\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"ChpQUnaBYO072356\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"WIzZjNJAsm143421\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"IBDnSxYfQM497192\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"joZFvEKAXX319970\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"tnfIZoAtbp751094\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":193,\"w\":153.7870136449784,\"h\":28.98580350057074,\"x\":564.077856716633,\"angle\":0,\"y\":441.764149532312},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"YkeQtreJoM029766\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"1709b6885077e2\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Jenkins\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"1709b688e48449\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"1709b688e4882e\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"1709b688e48151\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"1709b688e48618\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"1709b688e48e45\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":169,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":70.23603565350783,\"angle\":0,\"y\":759.2736931200784},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"1709b6885077e2\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c48976367\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"消息队列\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c48dbd1b9\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c48dbda22\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c48dbdea7\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c48dbdce1\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c48dbd0be\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":95,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":791.9715337033801,\"y\":827.0184220877536,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c48976367\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63d817dbf2b\":{\"textBlock\":[],\"dataAttributes\":[],\"points\":[{\"x\":1305.0250016267944,\"y\":354.90334840943694}],\"props\":{\"zindex\":124},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":1108.6316244844925,\"angle\":3.141592653589793,\"y\":354.90334840943694,\"id\":\"16e63793ab0ab6\"},\"to\":{\"x\":1305.0250016267944,\"angle\":1.5707963267948968,\"y\":709.989914073506,\"id\":\"16e63c0f2d39ad\"},\"id\":\"16e63d817dbf2b\",\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63e05fb2fcb\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Elasticsearch\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63e06522bd1\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63e065226df\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63e06522291\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63e06522e7\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63e065227d3\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":135,\"w\":116.73125553131104,\"h\":36.89479150985812,\"x\":1338.6591604791788,\"y\":764.7560403750329,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63e05fb2fcb\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c0e13be6c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":86,\"w\":0,\"h\":0,\"x\":893.3472260369194,\"y\":515.3611187405056,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb680e4b0bd68d814ff68?e=1573635216&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:EFWWu7IypG1ll1y47eQEoUrwD_Y=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c0e13be6c\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e6382ad78b31\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e6382ad78988\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e6382ad78ac3\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e6382ad78ba9\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e6382ad78f3d\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e6382ad7866a\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":17,\"w\":111.35000991821289,\"h\":114.5,\"x\":542.0732580796176,\"angle\":0,\"y\":694.8265739841315},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e6382ad78b31\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63bc6ad2eed\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":77,\"w\":40,\"h\":40,\"x\":1503.7327568660883,\"y\":233.8624433867474,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bc6ad2eed\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63bc90cb10a\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Kibana\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63bc9a62e35\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63bc9a623de\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63bc9a620ec\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63bc9a625ec\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63bc9a62e07\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":78,\"w\":116.73125553131104,\"h\":36.89479150985812,\"x\":1465.3671291004327,\"angle\":0,\"y\":274.4150476318185},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bc90cb10a\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"CNOmLAJdnM101371\":{\"textBlock\":[],\"points\":[{\"x\":751.7122720384214,\"y\":354.9165862068407},{\"x\":751.7122720384214,\"y\":355.40333233449496}],\"dataAttributes\":[],\"props\":{\"zindex\":179},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":712.5012760790127,\"y\":354.9165862068407,\"angle\":3.141592653589793,\"id\":\"zEJvcODmfg875460\"},\"id\":\"CNOmLAJdnM101371\",\"text\":\"\",\"to\":{\"x\":790.9232679978302,\"y\":355.40333233449496,\"angle\":0,\"id\":\"16e63793ab0ab6\"},\"locked\":false,\"group\":\"\"},\"16e63bb3924bfa\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Logstash\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63bb3924367\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63bb3924d9f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63bb3924c1f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63bb3924293\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63bb3924f31\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":74,\"w\":160,\"h\":40,\"x\":1449.9081586729196,\"angle\":0,\"y\":448.3098467710712},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bb3924bfa\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c7351f3b8\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":98,\"w\":40,\"h\":40,\"x\":577.1367711505003,\"y\":709.3975336769442,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb804e4b059bcd1933b55?e=1573635604&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:wFb2po3OWQ-mHCT5mSrB_-AtUYw=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c7351f3b8\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e638a145f24b\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":23,\"w\":0,\"h\":0,\"x\":836.3167103892846,\"y\":3.8611047284740985,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcba878e4b04c4c38241b9c?e=1573631625&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:TBR7yli2kgdtq1e-3XD-AbigAm4=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e638a145f24b\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63cae33f1bd\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":107,\"w\":40,\"h\":40,\"x\":145.99011540622456,\"y\":407.2712477820267,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb8d4e4b0e3a6348d604a?e=1573635812&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3wKgKDsu7aXDSn6CegC2xH1iCng=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63cae33f1bd\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"zEJvcODmfg875460\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"DLawUEsquw455055\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"HMREOxhfwd454195\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"vqxJFkBIAf932342\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"PhCBXzyNuR400377\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"DTFqizUqEX393063\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":175,\"w\":143.05982507978092,\"h\":255.5,\"x\":569.4414509992317,\"angle\":0,\"y\":227.1665862068407},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"zEJvcODmfg875460\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e6371f9451f4\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e6371f946327\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e6371f94644f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e6371f946cc\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e6371f946a59\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e6371f94607d\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":1,\"w\":150.61332340972416,\"h\":255.5,\"x\":333.95879780228074,\"angle\":0,\"y\":227.1665862068407},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e6371f9451f4\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63bc1a2b3c4\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Elasticsearch\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63bc1ed4771\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63bc1ed481f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63bc1ed414e\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63bc1ed4fa6\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63bc1ed4cb8\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":76,\"w\":116.73125553131104,\"h\":36.89479150985812,\"x\":1471.542530907264,\"angle\":0,\"y\":360.2046382809293},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bc1a2b3c4\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"OaSMvwyaXd261155\":{\"textBlock\":[],\"points\":[{\"x\":949.5866282768692,\"y\":752.0765739841318}],\"dataAttributes\":[],\"props\":{\"zindex\":195},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":893.3316378180667,\"y\":752.0765739841318,\"angle\":3.1415926535897927,\"id\":\"16e63c3b438aec\"},\"id\":\"OaSMvwyaXd261155\",\"text\":\"\",\"to\":{\"x\":949.5866282768692,\"y\":490.6832976511474,\"angle\":4.71238898038469,\"id\":\"16e63793ab0ab6\"},\"locked\":false,\"group\":\"\"},\"16e63c13d783b1\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"MongoDB\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c14211f5b\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c14211935\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c14211de8\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c1421116f\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c14211a1a\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":88,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":1255.1804201728507,\"y\":767.6885636885554,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c13d783b1\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63e298570c6\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"缓存数据存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63e29d0dba6\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63e29d0da49\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63e29d0dc6e\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63e29d0d0b3\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63e29d0d9c7\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":137,\"w\":22.500000000000227,\"h\":108.59949803886639,\"x\":1227.8878622558198,\"y\":430.99248685413795,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63e298570c6\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63e43b2f4a7\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"日志收集\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63e43b2f2fd\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63e43b2f089\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63e43b2fec5\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63e43b2f94c\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63e43b2ff44\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":140,\"w\":160,\"h\":40,\"x\":1227.88786225582,\"angle\":0,\"y\":297.530489455022},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63e43b2f4a7\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e8cdd7577abe\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":158,\"w\":0,\"h\":0,\"x\":678.3222130669487,\"y\":607.7111477322048,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dd63cc8e4b06b336e44dabf?e=1574324953&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:N4h-y9anyjq_to2tX0MucbGVSYc=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e8cdd7577abe\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e6380cad2cb6\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"数据存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e6380cad215e\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e6380cad224e\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e6380cad2a0e\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e6380cad2758\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e6380cad2536\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":14,\"w\":160,\"h\":40,\"x\":1196.6378622558195,\"angle\":0,\"y\":821.393417319382},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e6380cad2cb6\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63b2efc8804\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":59,\"w\":40,\"h\":40,\"x\":848.8650405258693,\"angle\":0,\"y\":249.08265058714449},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63b2efc8804\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63cb4f33b0b\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"手机\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63cb59e4e9f\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63cb59e4845\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63cb59e4c03\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63cb59e4431\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63cb59e4742\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":108,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":109.41536718186971,\"y\":461.4465610602362,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63cb4f33b0b\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63982a6d111\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"后台管理系统<div>mall-admin-web（Vue）</div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63982edd855\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63982edd1e1\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63982edddbf\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63982eddf67\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63982edd31f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":50,\"w\":153.7870136449784,\"h\":28.98580350057074,\"x\":332.37195268465365,\"angle\":0,\"y\":300.8682122218487},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63982a6d111\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c9a17c3fd\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c9a5f4cb1\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c9a5f4e9e\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c9a5f402d\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c9a5f449b\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c9a5f43bf\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":102,\"w\":111.35000991821289,\"h\":114.5,\"x\":105.13733772609139,\"angle\":0,\"y\":388.93735112634994},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c9a17c3fd\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63d69e6bf31\":{\"textBlock\":[],\"dataAttributes\":[],\"points\":[{\"x\":1124.1896066629333,\"y\":354.89011061203314}],\"props\":{\"zindex\":122},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":1109.013260413077,\"angle\":3.141592653589793,\"y\":354.89011061203314,\"id\":\"16e63793ab0ab6\"},\"to\":{\"x\":1124.1896066629333,\"angle\":1.5707963267948968,\"y\":710.2556837790833,\"id\":\"16e63bf00e2efa\"},\"id\":\"16e63d69e6bf31\",\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63ccc5f7f9e\":{\"textBlock\":[],\"dataAttributes\":[],\"points\":[{\"x\":527.0067861056183,\"y\":354.9165862068408},{\"x\":527.0067861056183,\"y\":354.9165862068408}],\"props\":{\"zindex\":111},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":484.5721212120049,\"angle\":3.141592653589793,\"y\":354.9165862068408,\"id\":\"16e6371f9451f4\"},\"to\":{\"x\":569.4414509992317,\"y\":354.9165862068408,\"angle\":0,\"id\":\"zEJvcODmfg875460\"},\"id\":\"16e63ccc5f7f9e\",\"text\":\"\",\"locked\":false,\"group\":\"\"},\"1709b6885076b6\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"1709b688e48a92\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"1709b688e4810b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"1709b688e4834f\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"1709b688e48c04\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"1709b688e48aee\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":168,\"w\":111.35000991821289,\"h\":114.5,\"x\":63.147208107842346,\"y\":694.8265739841315,\"angle\":0},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"1709b6885076b6\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e637e5388d9d\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"ELK日志收集系统\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e637e5a10153\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e637e5a10be\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e637e5a10243\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e637e5a1008d\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e637e5a10337\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":12,\"w\":160,\"h\":40,\"x\":1443.7327568660883,\"angle\":0,\"y\":156.43282841487738},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e637e5388d9d\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"BeiuLTAfFP674111\":{\"textBlock\":[],\"points\":[{\"x\":760.9232679978302,\"y\":354.91658620684075},{\"x\":760.9232679978302,\"y\":754.4999980926514}],\"dataAttributes\":[],\"props\":{\"zindex\":194},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":790.9232679978302,\"y\":354.91658620684075,\"angle\":0,\"id\":\"16e63793ab0ab6\"},\"id\":\"BeiuLTAfFP674111\",\"text\":\"\",\"to\":{\"x\":790.9232679978302,\"y\":754.4999980926514,\"angle\":0,\"id\":\"16e63c3b438aec\"},\"locked\":false,\"group\":\"\"},\"16e63e29d17031\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"用户行为分析数据存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63e3078a5b6\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63e3078abef\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63e3078a50b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63e3078a417\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63e3078a00c\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":138,\"w\":22.500000000000227,\"h\":108.59949803886639,\"x\":1308.3586151943146,\"y\":430.992486854138,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63e29d17031\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63f29c83197\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"容器\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63f2a8e0425\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63f2a8e0e6a\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63f2a8e0787\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63f2a8e0002\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63f2a8e0f35\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":153,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":315.7345355229587,\"angle\":0,\"y\":826.7265460048436},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63f29c83197\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"zJmjzusLUd836623\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"\",\"fontStyle\":{},\"dataAttributes\":[],\"props\":{\"zindex\":198,\"w\":40,\"x\":620.9713635391221,\"h\":40,\"y\":401.7641495323121,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\",\"l\",\"t\",\"r\",\"b\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":200,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5df1f6a6e4b0c4255e96d825?e=1576142006&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:1syM2a0D54ljvI8LPam4JSz-zNo=\"},\"theme\":{},\"id\":\"zJmjzusLUd836623\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"fixedLink\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63976bc5eab\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":48,\"w\":0,\"h\":0,\"x\":745.3472145928276,\"y\":315.3611139721341,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbabe3e4b0fc314a0ff0b1?e=1573632499&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:pH1P4uL2LvyJXYqI6KA_4p7Ov2M=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63976bc5eab\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63f2e60d98d\":{\"textBlock\":[],\"dataAttributes\":[],\"points\":[{\"x\":949.5866282768692,\"y\":592.7549358176395},{\"x\":364.3207129363997,\"y\":592.7549358176395}],\"props\":{\"zindex\":155},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":949.5866282768692,\"angle\":4.71238898038469,\"y\":490.6832976511474,\"id\":\"16e63793ab0ab6\"},\"to\":{\"x\":364.3207129363997,\"angle\":1.5707963267948968,\"y\":694.8265739841315,\"id\":\"16e63f29c835c7\"},\"id\":\"16e63f2e60d98d\",\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63c9db3a99b\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":103,\"w\":0,\"h\":0,\"x\":900.0450858349252,\"y\":429.22593463018285,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb8cce4b0754822a3fcd6?e=1573635804&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:vsBdSB9aQgAxFYAyUX7nG_XwxYA=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c9db3a99b\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c98116389\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c98b4693f\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c98b46b69\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c98b462cb\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c98b460fc\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c98b464d8\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":101,\"w\":111.35000991821289,\"h\":114.5,\"x\":103.12448554862632,\"angle\":0,\"y\":177.79830320845946},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c98116389\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63f29c835c7\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63f2a8e09c8\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63f2a8e0996\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63f2a8e0568\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63f2a8e0a37\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63f2a8e0bfb\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":151,\"w\":111.35000991821289,\"h\":114.5,\"x\":308.6457079772932,\"angle\":0,\"y\":694.8265739841315},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63f29c835c7\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"nhhYqbZwWN649466\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"<div><font color=\\\"#323232\\\">后台管理系统服务</font><br></div><div><font color=\\\"#323232\\\">mall-admin</font><font color=\\\"#323232\\\"><br></font></div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"eKfOtBjVOd755487\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"jmOTSysjiD710402\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"iYuglxbZWu075359\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"qoWYMuvEla399030\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"BgFlfNTDDE821920\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":181,\"w\":153.7870136449784,\"h\":40.200942470262135,\"x\":791.9715337033801,\"angle\":0,\"y\":300.09684708657363},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"nhhYqbZwWN649466\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63e05fb2cd8\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":134,\"w\":40,\"h\":40,\"x\":1367.903705104461,\"angle\":0,\"y\":710.5014985286409},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb4d5e4b022abb632cc27?e=1573634789&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:H9HIw4e0cEmInoy1jR72UnAd7x0=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63e05fb2cd8\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63bb77bd24b\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":75,\"w\":40,\"h\":40,\"x\":1507.8612784277109,\"angle\":0,\"y\":320.2046382809293},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb4d5e4b022abb632cc27?e=1573634789&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:H9HIw4e0cEmInoy1jR72UnAd7x0=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bb77bd24b\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c4463769a\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"RabbitMQ\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c44a90794\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c44a90d\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c44a90c92\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c44a90144\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c44a908b6\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":94,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":790.4458193346144,\"y\":768.3605978600847,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c4463769a\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63dc34d3b43\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"异步通信\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63dc39728ba\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63dc39724a5\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63dc3972444\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63dc3972b29\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63dc3972fde\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":127,\"w\":22.500000000000227,\"h\":108.59949803886639,\"x\":960.0793520004029,\"y\":604.9626388500026,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63dc34d3b43\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63782196ee1\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"前端服务<div>Vue+uni-app</div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e6378219680b\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e637821968ef\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e637821963b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e637821964b2\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63782196302\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":2,\"w\":184.16080007951882,\"h\":41.909416014991564,\"x\":317.18505946738344,\"y\":162.88888719346787,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63782196ee1\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63dbd07c005\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"异步通信\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63dbd6bd199\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63dbd6bd7e9\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63dbd6bd13b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63dbd6bd9d6\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63dbd6bd3f1\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":126,\"w\":22.500000000000227,\"h\":108.59949803886639,\"x\":722.1732679978305,\"y\":617.2409375082013,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63dbd07c005\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e6379fb84547\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"后端服务<div>SpringBoot</div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e6379fb85d33\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e6379fb85e01\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e6379fb85b27\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e6379fb85823\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e6379fb854ca\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":149,\"w\":160,\"h\":45.37276144995087,\"x\":887.9546469519552,\"y\":157.71812506130044,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e6379fb84547\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63b98cae49a\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":69,\"w\":0,\"h\":0,\"x\":853.0200821632791,\"angle\":0,\"y\":317.0759350116526},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb4a0e4b0e3a6348d4fea?e=1573634736&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:OUliLefPbC_V-yZXLym1OSOu0vA=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63b98cae49a\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"ylOrulFEsh116270\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":184,\"w\":40,\"h\":40,\"x\":940.0793520004027,\"angle\":0,\"y\":369.7535397189169},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"ylOrulFEsh116270\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63793ab0ab6\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63793ab141\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63793ab14d3\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63793ab1319\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63793ab11d8\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63793ab1fcc\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":3,\"w\":317.326720558078,\"h\":271.5334228886135,\"x\":790.9232679978302,\"angle\":0,\"y\":219.14987476253395},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63793ab0ab6\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"OvdexbOVde562782\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":182,\"w\":40,\"h\":40,\"x\":1007.2960998404442,\"angle\":0,\"y\":249.08265058714446},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"OvdexbOVde562782\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"FnfIMHFXjT612999\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"<div>前台商城服务</div><div><font color=\\\"#323232\\\">mall-portal</font><br></div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"jbYWjxddgm760432\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"weshPtDDSb290930\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"UKvBaWJDgy012315\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"iRZJOITUuz502096\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"pJBqOzJOnk841844\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":183,\"w\":153.7870136449784,\"h\":40.200942470262135,\"x\":950.402593017955,\"angle\":0,\"y\":309.1831218222754},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"FnfIMHFXjT612999\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63eecd727b2\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":150,\"w\":0,\"h\":0,\"x\":966.7772117984086,\"y\":294.69022007199015,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbc241e4b059bcd1936504?e=1573638226&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UZYAGJUNZeSx_-SWyKkZIWud5yE=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63eecd727b2\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e637e5388816\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e637e5a10abf\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e637e5a10311\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e637e5a10674\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e637e5a104b8\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e637e5a105f1\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":11,\"w\":148.09295442700386,\"h\":281.6964146114152,\"x\":1455.5841675977615,\"angle\":0,\"y\":214.0756276625181},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e637e5388816\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c074e96d\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Redis\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c07d92cbf\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c07d922f5\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c07d92b4c\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c07d92d1d\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c07d92c6a\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":85,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":1169.106357095744,\"angle\":0,\"y\":766.8865583454162},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c074e96d\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"GVEKBAOvQX917617\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"\",\"fontStyle\":{},\"dataAttributes\":[],\"props\":{\"zindex\":197,\"w\":40,\"x\":620.9713635391222,\"h\":40,\"y\":317.0759350116526,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\",\"l\",\"t\",\"r\",\"b\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":200,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5df1f6a6e4b0c4255e96d825?e=1576142006&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:1syM2a0D54ljvI8LPam4JSz-zNo=\"},\"theme\":{},\"id\":\"GVEKBAOvQX917617\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"fixedLink\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"aCUZFLVIQe060123\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Nginx\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"UQsqELtfey396157\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"WFjVhOfNqs378776\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"LZpGeNunpB723146\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"MOijOVoLtQ122164\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"DcwPcEULrX605017\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":191,\"w\":153.7870136449784,\"h\":28.98580350057074,\"x\":564.077856716633,\"angle\":0,\"y\":362.6394667537789},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"aCUZFLVIQe060123\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"1709b69a83fdde\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":172,\"w\":40,\"h\":40,\"x\":97.65778740801389,\"angle\":0,\"y\":716.0871489061979},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5df1f2ade4b06f5f145723ff?e=1576140989&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:k2NjCtLUiWqJG5B5mILGxeeKfx0=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"1709b69a83fdde\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63f29c83be8\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":154,\"w\":40,\"h\":40,\"x\":346.9297028673436,\"angle\":0,\"y\":712.5882157502815},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbc241e4b059bcd1936504?e=1573638226&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UZYAGJUNZeSx_-SWyKkZIWud5yE=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63f29c83be8\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63c7e19b17c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"对象存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63c7e7cc657\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63c7e7cc508\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63c7e7ccfa9\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63c7e7cc6e6\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63c7e7cc7ce\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":100,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":547.7212776015909,\"y\":827.0184220877536,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c7e19b17c\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63dc9400859\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"文件存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63dc94009aa\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63dc94008d9\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63dc94002d6\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63dc94004c7\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63dc9400d67\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":128,\"w\":160,\"h\":40,\"x\":598.3222130669487,\"angle\":0,\"y\":537.245653572957},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63dc9400859\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e67b6e8f60c6\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"mall项目系统<span style=\\\"font-size: inherit;\\\">架构图</span>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{\"size\":30,\"textAlign\":\"center\",\"bold\":true},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e67b6e8f6315\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e67b6e8f640a\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e67b6e8f6aa7\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e67b6e8f67c5\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e67b6e8f61a1\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":157,\"w\":419.8025726665087,\"h\":28.50000762939453,\"x\":642.7494985982312,\"y\":47.26713369153427,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e67b6e8f60c6\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e638065237f3\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w-20\",\"h\":\"h\",\"x\":10,\"y\":0},\"text\":\"\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"圆角矩形\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63806524756\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e6380652480b\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63806524d57\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e638065244bd\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e638065247d3\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":13,\"w\":381.4120867817028,\"h\":147.5,\"x\":1068.4960718912166,\"angle\":0,\"y\":669.1111187405056},\"path\":[{\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"4\"},{\"y1\":\"0\",\"x\":\"4\",\"action\":\"quadraticCurve\",\"y\":\"0\",\"x1\":\"0\"},{\"x\":\"w-4\",\"action\":\"line\",\"y\":\"0\"},{\"y1\":\"0\",\"x\":\"w\",\"action\":\"quadraticCurve\",\"y\":\"4\",\"x1\":\"w\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h-4\"},{\"y1\":\"h\",\"x\":\"w-4\",\"action\":\"quadraticCurve\",\"y\":\"h\",\"x1\":\"w\"},{\"x\":\"4\",\"action\":\"line\",\"y\":\"h\"},{\"y1\":\"h\",\"x\":\"0\",\"action\":\"quadraticCurve\",\"y\":\"h-4\",\"x1\":\"0\"},{\"action\":\"close\"}]}],\"lineStyle\":{\"lineStyle\":\"dashed\",\"lineColor\":\"18,150,219\"},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"roundRectangle\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e638065237f3\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63ba8bcbcc9\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":71,\"w\":0,\"h\":0,\"x\":853.0200821632791,\"angle\":0,\"y\":297.5759350116526},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb4e1e4b0e3a6348d50d0?e=1573634801&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:ZC8oSHzHDnpdNDXoh36WrEQFq-k=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63ba8bcbcc9\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"SfWejazIoj597280\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"\",\"fontStyle\":{},\"dataAttributes\":[],\"props\":{\"zindex\":199,\"w\":40,\"x\":389.26545950714285,\"h\":40,\"y\":252.29830320845946,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\",\"l\",\"t\",\"r\",\"b\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":128,\"display\":\"stretch\",\"imageH\":128,\"type\":\"image\",\"fileId\":\"https://cdn.processon.com/5a210b2ee4b04f355d337103-6466de30cc72ee05d01148b6.svg?e=1684466752&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:o0NlDXdIkF4MGWGiyfrp24fQ7jU=\"},\"theme\":{},\"id\":\"SfWejazIoj597280\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"fixedLink\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63be2bc3d7d\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":79,\"w\":0,\"h\":0,\"x\":893.3472260369194,\"y\":515.3611187405056,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb5cee4b0e3a6348d549e?e=1573635038&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:MgQCvcHhtI2mWv4MWo3uMoUNAXY=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63be2bc3d7d\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"cCELGsRfkO490040\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"<div>商品搜索服务</div><div><font color=\\\"#323232\\\">mall-search</font><br></div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"CXNhSboifk375478\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"JCZUDATuAN657136\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"iZGSZiclhk417137\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"SWfKKkQdEp302179\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"bwXoiZAeGT518109\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":185,\"w\":153.7870136449784,\"h\":40.200942470262135,\"x\":883.1858451779135,\"angle\":0,\"y\":420.767736218346},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"cCELGsRfkO490040\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63e11c781c9\":{\"textBlock\":[],\"points\":[{\"x\":1387.903705104461,\"y\":354.90334840943694}],\"dataAttributes\":[],\"props\":{\"zindex\":136},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":1108.6316244844927,\"y\":354.90334840943694,\"angle\":3.141592653589793,\"id\":\"16e63793ab0ab6\"},\"id\":\"16e63e11c781c9\",\"to\":{\"x\":1387.903705104461,\"y\":710.5014985286409,\"angle\":1.5707963267948968,\"id\":\"16e63e05fb2cd8\"},\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e63d5973b018\":{\"textBlock\":[],\"points\":[{\"x\":950.3499001340381,\"y\":592.7416980202356},{\"x\":597.7482630387241,\"y\":592.7416980202356}],\"dataAttributes\":[],\"props\":{\"zindex\":121},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":950.3499001340381,\"y\":490.6568220563398,\"angle\":4.71238898038469,\"id\":\"16e63793ab0ab6\"},\"id\":\"16e63d5973b018\",\"to\":{\"x\":597.7482630387241,\"y\":694.8265739841315,\"angle\":1.5707963267948968,\"id\":\"16e6382ad78b31\"},\"text\":\"\",\"locked\":false,\"group\":\"\"},\"wUUpGphzdW962138\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"网关服务<div>Nginx</div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"JcrnnnHLkO528559\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"hbEeTOJhQZ387087\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"JLYzsrkOAb378778\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"RutjWxXQdh735974\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"WQgtDXtefd541363\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":178,\"w\":201.02991253989046,\"h\":44.519379710113526,\"x\":544.3173020529372,\"y\":161.58390534590686,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"wUUpGphzdW962138\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"1709b68850723c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"自动化部署\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"1709b688e480bf\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"1709b688e48123\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"1709b688e48f66\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"1709b688e48747\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"1709b688e48169\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":170,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":67.74385841050372,\"y\":826.7265460048441,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"1709b68850723c\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63eafe1fadc\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":145,\"w\":0,\"h\":0,\"x\":960.0793520004029,\"angle\":0,\"y\":509.3968232169984},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbc148e4b0fc314a1046b0?e=1573637976&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:JDKEOFL96LaH7kjKNqoirTK5eJY=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63eafe1fadc\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"GxFcdmrEwP775128\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"title\":\"\",\"fontStyle\":{},\"dataAttributes\":[],\"props\":{\"zindex\":200,\"w\":40,\"x\":389.26545950714285,\"h\":40,\"y\":362.63946675377883,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\",\"l\",\"t\",\"r\",\"b\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":128,\"display\":\"stretch\",\"imageH\":128,\"type\":\"image\",\"fileId\":\"https://cdn.processon.com/5a210b2ee4b04f355d337103-6466de4e5f4e8f3c89ec191e.svg?e=1684466782&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:W5StROG1rX2p3dz4LX3rIaqKscw=\"},\"theme\":{},\"id\":\"GxFcdmrEwP775128\",\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"fixedLink\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63ca7d8c222\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"电脑\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63ca824d1db\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63ca824d7e2\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63ca824df8d\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63ca824de58\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63ca824d1eb\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":106,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":109.97386375493826,\"y\":250.95764699153182,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63ca7d8c222\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63986fc4b0c\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"前台商城系统<div>mall-app-web（uni-app）</div>\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e639873e4667\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e639873e4b96\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e639873e459\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e639873e4eba\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e639873e48e8\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":52,\"w\":148.73480298732522,\"h\":28.98580350057074,\"x\":334.8980580134802,\"y\":412.77834603174125,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63986fc4b0c\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63c0f2d39ad\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":87,\"w\":40,\"h\":40,\"x\":1285.0250016267944,\"y\":709.989914073506,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb680e4b0bd68d814ff68?e=1573635216&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:EFWWu7IypG1ll1y47eQEoUrwD_Y=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63c0f2d39ad\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"BWUYKTINGy750211\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"Nginx\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"ugUthvNhrO124179\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"SkBwZcsjhn768547\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"JnEMilwsrr452171\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"kZwFMEeCYq776414\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"KibUgQLMyC012559\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":189,\"w\":153.7870136449784,\"h\":28.98580350057074,\"x\":564.0778567166329,\"angle\":0,\"y\":278.27420171864804},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"BWUYKTINGy750211\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"16e63bf7ef2ade\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"MySql\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63bf7ef300e\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63bf7ef3da2\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63bf7ef31ed\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63bf7ef3b61\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63bf7ef3e9d\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":82,\"w\":98.8309870978187,\"h\":28.749990463256836,\"x\":1074.7807611350477,\"y\":767.9642839739488,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bf7ef2ade\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"},\"yTvUmWuWgf030284\":{\"textBlock\":[],\"points\":[{\"x\":1281.917078076835,\"y\":354.91658620684075},{\"x\":1281.917078076835,\"y\":354.9238349682258}],\"dataAttributes\":[],\"props\":{\"zindex\":187},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":1108.2499885559082,\"y\":354.91658620684075,\"angle\":3.141592653589793,\"id\":\"16e63793ab0ab6\"},\"id\":\"yTvUmWuWgf030284\",\"text\":\"\",\"to\":{\"x\":1455.5841675977615,\"y\":354.9238349682258,\"angle\":0,\"id\":\"16e637e5388816\"},\"locked\":false,\"group\":\"\"},\"16e63bab64448f\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":73,\"w\":40,\"h\":40,\"x\":1509.9081586729196,\"angle\":0,\"y\":408.3098467710712},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":200,\"display\":\"stretch\",\"imageH\":100,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcbb4e1e4b0e3a6348d50d0?e=1573634801&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:ZC8oSHzHDnpdNDXoh36WrEQFq-k=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63bab64448f\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63cc207746a\":{\"textBlock\":[],\"points\":[{\"x\":275.2230727232925,\"y\":446.18735112634994},{\"x\":275.2230727232925,\"y\":354.9165862068408}],\"dataAttributes\":[],\"props\":{\"zindex\":110},\"linkerType\":\"broken\",\"lineStyle\":{},\"name\":\"linker\",\"from\":{\"x\":216.48734764430426,\"y\":446.18735112634994,\"angle\":3.141592653589793,\"id\":\"16e63c9a17c3fd\"},\"id\":\"16e63cc207746a\",\"to\":{\"x\":333.95879780228074,\"y\":354.9165862068408,\"angle\":0,\"id\":\"16e6371f9451f4\"},\"text\":\"\",\"locked\":false,\"group\":\"\"},\"16e638e9409871\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"\",\"dataAttributes\":[],\"props\":{\"zindex\":31,\"w\":0,\"h\":0,\"x\":859.3486447294913,\"y\":180.40450578627588,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"standardImage\",\"fillStyle\":{\"imageW\":0,\"display\":\"stretch\",\"imageH\":0,\"type\":\"image\",\"fileId\":\"http://cdn.processon.com/5dcba99fe4b0fc314a0fe7eb?e=1573631919&amp;token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:oexWWBpjMW5L-w3-MByfl4SgDns=\"},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":false,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e638e9409871\",\"category\":\"standard\",\"locked\":false,\"group\":\"\"},\"16e63dfa5d9f81\":{\"parent\":\"\",\"link\":\"\",\"shapeStyle\":{\"alpha\":1},\"textBlock\":[{\"position\":{\"w\":\"w\",\"h\":\"h\",\"x\":0,\"y\":0},\"text\":\"主要业务数据存储\"}],\"anchors\":[{\"x\":\"w/2\",\"y\":\"0\"},{\"x\":\"w/2\",\"y\":\"h\"},{\"x\":\"0\",\"y\":\"h/2\"},{\"x\":\"w\",\"y\":\"h/2\"}],\"fontStyle\":{},\"title\":\"文本\",\"dataAttributes\":[{\"name\":\"序号\",\"id\":\"16e63dfaed496e\",\"category\":\"default\",\"type\":\"number\",\"value\":\"\"},{\"name\":\"名称\",\"id\":\"16e63dfaed4296\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"所有者\",\"id\":\"16e63dfaed4ee\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"},{\"name\":\"连接\",\"id\":\"16e63dfaed4136\",\"category\":\"default\",\"type\":\"link\",\"value\":\"\"},{\"name\":\"便笺\",\"id\":\"16e63dfaed4ab9\",\"category\":\"default\",\"type\":\"string\",\"value\":\"\"}],\"props\":{\"zindex\":133,\"w\":22.500000000000227,\"h\":108.59949803886639,\"x\":1134.9171093173247,\"y\":430.992486854138,\"angle\":0},\"path\":[{\"lineStyle\":{\"lineWidth\":0},\"fillStyle\":{\"type\":\"none\"},\"actions\":[{\"x\":\"0\",\"action\":\"move\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"0\"},{\"x\":\"w\",\"action\":\"line\",\"y\":\"h\"},{\"x\":\"0\",\"action\":\"line\",\"y\":\"h\"},{\"action\":\"close\"}]}],\"lineStyle\":{},\"children\":[],\"resizeDir\":[\"tl\",\"tr\",\"br\",\"bl\"],\"name\":\"text\",\"fillStyle\":{},\"attribute\":{\"container\":false,\"rotatable\":true,\"visible\":true,\"collapsable\":false,\"collapsed\":false,\"linkable\":true,\"markerOffset\":5},\"id\":\"16e63dfa5d9f81\",\"category\":\"basic\",\"locked\":false,\"group\":\"\"}},\"theme\":{\"linker\":{\"lineStyle\":{\"lineColor\":\"50,50,50\",\"lineWidth\":2},\"fontStyle\":{\"fontFamily\":\"Arial\",\"color\":\"50,50,50\",\"size\":13,\"bold\":false,\"italic\":false}},\"shape\":{\"lineStyle\":{\"lineColor\":\"50,50,50\",\"lineWidth\":2},\"fillStyle\":{\"color\":\"255,255,255\",\"type\":\"solid\"},\"fontStyle\":{\"fontFamily\":\"Arial\",\"color\":\"50,50,50\",\"size\":13,\"bold\":false,\"italic\":false}},\"name\":\"normal\"},\"page\":{\"padding\":20,\"orientation\":\"portrait\",\"backgroundColor\":\"transparent\",\"gridSize\":15,\"width\":1656,\"showGrid\":true,\"height\":1217},\"version\":318}},\"meta\":{\"exportTime\":\"2023-07-19 10:32:06\",\"member\":\"\",\"diagramInfo\":{\"creator\":\"\",\"created\":\"2023-05-19 09:35:42\",\"modified\":\"2023-06-26 16:35:45\",\"title\":\"mall项目系统架构图\",\"category\":\"flow\"},\"id\":\"6466d26eb967351512ada6eb\",\"type\":\"ProcessOn Schema File\",\"version\":\"1.0\"}}"
  },
  {
    "path": "document/pos/项目开发进度图.pos",
    "content": "{\"diagram\":{\"elements\":{\"leftChildren\":[{\"parent\":\"root\",\"children\":[{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"c68327c7119f\",\"title\":\"首页门户\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"35\"},\"children\":[],\"id\":\"03d7217100d9\",\"title\":\"商品推荐\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"50\"},\"children\":[],\"id\":\"f1fe1fc552ab\",\"title\":\"商品搜索\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"50\"},\"children\":[],\"id\":\"f6df7fb9d389\",\"title\":\"商品展示\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"50\"},\"children\":[],\"id\":\"ef9a76e89256\",\"title\":\"购物车\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"50\"},\"children\":[],\"id\":\"b172bea6db59\",\"title\":\"订单流程\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"5099daff583b\",\"title\":\"会员中心\",\"icons\":[{\"color\":\"rgb(68, 68, 68)\",\"name\":\"completion\",\"index\":\"114\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"d8485d715f62\",\"title\":\"客户服务\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"110\"}]},{\"parent\":\"9f28d62a5672\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"1766943525e6\",\"title\":\"帮助中心\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"110\"}]}],\"id\":\"9f28d62a5672\",\"title\":\"前台\"}],\"children\":[{\"parent\":\"root\",\"children\":[{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"100\"},\"children\":[],\"id\":\"dff7f75a0ed4\",\"title\":\"商品管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"100\"},\"children\":[],\"id\":\"6e33db4f10c9\",\"title\":\"订单管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"100\"},\"children\":[],\"id\":\"6e37938e8956\",\"title\":\"促销管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"100\"},\"children\":[],\"id\":\"efe9e584bd7f\",\"title\":\"运营管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"50\"},\"children\":[],\"id\":\"1c2047f6a380\",\"title\":\"权限管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"117\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"27cc62ad6c28\",\"title\":\"会员管理\",\"icons\":[{\"color\":\"rgb(113, 203, 45)\",\"name\":\"completion\",\"index\":\"110\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"30b686fb8384\",\"title\":\"内容管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"110\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"885c0538496d\",\"title\":\"统计报表\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"110\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"e20400573fac\",\"title\":\"财务管理\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"110\"}]},{\"parent\":\"90e923d09398\",\"task\":{\"completion\":\"10\"},\"children\":[],\"id\":\"75c14d3c2f50\",\"title\":\"设置\",\"icons\":[{\"color\":\"rgb(0, 166, 80)\",\"name\":\"completion\",\"index\":\"110\"}]}],\"id\":\"90e923d09398\",\"title\":\"后台\"}],\"root\":true,\"theme\":\"theme3\",\"showWatermark\":false,\"id\":\"root\",\"isBackground\":true,\"title\":\"mall\",\"version\":141,\"structure\":\"mind_free\"}},\"meta\":{\"exportTime\":\"2023-07-10 10:30:52\",\"member\":\"\",\"diagramInfo\":{\"creator\":\"\",\"created\":\"2018-11-27 10:37:22\",\"modified\":\"2023-05-20 15:19:14\",\"title\":\"项目开发进度图\",\"category\":\"mind_free\"},\"id\":\"5bfcade2e4b0ef094cbe3658\",\"type\":\"ProcessOn Schema File\",\"version\":\"1.0\"}}"
  },
  {
    "path": "document/postman/mall-admin.postman_collection.json",
    "content": "{\n\t\"variables\": [],\n\t\"info\": {\n\t\t\"name\": \"mall-admin\",\n\t\t\"_postman_id\": \"f4a4382c-ee6c-975f-99ac-7645532458ba\",\n\t\t\"description\": \"\",\n\t\t\"schema\": \"https://schema.getpostman.com/json/collection/v2.0.0/collection.json\"\n\t},\n\t\"item\": [\n\t\t{\n\t\t\t\"name\": \"添加优惠券\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/coupon/add\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\r\\n  \\\"amount\\\": 50,\\r\\n  \\\"count\\\": 100,\\r\\n  \\\"enableTime\\\": \\\"2018-08-27T08:40:46.973Z\\\",\\r\\n  \\\"endTime\\\": \\\"2018-08-31T08:40:46.973Z\\\",\\r\\n  \\\"minPoint\\\": 500,\\r\\n  \\\"name\\\": \\\"T恤分类专用优惠券\\\",\\r\\n  \\\"note\\\": \\\"满500减50\\\",\\r\\n  \\\"perLimit\\\": 1,\\r\\n  \\\"platform\\\": 0,\\r\\n  \\\"publishCount\\\": 100,\\r\\n  \\\"receiveCount\\\": 0,\\r\\n  \\\"startTime\\\": \\\"2018-08-27T08:40:46.973Z\\\",\\r\\n  \\\"type\\\": 0,\\r\\n  \\\"useCount\\\": 0,\\r\\n  \\\"useType\\\": 1,\\r\\n  \\\"productCategoryRelationList\\\": [\\r\\n    {\\r\\n      \\\"productCategoryId\\\": 8\\r\\n    }\\r\\n  ]\\r\\n}\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"删除指定优惠券\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/coupon/delete/6\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"修改指定优惠券\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/coupon/update/6\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\r\\n  \\\"amount\\\": 300,\\r\\n  \\\"count\\\": 100,\\r\\n  \\\"enableTime\\\": \\\"2018-08-27T08:40:46.973Z\\\",\\r\\n  \\\"endTime\\\": \\\"2018-08-31T08:40:46.973Z\\\",\\r\\n  \\\"minPoint\\\": 2000,\\r\\n  \\\"name\\\": \\\"满2000减200\\\",\\r\\n  \\\"note\\\": \\\"手机分类专用优惠券\\\",\\r\\n  \\\"perLimit\\\": 1,\\r\\n  \\\"platform\\\": 0,\\r\\n  \\\"publishCount\\\": 100,\\r\\n  \\\"receiveCount\\\": 0,\\r\\n  \\\"startTime\\\": \\\"2018-08-27T08:40:46.973Z\\\",\\r\\n  \\\"type\\\": 0,\\r\\n  \\\"useCount\\\": 0,\\r\\n  \\\"useType\\\": 1,\\r\\n  \\\"productCategoryRelationList\\\": [\\r\\n    {\\r\\n      \\\"productCategoryId\\\": 18\\r\\n    }\\r\\n  ]\\r\\n}\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"登录\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/admin/login\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\r\\n  \\\"password\\\": \\\"123456\\\",\\r\\n  \\\"username\\\": \\\"admin\\\"\\r\\n}\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"查看商品列表\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/product/list\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Authorization\",\n\t\t\t\t\t\t\"value\": \"Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImNyZWF0ZWQiOjE1Mzg5OTExNzkwODAsImV4cCI6MTUzOTU5NTk3OX0.u_fUHf09ONw6CCQW0ERufOgfuGUY1g7hu-o9thMl6wsFlBlkn1QmOZJwlU1ejsc65-N3p3k1pb11vTeqrVnYIw\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"批量修改商品的删除状态\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/product/update/deleteStatus\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Authorization\",\n\t\t\t\t\t\t\"value\": \"Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImNyZWF0ZWQiOjE1Mzg5OTExNzkwODAsImV4cCI6MTUzOTU5NTk3OX0.u_fUHf09ONw6CCQW0ERufOgfuGUY1g7hu-o9thMl6wsFlBlkn1QmOZJwlU1ejsc65-N3p3k1pb11vTeqrVnYIw\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/x-www-form-urlencoded\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"urlencoded\",\n\t\t\t\t\t\"urlencoded\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"ids\",\n\t\t\t\t\t\t\t\"value\": \"1,2\",\n\t\t\t\t\t\t\t\"description\": \"\",\n\t\t\t\t\t\t\t\"type\": \"text\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"deleteStatus\",\n\t\t\t\t\t\t\t\"value\": \"1\",\n\t\t\t\t\t\t\t\"description\": \"\",\n\t\t\t\t\t\t\t\"type\": \"text\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"查询所有一级分类及子分类\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/productCategory/list/withChildren\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Authorization\",\n\t\t\t\t\t\t\"value\": \"Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImNyZWF0ZWQiOjE1Mzg5OTExNzkwODAsImV4cCI6MTUzOTU5NTk3OX0.u_fUHf09ONw6CCQW0ERufOgfuGUY1g7hu-o9thMl6wsFlBlkn1QmOZJwlU1ejsc65-N3p3k1pb11vTeqrVnYIw\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"获取全部品牌列表\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/brand/listAll\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Authorization\",\n\t\t\t\t\t\t\"value\": \"Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImNyZWF0ZWQiOjE1Mzg5OTExNzkwODAsImV4cCI6MTUzOTU5NTk3OX0.u_fUHf09ONw6CCQW0ERufOgfuGUY1g7hu-o9thMl6wsFlBlkn1QmOZJwlU1ejsc65-N3p3k1pb11vTeqrVnYIw\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"刷新token\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{admin.mall}}/admin/token/refresh\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Authorization\",\n\t\t\t\t\t\t\"value\": \"Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImNyZWF0ZWQiOjE1NTIzNTYzNzg0NjUsImV4cCI6MTU1Mjk2MTE3OH0.cxT6ULWfA17_QOh5nAcdU8FVldrSxLC2yi3y4fiHetCCrNzBBF9k6iRN-gfFmYa1_Ptav4WjgUAspZDBQa7SsA\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t}\n\t]\n}"
  },
  {
    "path": "document/postman/mall-portal.postman_collection.json",
    "content": "{\n\t\"variables\": [],\n\t\"info\": {\n\t\t\"name\": \"mall-portal\",\n\t\t\"_postman_id\": \"bb2ab4ed-fa53-9c01-9fe1-ef1568038701\",\n\t\t\"description\": \"\",\n\t\t\"schema\": \"https://schema.getpostman.com/json/collection/v2.0.0/collection.json\"\n\t},\n\t\"item\": [\n\t\t{\n\t\t\t\"name\": \"会员登录\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/sso/login\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/x-www-form-urlencoded\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"urlencoded\",\n\t\t\t\t\t\"urlencoded\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"username\",\n\t\t\t\t\t\t\t\"value\": \"test\",\n\t\t\t\t\t\t\t\"description\": \"\",\n\t\t\t\t\t\t\t\"type\": \"text\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"password\",\n\t\t\t\t\t\t\t\"value\": \"123\",\n\t\t\t\t\t\t\t\"description\": \"\",\n\t\t\t\t\t\t\t\"type\": \"text\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"获取购物车列表\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/cart/list\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"清空购物车\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/cart/clear\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"加入购物车\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/cart/add\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\r\\n  \\\"price\\\": 5499,\\r\\n  \\\"productId\\\": 29,\\r\\n  \\\"productName\\\": \\\"Apple iPhone 8 Plus\\\",\\r\\n  \\\"productSkuCode\\\": \\\"201808270029001\\\",\\r\\n  \\\"productSkuId\\\": 106,\\r\\n  \\\"productSubTitle\\\": \\\"【限时限量抢购】Apple产品年中狂欢节，好物尽享，美在智慧！速来 >> 勾选[保障服务][原厂保2年]，获得AppleCare+全方位服务计划，原厂延保售后无忧。\\\",\\r\\n  \\\"quantity\\\": 1,\\r\\n  \\\"sp1\\\": \\\"金色\\\",\\r\\n  \\\"sp2\\\": \\\"32G\\\",\\r\\n  \\\"sp3\\\": null\\r\\n}\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"获取购物车列表（包括促销信息）\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/cart/list/promotion\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"修改购物车中商品数量\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": {\n\t\t\t\t\t\"raw\": \"{{portal.mall}}/cart/update/quantity?id=15&quantity=1\",\n\t\t\t\t\t\"host\": [\n\t\t\t\t\t\t\"{{portal.mall}}\"\n\t\t\t\t\t],\n\t\t\t\t\t\"path\": [\n\t\t\t\t\t\t\"cart\",\n\t\t\t\t\t\t\"update\",\n\t\t\t\t\t\t\"quantity\"\n\t\t\t\t\t],\n\t\t\t\t\t\"query\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"id\",\n\t\t\t\t\t\t\t\"value\": \"15\",\n\t\t\t\t\t\t\t\"equals\": true,\n\t\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"quantity\",\n\t\t\t\t\t\t\t\"value\": \"1\",\n\t\t\t\t\t\t\t\"equals\": true,\n\t\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"variable\": []\n\t\t\t\t},\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"添加收货地址\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/address/add\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\r\\n  \\\"defaultStatus\\\": 1,\\r\\n  \\\"name\\\": \\\"大梨\\\",\\r\\n  \\\"phoneNumber\\\": \\\"18033441849\\\",\\r\\n  \\\"postCode\\\": \\\"518000\\\",\\r\\n  \\\"city\\\": \\\"深圳市\\\",\\r\\n  \\\"detailAddress\\\": \\\"东晓街道\\\",\\r\\n  \\\"province\\\": \\\"广东省\\\",\\r\\n  \\\"region\\\": \\\"福田区\\\"\\r\\n}\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"删除收货地址\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/address/delete/2\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"查询指定收货地址\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/address/3\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"修改收货地址\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/address/update/3\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\n        \\\"id\\\": 3,\\n        \\\"memberId\\\": 1,\\n        \\\"name\\\": \\\"大梨\\\",\\n        \\\"phoneNumber\\\": \\\"18033441849\\\",\\n        \\\"defaultStatus\\\": 0,\\n        \\\"postCode\\\": \\\"518000\\\",\\n        \\\"province\\\": \\\"广东省\\\",\\n        \\\"city\\\": \\\"深圳市\\\",\\n        \\\"region\\\": \\\"福田区\\\",\\n        \\\"detailAddress\\\": \\\"清水河街道\\\"\\n    }\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"领取优惠券\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/coupon/add/7\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"获取会员优惠券列表\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/coupon/list\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"获取购物车可用优惠券\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/member/coupon/list/cart/1\",\n\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"根据购物车信息生成确认单\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/order/confirmOrder\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"下单\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/order/generateOrder\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"key\": \"Content-Type\",\n\t\t\t\t\t\t\"value\": \"application/json\",\n\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"body\": {\n\t\t\t\t\t\"mode\": \"raw\",\n\t\t\t\t\t\"raw\": \"{\\r\\n  \\\"couponId\\\": 2,\\r\\n  \\\"memberReceiveAddressId\\\": 4,\\r\\n  \\\"payType\\\": 0\\r\\n}\"\n\t\t\t\t},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"订单支付成功回调\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": {\n\t\t\t\t\t\"raw\": \"{{portal.mall}}/order/paySuccess?orderId=12\",\n\t\t\t\t\t\"host\": [\n\t\t\t\t\t\t\"{{portal.mall}}\"\n\t\t\t\t\t],\n\t\t\t\t\t\"path\": [\n\t\t\t\t\t\t\"order\",\n\t\t\t\t\t\t\"paySuccess\"\n\t\t\t\t\t],\n\t\t\t\t\t\"query\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"orderId\",\n\t\t\t\t\t\t\t\"value\": \"12\",\n\t\t\t\t\t\t\t\"equals\": true,\n\t\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"variable\": []\n\t\t\t\t},\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"取消超时订单\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": \"{{portal.mall}}/order/cancelTimeOutOrder\",\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t},\n\t\t{\n\t\t\t\"name\": \"取消单个超时订单\",\n\t\t\t\"request\": {\n\t\t\t\t\"url\": {\n\t\t\t\t\t\"raw\": \"{{portal.mall}}/order/cancelOrder?orderId=13\",\n\t\t\t\t\t\"host\": [\n\t\t\t\t\t\t\"{{portal.mall}}\"\n\t\t\t\t\t],\n\t\t\t\t\t\"path\": [\n\t\t\t\t\t\t\"order\",\n\t\t\t\t\t\t\"cancelOrder\"\n\t\t\t\t\t],\n\t\t\t\t\t\"query\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"key\": \"orderId\",\n\t\t\t\t\t\t\t\"value\": \"13\",\n\t\t\t\t\t\t\t\"equals\": true,\n\t\t\t\t\t\t\t\"description\": \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"variable\": []\n\t\t\t\t},\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"header\": [],\n\t\t\t\t\"body\": {},\n\t\t\t\t\"description\": \"\"\n\t\t\t},\n\t\t\t\"response\": []\n\t\t}\n\t]\n}"
  },
  {
    "path": "document/reference/deploy-windows.md",
    "content": "# windows下环境搭建\n\n## IDEA\n\n- 关于IDEA的安装与使用具体参考[https://github.com/judasn/IntelliJ-IDEA-Tutorial](https://github.com/judasn/IntelliJ-IDEA-Tutorial)\n- 搜索插件仓库，安装插件lombok\n\n## Eclipse\n\n- 导入项目，以maven项目形式导入  \n    ![eclipse_import_1.png](https://github.com/macrozheng/mall/blob/master/document/resource/eclipse_import_1.png)  \n    ![eclipse_import_2.png](https://github.com/macrozheng/mall/blob/master/document/resource/eclipse_import_2.png)\n- 安装lombok插件，下载地址：https://projectlombok.org/downloads/lombok.jar  \n- 下载完后双击，使用java程序打开\n- 按照提示选择eclipse.exe的安装路径安装插件，完成后重启Eclipse\n- 启动项目：右击com.macro.mall.MallAdminApplication的main方法，选择run as Java Application\n\n## mysql\n\n- 下载地址：https://dev.mysql.com/downloads/mysql/5.7.html#downloads\n- 下载后按提示进行安装\n- 导入document/sql下的mall.sql文件\n\n## redis\n\n- 下载地址：https://github.com/MicrosoftArchive/redis/releases\n- 下载后按提示进行安装\n- 启动redis:redis-server.exe redis.windows.conf\n\n## elasticsearch\n\n- 下载地址：https://www.elastic.co/downloads/past-releases/elasticsearch-6-2-2\n- 下载.zip文件，解压到指定目录\n- 安装kibana，用于在浏览器中访问es,请下载6.2.2版本，具体参考：https://www.elastic.co/downloads/kibana\n- 下载.zip包后解压即可，运行bin\\kibana.bat，访问http://localhost:5601 查看是否安装成功\n- 中文分词插件地址：https://github.com/medcl/elasticsearch-analysis-ik\n- 安装中文分词插件，在elasticsearch-6.2.2\\bin目录下执行以下命令：\nelasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.2/elasticsearch-analysis-ik-6.2.2.zip\n- 启动elasticsearch:运行elasticsearch-6.2.2\\bin\\elasticsearch.bat\n- 不使用kibana的可以安装head插件，具体参考：https://github.com/mobz/elasticsearch-head\n- 注意：如果你修改了mall-search中的es的cluster-name: mall-es，你需要在elasticsearch-6.2.2\\config\\elasticsearch.yml文件中修改cluster.name: mall-es\n\n## mongodb\n\n- 下载地址：https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.21-signed.msi\n- 选择路径（c:\\mongodb\\）进行安装，在安装路径下创建data\\db和data\\log两个文件夹\n- 服务端运行程序：mongodb\\bin\\mongod.exe\n- 客户端运行程序：mongodb\\bin\\mongo.exe\n- 创建配置文件：mongodb\\mongod.cfg\n    ``` lua\n    systemLog:\n        destination: file\n        path: c:\\mongodb\\data\\log\\mongod.log\n    storage:\n        dbPath: c:\\mongodb\\data\\db\n    ```\n- 安装为服务（运行命令需要用管理员权限）：C:\\mongodb\\bin\\mongod.exe --config \"C:\\mongodb\\mongod.cfg\" --install\n- 启动服务：net start MongoDB\n- 关闭服务：net stop MongoDB\n- 移除服务：C:\\mongodb\\bin\\mongod.exe --remove\n- 下载客户端程序：https://download.robomongo.org/1.2.1/windows/robo3t-1.2.1-windows-x86_64-3e50a65.zip\n- 解压到指定目录，打开robo3t.exe并连接到localhost:27017\n\n## rabbitmq\n\n- 安装Erlang：http://erlang.org/download/otp_win64_21.3.exe\n- 下载rabbitmq：https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.14/rabbitmq-server-3.7.14.exe\n- 按照提示进行安装，安装完成后进入rabbitmq的安装目录:D:\\RabbitMQ Server\\rabbitmq_server-3.7.14\\sbin\n- 在地址栏输入cmd并回车启动命令行输入以下命令：rabbitmq-plugins enable rabbitmq_management\n- 访问地址查看是否安装成功：http://127.0.0.1:15672/\n- 输入账号密码登录：guest guest\n- 创建用户并设置其角色为管理员：mall mall\n    ![rabbitmq_install_2.png](https://github.com/macrozheng/mall/blob/master/document/resource/rabbitmq_install_2.png)\n- 创建virtual host:/mall\n    ![rabbitmq_install_3.png](https://github.com/macrozheng/mall/blob/master/document/resource/rabbitmq_install_3.png)\n- 给mall用户配置范围该virtual host的权限\n    ![rabbitmq_install_4.png](https://github.com/macrozheng/mall/blob/master/document/resource/rabbitmq_install_4.png)\n- rabbitmq安装延迟消息插件（可不装）：\n    - 下载延迟消息插件（rabbitmq_delayed_message_exchange）：https://www.rabbitmq.com/community-plugins.html\n    - 复制插件到插件目录：D:\\RabbitMQ Server\\rabbitmq_server-3.7.14\\plugins\n    - 在sbin目录下运行如下命令启用插件：rabbitmq-plugins enable rabbitmq_delayed_message_exchange\n    \n## OSS\n\n- 该项目文件上传采用OSS，需要自行注册OSS账号并配置\n- 首先将mall-admin\\src\\main\\resources\\application.properties文件中以aliyun.oss.开头的配置改为你自己的配置\n- OSS上传文件需要配置跨域资源共享(CORS)规则，参考文档：https://help.aliyun.com/document_detail/31928.html\n- 上传方式采用服务端签名后直传的形式，参考文档：https://help.aliyun.com/document_detail/31926.html\n\n## mall-admin\n\n- 启动项目：直接运行com.macro.mall.MallAdminApplication的main方法即可\n- 接口文档地址：http://localhost:8080/swagger-ui.html\n\n## mall-search\n\n- 启动项目：直接运行com.macro.mall.search.MallSearchApplication的main方法即可\n- 接口文档地址：http://localhost:8081/swagger-ui.html\n- 使用前需要先调用接口导入数据；http://localhost:8081/esProduct/importAll\n- 如出现无法启动的问题，可以先删除elasticsearch里面的数据再启动\n\n## mall-portal\n\n- 启动mall-portal项目：直接运行com.macro.mall.portal.MallPortalApplication的main方法即可\n- 接口文档地址：http://localhost:8085/swagger-ui.html\n"
  },
  {
    "path": "document/reference/dev_flow.md",
    "content": "# mall 功能完成进度\n\n## 框架搭建\n\n功能 | 完成 \n----|----\n集成MyBatis | ✔\n集成MyBatisGenerator | ✔\n集成SpringSecurity | ✔\n集成Swagger-UI | ✔\n集成Hibernator-Validator | ✔\n集成日志功能 | ✔\n集成监控功能 | ✔\ncrud操作demo | ✔\n合理规划包结构 | ✔\nSpringAOP通用日志处理 | ✔\nSpringAOP通用验证失败结果返回 | ✔\nCommonResult对通用返回结果进行封装 | ✔\nSpringSecurity登录改为Restful形式 | ✔\nJWT登录、注册、获取token | ✔\nJTA事务处理 | ✔\n集成单元测试 | ✔\nOSS上传功能 | ✔\nElasticsearch搜索功能 | ✔\nHTTPS支持 | ✔\nRedis数字型ID生成 | ✔\nSpringTask定时任务支持 | ✔\ndocker容器化部署 | ✔\n配置区分生产和测试环境 | ✔\nELK日志收集功能 | ✔\nRabbitMq异步通信 | ✔\nRestTemplate服务间调用 | ✔\nSpringSecurity权限管理功能 | ✔\n集成SpringCloud |\n\n## 后台功能\n\n### 后台登录功能 \n\n- 后台用户注册功能\n- 后台用户登录后获取token\n- 刷新token功能\n\n### 商品管理 \n\n> **商品分类管理**\n\n- 按父分类编号分页查看分类列表\n- 添加、编辑、删除分类\n- 转移分类商品\n\n> **商品品牌管理**\n\n- 按品牌名称搜索分页查看品牌列表\n- 添加、编辑、删除品牌\n- 查看当前品牌的所有产品\n\n> **商品属性分类管理**\n\n- 添加商品属性分类（名称）\n- 分页查询全部商品属性分类\n- 删除单个商品属性分类\n- 修改单个属性分类名称\n- 查询单个属性分类信息\n\n> **商品属性管理**\n\n- 根据分类查询属性列表或参数列表（分页，支持类型）\n- 添加商品属性\n- 查询单个商品属性\n- 编辑商品属性\n- 批量删除商品属性\n- 分页查询全部商品属性\n\n> **添加商品**\n\n- 选择商品分类：根据商品分类id查找分类\n- 选择品牌：查询全部品牌\n- 选择运费模版：查询全部运费模版\n- 设置会员价格：查询所有会员等级，传入List<PmsMemberPrice>\n- 添加阶梯价格: 参数传入List<PmsProductLadder>\n- 设置满减价格: 参数传入List<PmsProductFullReduction>\n- 选择商品属性类别:获取所有商品属性分类，根据商品属性分类的id获取规格和参数(type=0->规格；type=1->参数)\n- 选择规格并生成库存信息：前端实现\n- 添加sku库存信息：参数传入List<PmsSkuStock>\n- 设置属性图片：设置到pic和album_pics字段中去\n- 添加商品参数：参数传入List<PmsProductAttributeValue>\n- 添加自定义商品规格：参数传入List<PmsProductAttributeValue>\n- 关联专题:参数传入List<CmsSubjectProductRelation>关系\n- 关联优选:参数传入List<CmsPrefrenceAreaProductRelation>关系\n\n> **修改商品**\n\n- 根据商品id查询商品信息\n- 查询商品基本信息：商品分类名称、品牌名称、运费模版名称\n- 查询商品促销信息：商品的会员价格、阶梯价格、满减价格\n- 查询商品属性信息：商品属性类别名称、sku库存信息、属性分类对应规格和参数值\n- 查询商品关联信息：商品关联专题和关联优选\n- 修改商品信息：商品属性分类及规格不可修改，只支持单个sku的修改、删除、新增；商品属性分类及规格可以修改：修改后同时显示原sku库存及属性分类\n\n> **商品分页查询**\n\n- 商品的状态：全部商品、已上架、未上架、待审核、未通过 (publishStatus verifyStatus)\n- 商品名称(%name%)\n- 商品货号(productSn)\n- 商品分类id(productCategoryId)\n- 商品品牌id(brandId)\n- 批量操作：上下架、推荐、新品、转移分类、放入回收站、审核\n- 查看记录：审核记录，操作日志\n- sku:根据产品及sku编号获取sku信息，批量修改sku信息\n\n> **商品回收管理**\n\n- 分页展示回收商品列表\n- 回收商品还原功能\n\n#### 促销管理\n\n> **秒杀活动管理**\n\n- 活动列表展示\n- 活动上下线\n- 设置活动商品\n- 添加、编辑、删除活动\n\n> **优惠券管理**\n\n- 优惠券列表展示\n- 添加、编辑、删除优惠券\n- 查看优惠券领取记录\n\n> **活动管理**\n\n- 活动列表展示\n- 添加、编辑、删除活动\n- 活动上下线\n- 发布到广告\n\n> **首页推荐**\n\n- 品牌推荐：列表展示、是否推荐、排序、删除、多选加入品牌\n- 新鲜好物：商品列表展示、是否推荐、排序、删除、多选加入商品\n- 人气推荐：商品列表展示、是否推荐、排序、删除、多选加入商品\n- 专题精选：专题列表展示、是否推荐、排序、删除、多选加入专题\n- 广告管理：广告列表展示、是否上线、排序、删除、添加编辑广告\n\n### 内容管理\n\n> **专题管理**\n\n- 专题列表：查看、删除、推荐专题\n- 添加、编辑专题：选择专题分类、添加、删除关联商品\n- 专题分类管理：控制显示、排序、编辑删除分类\n\n> **优选主题**\n\n- 优选列表：控制显示、排序、删除\n- 添加、编辑优选：关联和删除商品\n\n> **话题管理**\n\n- 专题列表：查看、删除、热门话题\n- 话题分类管理：控制显示、排序、编辑删除分类\n\n> **帮助管理**\n\n- 帮助列表：查看、删除、控制显示\n- 添加、编辑帮助：选择帮助分类\n- 帮助分类管理：控制显示、排序、编辑删除分类\n\n### 用户管理\n\n> **用户管理**\n\n- 用户列表：帐号启用、删除、群发短信\n- 批量操作：群发短信、站内信、推送、设置标签、赠送优惠券\n- 查看、编辑用户信息：用户详情（统计信息、收货地址、订单记录）、编辑资料、登录日志\n- 购买力筛选：最近消费、消费次数、消费金额、订单均价、商品分类、会员等级、用户标签\n- 用户标签管理：标签列表、添加、编辑、删除\n- 会员等级设置：列表、添加、编辑、设置默认会员等级\n\n> **成才值及积分**\n\n- 成长值及积分查询：列表展示、积分明细、成长值明细、修改数值\n- 任务奖励设置：新手任务、日常任务\n- 更多规则设置：成长值规则、积分规则、积分消费设置\n\n### 订单管理\n\n> **订单列表**\n\n- 订单搜索：订单编号、收货人姓名/号码、订单状态、订单分类、订单来源、提交时间\n- 订单操作：查看订单、关闭订单、订单发货、订单跟踪、删除订单\n- 批量操作：批量发货、关闭订单、删除订单\n\n> **查看订单**\n\n- 订单状态：提交订单、支付订单、平台发货、确认收货、完成评价\n- 订单详情操作：修改发票信息、修改收货人信息、修改商品信息、修改费用信息、发送站内信、关闭订单、备注订单、取消订单、订单跟踪、删除订单\n- 订单基本信息：订单信息、优惠信息、用户信息\n- 发票信息：类型、抬头、内容、收票人信息\n- 收货人信息：收货人、手机号、邮政编码、收货地址\n- 商品信息：包含商品基本信息\n- 费用信息：合计及优惠信息\n- 操作信息：订单状态改变记录\n\n> **订单设置**\n\n- 秒杀订单超时时间\n- 正常订单超时时间\n- 订单自动完成时间\n- 自动结束交易时间\n- 自动好评时间\n\n> **退货申请处理**\n\n- 退货申请搜索：服务单号、收货人姓名/号码、处理状态、申请时间、操作人员、处理时间\n- 批量操作：删除\n- 查看详情：退货商品、服务单信息、确认退货、拒绝退货、确认收货\n\n> **退货原因设置**\n\n- 原因列表：类型、排序、是否启用、添加时间\n- 添加、编辑原因：同上\n- 批量操作：删除\n\n### 权限管理\n\n> **权限管理**\n\n- 权限管理：添加权限、删除权限、修改权限、以树形结构返回权限\n- 角色管理：添加角色、删除角色、更新角色、角色列表、获取相应角色权限、修改相应角色权限\n- 成员管理：添加、编辑、删除成员、成员列表、为成员分配角色、获取成员角色、分配+-权限、获取权限列表\n\n角色 | 菜单 \n----|----\n管理员 | 所有菜单权限\n运营 | 首页、用户、促销、运营、内容\n财务 | 首页、统计、财务\n美工 | 首页、商品\n客服 | 首页、商品、订单\n\n## 前台功能\n\n### 商品搜索\n\n> **综合搜索功能**\n\n- 搜索：根据商品标题、副标题、关键字进行搜索；\n- 筛选：未选择分类时聚合搜索结果，选择出现次数最多的分类，选择分类以后可以根据选择分类的筛选字段进行筛选；\n- 排序：按新品、销量、价格进行排序\n- 搜索返回结果：商品ID、商品图片、名称、副标题、价格、商品销量、新品、商品的参数、品牌名称、分类名称\n- 接口：从数据库中查询相关数据并导入es,插入（修改）数据接口，删除数据接口\n- 品牌分类筛选：根据搜索结果聚合返回品牌、分类及属性\n\n> **商品推荐功能**\n\n- 推荐某商品的相关商品、根据该商品的品牌（10）、分类（6）、名称（8）、关键字（2）、副标题（2）\n- 根据用户一周浏览记录推荐商品，根据用户搜索记录推荐商品\n\n> **商品热搜功能**\n\n- 根据用户搜索记录聚合生成热搜词\n\n> **商品搜索联想功能** \n\n- 根据用户搜索记录聚合生成热搜词\n\n### 购物流程\n\n> **购物车** \n\n- 添加商品到购物车\n- 购物车商品列表（商品主图、商品名称、商品数量、商品规格）\n- 修改购物车中商品数量\n- 购物车中商品重选规格\n- 购物车中商品删除功能\n\n> **生成确认单** \n\n- 生成确认单信息：收货信息、商品信息、价格信息、发票信息、支付方式\n- 选择收货地址：默认收货地址\n- 选择优惠券及积分抵扣：展示可用优惠券和不可以优惠券\n- 计算商品价格：商品合计、运费、优惠券抵扣、积分抵扣、活动优惠\n- 选择支付方式：在线支付及货到付款\n- 计算应付金额：合计+运费-优惠券抵扣-积分抵扣-活动优惠\n\n> **提交订单** \n\n- 将确认单信息转化为订单\n- 删除购物车中相关商品\n- 添加订单到数据库并锁定库存\n- 在线支付选择支付方式：支付宝、微信、银联、ApplePay\n\n> **支付订单**\n\n- 支付完成后修改订单状态为已支付、扣除库存\n\n> **取消订单（未支付情况下）**\n\n- 订单超时后自动取消订单，解除商品库存锁定，返还优惠券，积分\n\n#### 会员模块（我的）\n\n> **我的关注**\n\n- 关注品牌列表：品牌logo、名称、地址、关注数量\n- 取消关注功能\n- 关注列表展示\n\n> **我的收藏**\n\n- 收藏的商品：商品主图、名称、卖点、价格、找相似\n- 收藏的专题：专题主图、标题、副标题、收藏数、浏览数、评论数\n- 收藏的话题：话题主图、标题、副标题、收藏数、浏览数、评论数\n\n> **我的足迹**\n\n- 浏览过的商品：商品主图、名称、卖点、价格、找相似\n- 删除记录功能\n- 浏览列表展示\n\n> **会员登录注册**\n\n- 登录功能：https登录\n- 注册功能：用户名、密码、手机号、手机验证码\n- 获取验证码：后台生成验证码，验证码绑定手机号\n- 忘记密码：手机号、短信验证码、新密码\n- 登出功能\n"
  },
  {
    "path": "document/reference/docker.md",
    "content": "# Docker入门手册\n\n## Docker 镜像常用命令\n### 搜索镜像\ndocker search java\n### 下载镜像\n- docker pull java:8\n- docker pull macro/eureka-server:0.0.1\n### 列出镜像\ndocker images\n### 删除镜像\n- docker rmi java\n- docker rmi -f java \n- docker rmi -f $(docker images)\n\n## Docker 容器常用命令\n### 新建并启动容器\ndocker run -d -p 91:80 nginx\n### 列出容器\ndocker ps\n### 停止容器\ndocker stop $ContainerId\n### 强制停止容器\ndocker kill $ContainerId\n### 启动已停止的容器\ndocker start $ContainerId\n### 进入容器\n- docker inspect --format \"{{.State.Pid}}\" $ContainerId\n- nsenter --target \"$pid\" --mount --uts --ipc --net --pid\n### 删除容器\n- docker rm $ContainerId\n- docker rm -f $(docker ps -a -q)\n### 查看启动错误日志\ndocker logs $ContainerIdName(或者$ContainerId)\n### 查看容器的IP地址（172.17.0.*）\ndocker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerId\n### 同步宿主机时间到容器\ndocker cp /etc/localtime $ContainerName:/etc/\n### 在宿主机查看docker使用cpu、内存、网络、io情况\n- 查看指定容器情况：docker stats $ContainerName\n- 查看所有容器情况：docker stats -a\n### 进入docker内部的bash\ndocker exec -it $ContainerName /bin/bash\n\n## Docker Registry\n### Docker Registry 2.0搭建\ndocker run -d -p 5000:5000 --restart=always --name registry2 registry:2\n### 推送到私有仓库\ndocker push localhost:5000/macro/eureka-server:0.0.1\n### 修改镜像标签\ndocker tag macro/eureka-server:0.0.1 localhost:5000/macro/eureka-server:0.0.1\n\n## 使用maven构建Docker镜像\n### 构建镜像\n- command：mvn clean package docker:build\n- tip：\n    Linux服务器需要开启远程api:vi /usr/lib/systemd/system/docker.service\n    修改为：ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock   \n### 推送镜像到私有仓库\n- command：mvn clean package docker:build -DpushImage\n- tip：\n    pom.xml修改<imageName>192.168.1.71:5000/macro/${project.artifactId}:${project.version}</imageName>\n- tip：\n    docker要支持http:echo '{ \"insecure-registries\":[\"39.98.190.128:5000\"] }' > /etc/docker/daemon.json \n### 修改Docker镜像存放位置\n1. 查看Docker的存放位置：docker info | grep \"Docker Root Dir\"（默认为/var/lib/docker）\n2. 关闭Docker服务：systemctl stop docker\n3. 移动目录到目标路径：mv /var/lib/docker /root/data/docker\n4. 建立软连接：ln -s /root/data/docker /var/lib/docker\n\n## Docker compose\n### 安装\n1. 下载地址：https://github.com/docker/compose/releases\n2. 安装地址：/usr/local/bin/docker-compose\n3. 设置为可执行：sudo chmod +x /usr/local/bin/docker-compose\n4. 测试是否安装成功：docker-compose --version\n\n### 安装命令补全工具\nsudo curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose\n\n### 常用命令\n- 构建、创建、启动相关容器：docker-compose up\n- 列出所有容器：docker-compose ps\n- 删除指定服务的容器：docker-compose rm eureka\n- 对容器进行动态扩容：docker-compose scale eureka=3\n- 停止相关容器：docker-compose stop eureka\n- 启动相关容器：docker-compose start eureka\n\n### 编排SpringCloud微服务\n#### 所使用到的工程\n- eureka-server\n- hello-service\n- feign-consumer\n- api-gateway\n#### 编排模式\n1. 编排SpringCloud微服务：见eureka-server/docker-res/docker-compose.yml\n2. 简化SpringCloud微服务编排：见eureka-server/docker-res/docker-compose-simple.yml\n3. 编排高可用的注册中心：见eureka-server/docker-res/docker-compose-eureka.yml"
  },
  {
    "path": "document/reference/function.md",
    "content": "# mall功能结构说明\n\n## 后台管理系统\n\n### 商品管理\n\n![功能结构图-商品.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_product.jpg)\n\n### 订单管理\n\n![功能结构图-订单.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_order.jpg)\n\n### 促销管理\n\n![功能结构图-促销.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_sale.jpg)\n\n### 内容管理\n\n![功能结构图-内容.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_content.jpg)\n\n### 用户管理\n\n![功能结构图-用户.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_member.jpg)\n\n## 前台商城系统 \n\n![功能结构图-前台.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_portal.jpg)"
  },
  {
    "path": "document/reference/linux.md",
    "content": "# Linux常用命令\n\n## 系统服务管理\n\n### systemctl\n\n- 启动服务：systemctl start httpd.service\n- 关闭服务：systemctl stop httpd.service\n- 重启服务（不管是否在运行）：systemctl restart httpd.service\n- 重新载入配置（不中断服务）：systemctl reload httpd.service\n- 查看运行状态：systemctl status httpd.service\n- 设置开机启动：systemctl enable httpd.service\n- 禁止开机启动：systemctl disable httpd.service\n- 查看系统安装的服务：systemctl list-units --type=service\n\n## 文件管理\n\n### ls\n列出/home目录下的子目录：ls -l /home\n列出当前文件夹下所有文件夹及文件大小：ls -lht \n\n### pwd\n显示当前工作目录\n\n### cd\n切换目录： cd /usr/local\n\n### date\n以指定格式显示日期；date '+date:%x time:%X'\n\n### passwd\n修改root密码：passwd root\n\n### su\n普通用户切换到超级用户：su -\n\n### clear\n清除屏幕信息\n\n### man\n查看ls命令的帮助信息：man ls\n\n### who\n- 查看当前运行级别：who -r\n- 显示用的登录详情：who -buT\n\n### free\n以MB显示内存使用状态：free -m\n\n### ps\n查看系统所有进程：ps -ef\n查看运行的java进程： ps -ef | grep java\n\n### top\n查看系统当前活跃进程信息\n\n### mkdir\n创建目录\n\n### more \n\n分页查看  \n每10行显示一屏查看：more -c -10 \n\n### cat\n查看config文件：cat -Ab config\n\n### rm\n- 删除文件：rm a.txt\n- 删除文件夹： rm -rf a/\n\n### touch\n创建一个文件：touch a.txt\n\n### cp\n将目录a的文件拷贝到目录b: cp -r /home/a /home/b\n\n### mv\n移动或覆盖文件：mv a.txt b.txt\n\n## 压缩与解压\n\n### tar\n- 打包文件夹到单独的文件：tar -cvf /opt/etc.tar /etc\n- 压缩文件夹到压缩文件（gzip）：tar -zcvf /opt/etc.tar.gz /etc\n- 压缩文件夹到压缩文件（bzip2）：tar -jcvf /opt/etc.tar.bz2 /etc\n- 查阅压缩包中内容（gzip）：tar -ztvf /opt/etc.tar.gz /etc\n- 解压文件到当前目录（gzip）：tar -zxvf /opt/etc.tar.gz\n\n## 磁盘和网络管理\n\n### df\n查看磁盘占用情况：df -hT\n\n### ifconfig\n查看当前网络接口状态\n\n### netstat\n\n- 查看路由信息：netstat -rn\n- 查看所有有效TCP连接：netstat -an\n- 查看系统中启动的监听服务：netstat -tulnp\n- 查看处于连接状态的系统资源信息：netstat -atunp\n\n### wget\n从网络上下载软件\n\n## 软件的安装与管理\n\n### rpm\n\n- 安装软件包：rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm\n- 模糊搜索软件包：rpm -qa | grep nginx\n- 精确查找软件包：rpm -qa nginx\n- 查询软件包的安装路径：rpm -ql nginx-1.12.2-2.el7.x86_64\n- 查看软件包的概要信息：rpm -qi nginx-1.12.2-2.el7.x86_64\n- 验证软件包内容和安装文件是否一致：rpm -V nginx-1.12.2-2.el7.x86_64\n- 更新软件包：rpm -Uvh nginx-1.12.2-2.el7.x86_64\n- 删除软件包：rpm -e nginx-1.12.2-2.el7.x86_64\n\n### yum\n\n- 安装软件包： yum install nginx\n- 检查可以更新的软件包：yum check-update\n- 更新指定的软件包：yum update nginx\n- 在资源库中查找软件包信息：yum info nginx*\n- 列出已经安装的所有软件包：yum info installed\n- 列出软件包名称：yum list redis*\n- 模糊搜索软件包：yum search redis\n\n## 网络安全\n\n### iptables\n\n- 开启防火墙：systemctl start iptables.service\n- 关闭防火墙：systemctl stop iptables.service\n- 查看防火墙状态：systemctl status iptables.service\n- 设置开机启动：systemctl enable iptables.service\n- 禁用开机启动：systemctl disable iptables.service\n- 查看filter表的链信息：iptables -L -n\n- 查看NAT表的链信息：iptables -t nat -L -n\n- 清除防火墙所有规则：iptables -F;iptables -X;iptables -Z;\n- 添加过滤规则（开发80端口）：iptables -I INPUT -p tcp --dport 80 -j ACCEPT\n- 查找规则所做行号：iptables -L INPUT --line-numbers -n\n- 根据行号删除过滤规则：iptables -D INPUT 1\n\n\n\n"
  },
  {
    "path": "document/reference/mysql.md",
    "content": "# Mysql常用命令\n\n## 数据定义语句(DDL)\n\n### 数据库操作\n\n- 登录数据库：mysql -uroot -proot\n- 创建数据库：create database test\n- 查看所有数据库：show databases\n- 使用数据库：use test\n- 查看所有数据表：show tables\n- 删除数据库：drop database test\n\n### 表操作\n\n- 创建表：create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2))  \n         create table dept(deptno int(2),deptname varchar(10))\n- 查看表的定义：desc emp\n- 查看表定义（详细）：show create table emp \\G\n- 删除表：drop table emp\n- 修改表字段：alter table emp modify ename varchar(20)\n- 添加表字段：alter table emp add column age int(3)\n- 删除表字段：alter table emp drop column age\n- 字段改名；alter table emp change age age1 int(4)\n- 修改表名：alter table emp rename emp1\n\n## 数据操纵语句(DML)\n\n### 插入记录\n\n- 指定名称插入：insert into emp (ename,hiredate,sal,deptno) values ('zhangsan','2018-01-01','2000',1)\n- 不指定名称插入：insert into emp values ('lisi','2018-01-01','2000',1)\n- 批量插入数据：insert into dept values(1,'dept1'),(2,'dept2')\n\n### 修改记录\n\nupdate emp set sal='4000',deptno=2 where ename='zhangsan'\n\n### 删除记录\n\ndelete from emp where ename='zhangsan'\n\n### 查询记录\n\n- 查询所有记录：select * from emp\n- 查询不重复的记录：select distinct deptno from emp\n- 条件查询：select * from emp where deptno=1 and sal<3000\n- 排序和限制：select * from emp order by deptno desc limit 2\n- 聚合(查询部门人数大于1的部门编号)：select deptno,count(1) from emp group by deptno having count(1) > 1\n- 连接查询：select * from emp e left join dept d on e.deptno=d.deptno\n- 子查询：select * from emp where deptno in (select deptno from dept)\n- 记录联合：select deptno from emp union select deptno from dept\n\n## 数据控制语句(DCL)\n\n- 授予操作权限：grant select,insert on test.* to 'test'@'localhost' identified by '123'\n- 收回操作权限：revoke insert on test.* from 'test'@'localhost'\n\n## 其他\n\n### 字符集相关\n- 查看字符集：show variables like 'character%'\n- 创建数据库时指定字符集：create database mall character set utf8\n\n### 修改时区\n- 修改mysql全局时区为北京时间，即我们所在的东8区：set global time_zone = '+8:00';\n- 修改当前会话时区：set time_zone = '+8:00'\n- 立即生效：flush privileges\n\n### 权限相关\n- 授予所有数据库的所有权限：grant all privileges on *.* to z1@localhost identified by '123'\n- 授予所有数据库的所有权限(包括grant)：grant all privileges on *.* to z1@localhost with grant option\n- 授予SUPER PROCESS FILE权限：grant super,process,file on *.* to z3@localhost\n- 只授予登录权限：grant usage on *.* to z4@localhost\n- 查看账号权限：show grants for z1@localhost\n- 修改自己的密码：set password = password('123')\n- 管理员修改他人密码：set password for 'z1'@'localhost' = password('123')\n- 删除账号：drop user z2@localhost"
  },
  {
    "path": "document/reference/shortcut.md",
    "content": "# 设置IDEA快捷键为Eclipse风格\n\n- 点击File->Settings->Keymap，选择快捷键风格为Eclipse\n- 按如下表格中的英文描述进行搜索，并改为相应快捷键\n\nEclipse | IDEA | 英文描述 | 中文描述\n----|----|----|----\nctrl+shift+r\t|ctrl+shift+r\t|Navigate->File\t|找工作空间的文件\nctrl+shift+t\t|ctrl+shift+t\t|Navigate->Class\t|找类定义\nctrl+shift+g\t|ctrl+shift+g\t|Edit->Find->Find Usages\t|查找方法在哪里调用.变量在哪里被使用\nctrl+t\t|ctrl+t\t|Other->Hierarchy Class\t|看类继承结构\nctrl+o\t|ctrl+o\t|Navigate->File Structure\t|搜索一个类里面的方法\nshift+alt+z\t|shift+alt+z\t|Code->Surround With\t|生成常见的代码块\nshift+alt+l\t|shift+alt+l\t|Refactor->Extract->Variable\t|抽取变量\nshift+alt+m\t|shift+alt+m\t|Refactor->Extract->Method\t|抽取方法\nalt+left\t|alt+left\t|Navigate->Back\t|回退上一个操作位置\nalt+right\t|alt+right\t|Navigate->Forward\t|前进上一个操作位置\nctrl+home\t|ctrl+home\t|Move Caret to Text Start\t|回到类最前面\nctrl+end\t|ctrl+end\t|Move Caret to Text End\t|回到类最后面\nctrl+2 L\t|shift+alt+l\t|Refactor->Extract->Variable\t|抽取变量\nctrl+e\t|alt+r\t|View->Recent Files\t|最近打开的文件\nctrl+w\t|ctrl+w\t|Close\t|关闭当前窗口\nalt+/\t|alt+/\t|Code->Completion->Basic\t|提示变量生成\nctrl+1\t|ctrl+1\t|Other->Show Intention Actions\t|提示可能的操作\nctrl+h\t|ctrl+h\t|Find in Path\t|全局搜索\nalt+上/下箭头\t|alt+上/下箭头\t|Code->Move Line Up/Down\t|移动一行代码\nctrl+alt+上/下箭头\t|ctrl+alt+上/下箭头\t|Editor Actions->Duplicate Lines\t|复制一行\nctrl+shift+j\t|ctrl+shift+j\t|Other->Fix doc comment\t|方法注释\n暂无|alt+enter\t|Other->Show Intention Actions\t|提示常见操作\nCtrl+F\t|Ctrl+F/Ctrl+R\t|Find/Replace\t|查找替换\nShift+Enter\t|Shift+Enter\t|Start New Line\t|开启新的一行\nCtrl+Alt+S\t|Ctrl+Alt+S\t|Generate\t|生成getter,setter,tostring等\n"
  },
  {
    "path": "document/sh/Dockerfile",
    "content": "# 该镜像需要依赖的基础镜像\nFROM openjdk:8\n# 将当前目录下的jar包复制到docker容器的/目录下\nADD mall-admin-1.0-SNAPSHOT.jar /mall-admin-1.0-SNAPSHOT.jar\n# 声明服务运行在8080端口\nEXPOSE 8080\n# 指定docker容器启动时运行jar包\nENTRYPOINT [\"java\", \"-jar\",\"/mall-admin-1.0-SNAPSHOT.jar\"]\n# 指定维护者的名字\nMAINTAINER macro"
  },
  {
    "path": "document/sh/mall-admin.sh",
    "content": "#!/usr/bin/env bash\napp_name='mall-admin'\ndocker stop ${app_name}\necho '----stop container----'\ndocker rm ${app_name}\necho '----rm container----'\ndocker rmi `docker images | grep none | awk '{print $3}'`\necho '----rm none images----'\ndocker run -p 8080:8080 --name ${app_name} \\\n--link mysql:db \\\n--link redis:redis \\\n-e TZ=\"Asia/Shanghai\" \\\n-v /etc/localtime:/etc/localtime \\\n-v /mydata/app/${app_name}/logs:/var/logs \\\n-d mall/${app_name}:1.0-SNAPSHOT\necho '----start container----'"
  },
  {
    "path": "document/sh/mall-portal.sh",
    "content": "#!/usr/bin/env bash\napp_name='mall-portal'\ndocker stop ${app_name}\necho '----stop container----'\ndocker rm ${app_name}\necho '----rm container----'\ndocker rmi `docker images | grep none | awk '{print $3}'`\necho '----rm none images----'\ndocker run -p 8085:8085 --name ${app_name} \\\n--link mysql:db \\\n--link redis:redis \\\n--link mongo:mongo \\\n--link rabbitmq:rabbit \\\n-e TZ=\"Asia/Shanghai\" \\\n-v /etc/localtime:/etc/localtime \\\n-v /mydata/app/${app_name}/logs:/var/logs \\\n-d mall/${app_name}:1.0-SNAPSHOT\necho '----start container----'"
  },
  {
    "path": "document/sh/mall-search.sh",
    "content": "#!/usr/bin/env bash\napp_name='mall-search'\ndocker stop ${app_name}\necho '----stop container----'\ndocker rm ${app_name}\necho '----rm container----'\ndocker rmi `docker images | grep none | awk '{print $3}'`\necho '----rm none images----'\ndocker run -p 8081:8081 --name ${app_name} \\\n--link mysql:db \\\n--link elasticsearch:es \\\n-e TZ=\"Asia/Shanghai\" \\\n-v /etc/localtime:/etc/localtime \\\n-v /mydata/app/${app_name}/logs:/var/logs \\\n-d mall/${app_name}:1.0-SNAPSHOT\necho '----start container----'"
  },
  {
    "path": "document/sh/run.sh",
    "content": "#!/usr/bin/env bash\n# 定义应用组名\ngroup_name='mall'\n# 定义应用名称\napp_name='mall-admin'\n# 定义应用版本\napp_version='1.0-SNAPSHOT'\n# 定义应用环境\nprofile_active='prod'\necho '----copy jar----'\ndocker stop ${app_name}\necho '----stop container----'\ndocker rm ${app_name}\necho '----rm container----'\ndocker rmi ${group_name}/${app_name}:${app_version}\necho '----rm image----'\n# 打包编译docker镜像\ndocker build -t ${group_name}/${app_name}:${app_version} .\necho '----build image----'\ndocker run -p 8080:8080 --name ${app_name} \\\n--link mysql:db \\\n--link redis:redis \\\n-e 'spring.profiles.active'=${profile_active} \\\n-e TZ=\"Asia/Shanghai\" \\\n-v /etc/localtime:/etc/localtime \\\n-v /mydata/app/${app_name}/logs:/var/logs \\\n-d ${group_name}/${app_name}:${app_version}\necho '----start container----'"
  },
  {
    "path": "document/sql/mall.sql",
    "content": "/*\n Navicat Premium Data Transfer\n\n Source Server         : localhost\n Source Server Type    : MySQL\n Source Server Version : 50719\n Source Host           : localhost:3306\n Source Schema         : mall\n\n Target Server Type    : MySQL\n Target Server Version : 50719\n File Encoding         : 65001\n\n Date: 11/05/2023 15:48:15\n*/\n\nSET NAMES utf8mb4;\nSET FOREIGN_KEY_CHECKS = 0;\n\n-- ----------------------------\n-- Table structure for cms_help\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_help`;\nCREATE TABLE `cms_help`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `category_id` bigint(20) NULL DEFAULT NULL,\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `show_status` int(1) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `read_count` int(1) NULL DEFAULT NULL,\n  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '帮助表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_help\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for cms_help_category\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_help_category`;\nCREATE TABLE `cms_help_category`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标',\n  `help_count` int(11) NULL DEFAULT NULL COMMENT '专题数量',\n  `show_status` int(2) NULL DEFAULT NULL,\n  `sort` int(11) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '帮助分类表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_help_category\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for cms_member_report\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_member_report`;\nCREATE TABLE `cms_member_report`  (\n  `id` bigint(20) NULL DEFAULT NULL,\n  `report_type` int(1) NULL DEFAULT NULL COMMENT '举报类型：0->商品评价；1->话题内容；2->用户评论',\n  `report_member_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '举报人',\n  `create_time` datetime NULL DEFAULT NULL,\n  `report_object` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `report_status` int(1) NULL DEFAULT NULL COMMENT '举报状态：0->未处理；1->已处理',\n  `handle_status` int(1) NULL DEFAULT NULL COMMENT '处理结果：0->无效；1->有效；2->恶意',\n  `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL\n) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户举报表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_member_report\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for cms_prefrence_area\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_prefrence_area`;\nCREATE TABLE `cms_prefrence_area`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `sub_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `pic` varbinary(500) NULL DEFAULT NULL COMMENT '展示图片',\n  `sort` int(11) NULL DEFAULT NULL,\n  `show_status` int(1) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优选专区' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_prefrence_area\n-- ----------------------------\nINSERT INTO `cms_prefrence_area` VALUES (1, '让音质更出众', '音质不打折 完美现场感', NULL, NULL, 1);\nINSERT INTO `cms_prefrence_area` VALUES (2, '让音质更出众22', '让音质更出众22', NULL, NULL, NULL);\nINSERT INTO `cms_prefrence_area` VALUES (3, '让音质更出众33', NULL, NULL, NULL, NULL);\nINSERT INTO `cms_prefrence_area` VALUES (4, '让音质更出众44', NULL, NULL, NULL, NULL);\n\n-- ----------------------------\n-- Table structure for cms_prefrence_area_product_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_prefrence_area_product_relation`;\nCREATE TABLE `cms_prefrence_area_product_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `prefrence_area_id` bigint(20) NULL DEFAULT NULL,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优选专区和产品关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_prefrence_area_product_relation\n-- ----------------------------\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (1, 1, 12);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (2, 1, 13);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (3, 1, 14);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (4, 1, 18);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (5, 1, 7);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (6, 2, 7);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (7, 1, 22);\nINSERT INTO `cms_prefrence_area_product_relation` VALUES (24, 1, 23);\n\n-- ----------------------------\n-- Table structure for cms_subject\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_subject`;\nCREATE TABLE `cms_subject`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `category_id` bigint(20) NULL DEFAULT NULL,\n  `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专题主图',\n  `product_count` int(11) NULL DEFAULT NULL COMMENT '关联产品数量',\n  `recommend_status` int(1) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `collect_count` int(11) NULL DEFAULT NULL,\n  `read_count` int(11) NULL DEFAULT NULL,\n  `comment_count` int(11) NULL DEFAULT NULL,\n  `album_pics` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '画册图片用逗号分割',\n  `description` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `show_status` int(1) NULL DEFAULT NULL COMMENT '显示状态：0->不显示；1->显示',\n  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,\n  `forward_count` int(11) NULL DEFAULT NULL COMMENT '转发数',\n  `category_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专题分类名称',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_subject\n-- ----------------------------\nINSERT INTO `cms_subject` VALUES (1, 1, 'polo衬衫的也时尚', NULL, NULL, NULL, '2018-11-11 13:26:55', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '服装专题');\nINSERT INTO `cms_subject` VALUES (2, 2, '大牌手机低价秒', NULL, NULL, NULL, '2018-11-12 13:27:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '手机专题');\nINSERT INTO `cms_subject` VALUES (3, 2, '晓龙845新品上市', NULL, NULL, NULL, '2018-11-13 13:27:05', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '手机专题');\nINSERT INTO `cms_subject` VALUES (4, 1, '夏天应该穿什么', NULL, NULL, NULL, '2018-11-01 13:27:09', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '服装专题');\nINSERT INTO `cms_subject` VALUES (5, 1, '夏季精选', NULL, NULL, NULL, '2018-11-06 13:27:18', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '服装专题');\nINSERT INTO `cms_subject` VALUES (6, 2, '品牌手机降价', NULL, NULL, NULL, '2018-11-07 13:27:21', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '手机专题');\n\n-- ----------------------------\n-- Table structure for cms_subject_category\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_subject_category`;\nCREATE TABLE `cms_subject_category`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标',\n  `subject_count` int(11) NULL DEFAULT NULL COMMENT '专题数量',\n  `show_status` int(2) NULL DEFAULT NULL,\n  `sort` int(11) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题分类表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_subject_category\n-- ----------------------------\nINSERT INTO `cms_subject_category` VALUES (1, '服装专题', NULL, NULL, NULL, NULL);\nINSERT INTO `cms_subject_category` VALUES (2, '手机专题', NULL, NULL, NULL, NULL);\n\n-- ----------------------------\n-- Table structure for cms_subject_comment\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_subject_comment`;\nCREATE TABLE `cms_subject_comment`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `subject_id` bigint(20) NULL DEFAULT NULL,\n  `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `show_status` int(1) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题评论表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_subject_comment\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for cms_subject_product_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_subject_product_relation`;\nCREATE TABLE `cms_subject_product_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `subject_id` bigint(20) NULL DEFAULT NULL,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 71 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题商品关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_subject_product_relation\n-- ----------------------------\nINSERT INTO `cms_subject_product_relation` VALUES (1, 1, 12);\nINSERT INTO `cms_subject_product_relation` VALUES (2, 1, 13);\nINSERT INTO `cms_subject_product_relation` VALUES (3, 1, 14);\nINSERT INTO `cms_subject_product_relation` VALUES (4, 1, 18);\nINSERT INTO `cms_subject_product_relation` VALUES (5, 1, 7);\nINSERT INTO `cms_subject_product_relation` VALUES (6, 2, 7);\nINSERT INTO `cms_subject_product_relation` VALUES (7, 1, 22);\nINSERT INTO `cms_subject_product_relation` VALUES (29, 1, 23);\nINSERT INTO `cms_subject_product_relation` VALUES (30, 4, 23);\nINSERT INTO `cms_subject_product_relation` VALUES (31, 5, 23);\nINSERT INTO `cms_subject_product_relation` VALUES (68, 2, 26);\nINSERT INTO `cms_subject_product_relation` VALUES (69, 3, 26);\nINSERT INTO `cms_subject_product_relation` VALUES (70, 6, 26);\n\n-- ----------------------------\n-- Table structure for cms_topic\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_topic`;\nCREATE TABLE `cms_topic`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `category_id` bigint(20) NULL DEFAULT NULL,\n  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `start_time` datetime NULL DEFAULT NULL,\n  `end_time` datetime NULL DEFAULT NULL,\n  `attend_count` int(11) NULL DEFAULT NULL COMMENT '参与人数',\n  `attention_count` int(11) NULL DEFAULT NULL COMMENT '关注人数',\n  `read_count` int(11) NULL DEFAULT NULL,\n  `award_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '奖品名称',\n  `attend_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参与方式',\n  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '话题内容',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '话题表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_topic\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for cms_topic_category\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_topic_category`;\nCREATE TABLE `cms_topic_category`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标',\n  `subject_count` int(11) NULL DEFAULT NULL COMMENT '专题数量',\n  `show_status` int(2) NULL DEFAULT NULL,\n  `sort` int(11) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '话题分类表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_topic_category\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for cms_topic_comment\n-- ----------------------------\nDROP TABLE IF EXISTS `cms_topic_comment`;\nCREATE TABLE `cms_topic_comment`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `topic_id` bigint(20) NULL DEFAULT NULL,\n  `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `show_status` int(1) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题评论表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of cms_topic_comment\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for oms_cart_item\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_cart_item`;\nCREATE TABLE `oms_cart_item`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `product_sku_id` bigint(20) NULL DEFAULT NULL,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `quantity` int(11) NULL DEFAULT NULL COMMENT '购买数量',\n  `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '添加到购物车的价格',\n  `product_pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品主图',\n  `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称',\n  `product_sub_title` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品副标题（卖点）',\n  `product_sku_code` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品sku条码',\n  `member_nickname` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会员昵称',\n  `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间',\n  `delete_status` int(1) NULL DEFAULT 0 COMMENT '是否删除',\n  `product_category_id` bigint(20) NULL DEFAULT NULL COMMENT '商品分类',\n  `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_sn` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性:[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"颜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"4G\\\"}]',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_cart_item\n-- ----------------------------\nINSERT INTO `oms_cart_item` VALUES (12, 26, 90, 1, 1, 3788.00, NULL, '华为 HUAWEI P20', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2018-08-27 16:53:44', NULL, 1, 19, NULL, NULL, NULL);\nINSERT INTO `oms_cart_item` VALUES (13, 27, 98, 1, 3, 2699.00, NULL, '小米8', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2018-08-27 17:11:53', NULL, 1, 19, NULL, NULL, NULL);\nINSERT INTO `oms_cart_item` VALUES (14, 28, 102, 1, 1, 649.00, NULL, '红米5A', '8天超长待机，137g轻巧机身，高通骁龙处理器小米6X低至1299，点击抢购', '201808270028001', 'windir', '2018-08-27 17:18:02', NULL, 1, 19, NULL, NULL, NULL);\nINSERT INTO `oms_cart_item` VALUES (15, 28, 103, 1, 1, 699.00, NULL, '红米5A', '8天超长待机，137g轻巧机身，高通骁龙处理器小米6X低至1299，点击抢购', '201808270028001', 'windir', '2018-08-28 10:22:45', NULL, 1, 19, NULL, NULL, NULL);\nINSERT INTO `oms_cart_item` VALUES (16, 29, 106, 1, 1, 5499.00, NULL, 'Apple iPhone 8 Plus', '【限时限量抢购】Apple产品年中狂欢节，好物尽享，美在智慧！速来 >> 勾选[保障服务][原厂保2年]，获得AppleCare+全方位服务计划，原厂延保售后无忧。', '201808270029001', 'windir', '2018-08-28 10:50:50', NULL, 1, 19, NULL, NULL, NULL);\nINSERT INTO `oms_cart_item` VALUES (19, 36, 163, 1, 3, 100.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036001', 'windir', '2020-02-25 15:51:59', NULL, 1, 29, 'NIKE', '6799345', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (20, 36, 164, 1, 2, 120.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036001', 'windir', '2020-02-25 15:54:23', NULL, 1, 29, 'NIKE', '6799345', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (21, 36, 164, 1, 2, 120.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036001', 'windir', '2020-02-25 16:49:53', NULL, 1, 29, 'NIKE', '6799345', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (22, 26, 110, 1, 3, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 15:34:24', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (23, 27, 98, 1, 7, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-04 15:35:43', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (24, 26, 110, 1, 4, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 16:58:17', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (25, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-04 16:58:23', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (26, 28, 102, 1, 4, 649.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '8天超长待机，137g轻巧机身，高通骁龙处理器小米6X低至1299，点击抢购', '201808270028001', 'windir', '2020-05-04 16:58:26', NULL, 1, 19, '小米', '7437789', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (27, 29, 106, 1, 1, 4999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', '【限时限量抢购】Apple产品年中狂欢节，好物尽享，美在智慧！速来 >> 勾选[保障服务][原厂保2年]，获得AppleCare+全方位服务计划，原厂延保售后无忧。', '201808270029001', 'windir', '2020-05-04 16:58:29', NULL, 1, 19, '苹果', '7437799', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (28, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 17:07:20', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (29, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-04 17:07:23', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (30, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 17:08:14', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (31, 29, 106, 1, 1, 4999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', '【限时限量抢购】Apple产品年中狂欢节，好物尽享，美在智慧！速来 >> 勾选[保障服务][原厂保2年]，获得AppleCare+全方位服务计划，原厂延保售后无忧。', '201808270029001', 'windir', '2020-05-04 17:09:56', NULL, 1, 19, '苹果', '7437799', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (32, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-04 17:13:50', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (33, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-04 17:16:15', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (34, 36, 164, 1, 1, 120.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036002', 'windir', '2020-05-04 17:19:20', NULL, 1, 29, 'NIKE', '6799345', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (35, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-05 10:41:39', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (36, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-05 10:41:55', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (37, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-05 10:42:57', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (38, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-05 14:29:28', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (39, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-05 14:32:52', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (40, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-05 14:33:20', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (41, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-05 14:49:13', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (42, 26, 111, 1, 1, 3999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026002', 'windir', '2020-05-05 15:26:05', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (43, 28, 102, 1, 1, 649.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '8天超长待机，137g轻巧机身，高通骁龙处理器小米6X低至1299，点击抢购', '201808270028001', 'windir', '2020-05-16 15:16:04', NULL, 1, 19, '小米', '7437789', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (44, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-16 15:18:00', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (45, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:00:16', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (46, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-17 15:00:22', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (47, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:14:14', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (48, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:20:03', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (49, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:21:54', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (50, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 16:07:22', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (51, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-17 16:07:26', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (52, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 19:33:36', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (53, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-17 19:33:39', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (54, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 19:39:07', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (55, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 19:41:26', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (56, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-18 16:50:00', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (57, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-18 20:22:04', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (58, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-18 20:22:08', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (59, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-23 16:21:13', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (60, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-05-23 17:01:28', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (61, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-24 09:36:50', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (62, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-24 09:44:39', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (63, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-06-07 17:01:48', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (64, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-06-14 15:24:40', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (65, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-06-21 14:27:13', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (66, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-06-21 15:12:14', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (67, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-06-21 15:12:53', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (68, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-06-21 15:15:10', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (69, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2020-06-27 10:27:48', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (70, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '201808270027001', 'windir', '2022-10-28 14:50:46', NULL, 1, 19, '小米', '7437788', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (71, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 紫色 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'windir', '2022-10-28 15:27:32', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (72, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'windir', '2022-11-09 15:14:46', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (73, 38, 213, 1, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', '【11.11大爱超大爱】iPad9代限量抢购，价格优惠，更享以旧换新至高补贴325元！！快来抢购吧！！ ', '202210280038001', 'windir', '2022-11-09 15:25:28', NULL, 1, 53, '苹果', '100044025833', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (74, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'windir', '2022-11-09 15:26:04', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (75, 45, 239, 1, 1, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', '【11.11提前购机享价保，好货不用等，系统申请一键价保补差!】【Reno8Pro爆款优惠】 ', '202211080045001', 'windir', '2022-11-09 16:16:23', NULL, 1, 19, 'OPPO', '10052147850350', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"鸢尾紫\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (76, 45, 239, 1, 1, 2299.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', '【11.11提前购机享价保，好货不用等，系统申请一键价保补差!】【Reno8Pro爆款优惠】 ', '202211080045001', 'windir', '2022-11-09 16:18:36', NULL, 1, 19, 'OPPO', '10052147850350', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"鸢尾紫\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (77, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量 墨羽 12GB+256GB 5G智能手机 小米 红米', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'windir', '2022-11-10 15:19:36', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (78, 37, 201, 1, 2, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'windir', '2022-11-10 15:19:44', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (79, 38, 213, 1, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', '【11.11大爱超大爱】iPad9代限量抢购，价格优惠，更享以旧换新至高补贴325元！！快来抢购吧！！ ', '202210280038001', 'windir', '2022-11-11 15:37:40', NULL, 1, 53, '苹果', '100044025833', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (80, 38, 213, 1, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', '【11.11大爱超大爱】iPad9代限量抢购，价格优惠，更享以旧换新至高补贴325元！！快来抢购吧！！ ', '202210280038001', 'windir', '2022-11-11 15:38:12', NULL, 1, 53, '苹果', '100044025833', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (81, 38, 213, 1, 3, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', '【11.11大爱超大爱】iPad9代限量抢购，价格优惠，更享以旧换新至高补贴325元！！快来抢购吧！！ ', '202210280038001', 'windir', '2022-11-11 15:38:22', NULL, 1, 53, '苹果', '100044025833', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (82, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'windir', '2022-11-11 16:07:23', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (83, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'windir', '2022-11-11 16:13:11', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (84, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'windir', '2022-11-11 16:15:05', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (85, 28, 102, 1, 1, 649.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '8天超长待机，137g轻巧机身，高通骁龙处理器小米6X低至1299，点击抢购', '201808270028001', 'windir', '2022-11-11 16:21:05', NULL, 1, 19, '小米', '7437789', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (86, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'windir', '2022-11-16 10:22:47', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (87, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'windir', '2022-11-16 10:22:51', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (88, 39, 217, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '【双十一大促来袭】指定型号至高优惠1000，以旧换新至高补贴1000元，晒单赢好礼', '202210280039001', 'windir', '2022-11-16 10:22:54', NULL, 1, 54, '小米', '100023207945', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (89, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'windir', '2022-11-16 10:23:16', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (90, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'test', '2022-12-21 15:49:00', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (91, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'test', '2022-12-21 15:49:42', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (92, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'test', '2022-12-21 15:49:53', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (93, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'test', '2022-12-21 15:51:03', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (94, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'test', '2022-12-21 15:51:28', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (95, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'test', '2022-12-21 16:45:16', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (96, 40, 221, 1, 2, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'test', '2022-12-21 16:46:41', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (97, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'test', '2022-12-21 16:50:10', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (98, 40, 221, 1, 2, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'test', '2022-12-23 09:55:11', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (99, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'test', '2023-01-10 15:39:03', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (100, 26, 111, 1, 1, 3899.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026002', 'test', '2023-01-10 16:58:08', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (101, 26, 110, 1, 1, 3699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'test', '2023-01-10 17:10:26', NULL, 1, 19, '华为', '6946605', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (102, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'member', '2023-05-11 15:24:33', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (103, 41, 225, 11, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'member', '2023-05-11 15:24:37', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (104, 38, 213, 11, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款', '【11.11大爱超大爱】iPad9代限量抢购，价格优惠，更享以旧换新至高补贴325元！！快来抢购吧！！ ', '202210280038001', 'member', '2023-05-11 15:30:32', NULL, 1, 53, '苹果', '100044025833', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (105, 39, 217, 11, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '【双十一大促来袭】指定型号至高优惠1000，以旧换新至高补贴1000元，晒单赢好礼', '202210280039001', 'member', '2023-05-11 15:31:38', NULL, 1, 54, '小米', '100023207945', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (106, 44, 235, 11, 1, 369.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', '三星（SAMSUNG）500GB SSD固态硬盘 M.2接口(NVMe协议)', '【满血无缓存！进店抽百元E卡，部分型号白条三期免息】兼具速度与可靠性！读速高达3500MB/s，全功率模式！点击 ', '202211080044001', 'member', '2023-05-11 15:32:16', NULL, 1, 55, '三星', '100018768480', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新品980｜NVMe PCIe3.0*4\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"512GB\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (107, 42, 229, 11, 1, 4999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息', '【华为Mate50新品上市】内置66W华为充电套装，超光变XMAGE影像,北斗卫星消息，鸿蒙操作系统3.0！立即抢购！华为新品可持续计划，猛戳》 ', '202211040042001', 'member', '2023-05-11 15:32:44', NULL, 1, 19, '华为', '100035295081', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"曜金黑\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (108, 37, 201, 11, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '202210280037001', 'member', '2023-05-11 15:34:32', NULL, 1, 19, '苹果', '100038005189', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (109, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'member', '2023-05-11 15:35:02', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (110, 41, 225, 11, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'member', '2023-05-11 15:35:21', NULL, 1, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (111, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'member', '2023-05-11 15:36:57', NULL, 1, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (112, 39, 217, 11, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '【双十一大促来袭】指定型号至高优惠1000，以旧换新至高补贴1000元，晒单赢好礼', '202210280039001', 'member', '2023-05-11 15:37:04', NULL, 1, 54, '小米', '100023207945', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (113, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '202211040040001', 'member', '2023-05-11 15:37:57', NULL, 0, 19, '小米', '100027789721', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_cart_item` VALUES (114, 41, 225, 11, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'member', '2023-05-11 15:38:03', NULL, 0, 19, '小米', '100035246702', '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\n\n-- ----------------------------\n-- Table structure for oms_company_address\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_company_address`;\nCREATE TABLE `oms_company_address`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `address_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址名称',\n  `send_status` int(1) NULL DEFAULT NULL COMMENT '默认发货地址：0->否；1->是',\n  `receive_status` int(1) NULL DEFAULT NULL COMMENT '是否默认收货地址：0->否；1->是',\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收发货人姓名',\n  `phone` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人电话',\n  `province` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省/直辖市',\n  `city` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '市',\n  `region` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区',\n  `detail_address` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公司收发货地址表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_company_address\n-- ----------------------------\nINSERT INTO `oms_company_address` VALUES (1, '深圳发货点', 1, 1, '大梨', '18000000000', '广东省', '深圳市', '南山区', '科兴科学园');\nINSERT INTO `oms_company_address` VALUES (2, '北京发货点', 0, 0, '大梨', '18000000000', '北京市', NULL, '南山区', '科兴科学园');\nINSERT INTO `oms_company_address` VALUES (3, '南京发货点', 0, 0, '大梨', '18000000000', '江苏省', '南京市', '南山区', '科兴科学园');\n\n-- ----------------------------\n-- Table structure for oms_order\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_order`;\nCREATE TABLE `oms_order`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单id',\n  `member_id` bigint(20) NOT NULL,\n  `coupon_id` bigint(20) NULL DEFAULT NULL,\n  `order_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '提交时间',\n  `member_username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户帐号',\n  `total_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '订单总金额',\n  `pay_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '应付金额（实际支付金额）',\n  `freight_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '运费金额',\n  `promotion_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '促销优化金额（促销价、满减、阶梯价）',\n  `integration_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '积分抵扣金额',\n  `coupon_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券抵扣金额',\n  `discount_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '管理员后台调整订单使用的折扣金额',\n  `pay_type` int(1) NULL DEFAULT NULL COMMENT '支付方式：0->未支付；1->支付宝；2->微信',\n  `source_type` int(1) NULL DEFAULT NULL COMMENT '订单来源：0->PC订单；1->app订单',\n  `status` int(1) NULL DEFAULT NULL COMMENT '订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单',\n  `order_type` int(1) NULL DEFAULT NULL COMMENT '订单类型：0->正常订单；1->秒杀订单',\n  `delivery_company` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物流公司(配送方式)',\n  `delivery_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物流单号',\n  `auto_confirm_day` int(11) NULL DEFAULT NULL COMMENT '自动确认时间（天）',\n  `integration` int(11) NULL DEFAULT NULL COMMENT '可以获得的积分',\n  `growth` int(11) NULL DEFAULT NULL COMMENT '可以活动的成长值',\n  `promotion_info` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '活动信息',\n  `bill_type` int(1) NULL DEFAULT NULL COMMENT '发票类型：0->不开发票；1->电子发票；2->纸质发票',\n  `bill_header` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发票抬头',\n  `bill_content` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发票内容',\n  `bill_receiver_phone` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收票人电话',\n  `bill_receiver_email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收票人邮箱',\n  `receiver_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '收货人姓名',\n  `receiver_phone` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '收货人电话',\n  `receiver_post_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人邮编',\n  `receiver_province` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省份/直辖市',\n  `receiver_city` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '城市',\n  `receiver_region` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区',\n  `receiver_detail_address` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址',\n  `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单备注',\n  `confirm_status` int(1) NULL DEFAULT NULL COMMENT '确认收货状态：0->未确认；1->已确认',\n  `delete_status` int(1) NOT NULL DEFAULT 0 COMMENT '删除状态：0->未删除；1->已删除',\n  `use_integration` int(11) NULL DEFAULT NULL COMMENT '下单时使用的积分',\n  `payment_time` datetime NULL DEFAULT NULL COMMENT '支付时间',\n  `delivery_time` datetime NULL DEFAULT NULL COMMENT '发货时间',\n  `receive_time` datetime NULL DEFAULT NULL COMMENT '确认收货时间',\n  `comment_time` datetime NULL DEFAULT NULL COMMENT '评价时间',\n  `modify_time` datetime NULL DEFAULT NULL COMMENT '修改时间',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 77 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_order\n-- ----------------------------\nINSERT INTO `oms_order` VALUES (12, 1, 2, '201809150101000001', '2018-09-15 12:24:27', 'test', 18732.00, 16377.75, 20.00, 2344.25, 0.00, 10.00, 10.00, 0, 1, 4, 0, '', '', 15, 13284, 13284, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '江苏省', '常州市', '天宁区', '东晓街道', '111', 0, 0, NULL, NULL, NULL, NULL, NULL, '2019-11-09 16:50:28');\nINSERT INTO `oms_order` VALUES (13, 1, 2, '201809150102000002', '2018-09-15 14:24:29', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 1, 0, '', '', 15, 13284, 13284, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, 1000, '2018-10-11 14:04:19', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (14, 1, 2, '201809130101000001', '2018-09-13 16:57:40', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 3, 0, '顺丰快递', '201707196398345', 15, 13284, 13284, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2018-10-13 13:44:04', '2018-10-16 13:43:41', '2022-11-11 16:19:34', NULL, NULL);\nINSERT INTO `oms_order` VALUES (15, 1, 2, '201809130102000002', '2018-09-13 17:03:00', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 3, 0, '顺丰快递', '201707196398346', 15, 13284, 13284, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 1, NULL, '2018-10-13 13:44:54', '2018-10-16 13:45:01', '2018-10-18 14:05:31', NULL, NULL);\nINSERT INTO `oms_order` VALUES (16, 1, 2, '201809140101000001', '2018-09-14 16:16:16', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 4, 0, NULL, NULL, 15, 13284, 13284, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (17, 1, 2, '201809150101000003', '2018-09-15 12:24:27', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 0, 1, 4, 0, '顺丰快递', '201707196398345', 15, NULL, NULL, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, '2018-10-12 14:01:28', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (18, 1, 2, '201809150102000004', '2018-09-15 14:24:29', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 1, 0, '圆通快递', 'xx', 15, NULL, NULL, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, 1000, NULL, '2018-10-16 14:42:17', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (19, 1, 2, '201809130101000003', '2018-09-13 16:57:40', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 2, 0, NULL, NULL, 15, NULL, NULL, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (20, 1, 2, '201809130102000004', '2018-09-13 17:03:00', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 3, 0, NULL, NULL, 15, NULL, NULL, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (21, 1, 2, '201809140101000002', '2018-09-14 16:16:16', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 4, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (22, 1, 2, '201809150101000005', '2018-09-15 12:24:27', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 0, 1, 4, 0, '顺丰快递', '201707196398345', 15, 0, 0, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, '2018-10-12 14:01:28', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (23, 1, 2, '201809150102000006', '2018-09-15 14:24:29', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 1, 0, '顺丰快递', 'xxx', 15, 0, 0, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, 1000, NULL, '2018-10-16 14:41:28', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (24, 1, 2, '201809130101000005', '2018-09-13 16:57:40', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 2, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (25, 1, 2, '201809130102000006', '2018-09-13 17:03:00', 'test', 18732.00, 16377.75, 10.00, 2344.25, 0.00, 10.00, 5.00, 1, 1, 4, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨22', '18033441849', '518000', '北京市', '北京城区', '东城区', '东城街道', 'xxx', 0, 1, NULL, NULL, NULL, NULL, NULL, '2018-10-30 15:08:31');\nINSERT INTO `oms_order` VALUES (26, 1, 2, '201809140101000003', '2018-09-14 16:16:16', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 4, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠：满3件，打7.50折,满减优惠：满1000.00元，减120.00元,满减优惠：满1000.00元，减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (27, 1, NULL, '202002250100000001', '2020-02-25 15:59:20', 'test', 540.00, 540.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, NULL, 0, 0, '无优惠,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (28, 1, NULL, '202002250100000002', '2020-02-25 16:05:47', 'test', 540.00, 540.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, NULL, 0, 0, '无优惠,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (29, 1, NULL, '202002250100000003', '2020-02-25 16:07:58', 'test', 540.00, 540.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, NULL, 0, 0, '无优惠,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (30, 1, NULL, '202002250100000004', '2020-02-25 16:50:13', 'test', 240.00, 240.00, 20.00, 0.00, 0.00, 0.00, 10.00, 0, 1, 3, 0, '顺丰快递', '12333333', NULL, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 1, 0, NULL, '2020-02-25 16:53:29', '2020-02-25 16:54:03', '2020-05-17 19:38:15', NULL, '2020-02-25 16:52:51');\nINSERT INTO `oms_order` VALUES (31, 1, 26, '202005160100000001', '2020-05-16 15:16:54', 'test', 13623.00, 11842.40, 0.00, 1629.60, 1.00, 150.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 13623, 13623, '满减优惠：满5000.00元，减500.00元;打折优惠：满2件，打8.00折;满减优惠：满500.00元，减50.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (32, 1, NULL, '202005170100000001', '2020-05-17 15:00:38', 'test', 6487.00, 6187.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 1, 0, NULL, NULL, 15, 6487, 6487, '满减优惠：满3000.00元，减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2020-05-17 15:33:28', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (33, 1, NULL, '202005170100000002', '2020-05-17 15:14:18', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (34, 1, NULL, '202005170100000003', '2020-05-17 15:20:10', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (35, 1, NULL, '202005170100000004', '2020-05-17 15:22:03', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '123', 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2020-05-17 15:29:07', '2020-05-17 15:30:24', '2020-05-17 15:41:45', NULL, NULL);\nINSERT INTO `oms_order` VALUES (36, 1, NULL, '202005170100000005', '2020-05-17 16:59:26', 'test', 10275.00, 9775.00, 0.00, 500.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 10275, 10275, '满减优惠：满5000.00元，减500.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (37, 1, NULL, '202005170100000006', '2020-05-17 19:33:48', 'test', 6487.00, 6187.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 3, 0, '顺丰快递', 'aadd', 15, 6487, 6487, '满减优惠：满3000.00元，减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2020-05-17 19:33:59', '2020-05-17 19:34:59', '2020-05-17 19:35:50', NULL, NULL);\nINSERT INTO `oms_order` VALUES (38, 1, NULL, '202005170100000007', '2020-05-17 19:39:10', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (39, 1, NULL, '202005170100000008', '2020-05-17 19:41:30', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 3, 0, '顺丰快递', 'sdf', 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 1, NULL, '2020-05-17 19:41:41', '2020-05-17 19:42:07', '2020-05-17 19:42:36', NULL, NULL);\nINSERT INTO `oms_order` VALUES (40, 1, NULL, '202005180100000001', '2020-05-18 16:50:03', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2020-05-18 16:50:29', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (41, 1, 26, '202005180100000002', '2020-05-18 20:22:24', 'test', 6487.00, 6037.00, 0.00, 300.00, 0.00, 150.00, 0.00, 1, 1, 3, 0, '顺丰快递', '12313', 15, 6487, 6487, '满减优惠：满3000.00元，减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 1, 0, NULL, '2020-05-18 20:22:29', '2020-05-18 20:23:03', '2020-05-18 20:23:20', NULL, NULL);\nINSERT INTO `oms_order` VALUES (42, 1, NULL, '202005230100000001', '2020-05-23 16:21:27', 'test', 5398.00, 4318.40, 0.00, 1079.60, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 5398, 5398, '打折优惠：满2件，打8.00折', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2020-05-23 16:21:30', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (43, 1, NULL, '202005230100000002', '2020-05-23 17:01:33', 'test', 5398.00, 4318.40, 0.00, 1079.60, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 5398, 5398, '打折优惠：满2件，打8.00折', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (44, 1, NULL, '202005240100000001', '2020-05-24 09:37:07', 'test', 7576.00, 7076.00, 0.00, 500.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 7576, 7576, '满减优惠：满5000.00元，减500.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (45, 1, 25, '202006070100000001', '2020-06-07 17:02:04', 'test', 10275.00, 9674.90, 0.00, 500.00, 0.00, 100.10, 0.00, 1, 1, 1, 0, NULL, NULL, 15, 10275, 10275, '满减优惠：满5000.00元，减500.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2020-06-07 17:02:17', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (46, 1, 24, '202006210100000001', '2020-06-21 14:27:34', 'test', 9186.00, 7796.40, 0.00, 1379.60, 0.00, 10.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 9186, 9186, '满减优惠：满3000.00元，减300.00元;打折优惠：满2件，打8.00折', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2020-06-21 14:27:38', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (47, 1, NULL, '202006210100000002', '2020-06-21 15:13:06', 'test', 6487.00, 6187.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 3, 0, '顺丰快递', '123131', 15, 6487, 6487, '满减优惠：满3000.00元，减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 1, 0, NULL, '2020-06-21 15:13:12', '2020-06-21 15:13:44', '2020-06-21 15:13:58', NULL, NULL);\nINSERT INTO `oms_order` VALUES (48, 1, 26, '202006210100000003', '2020-06-21 15:15:18', 'test', 3788.00, 3338.00, 0.00, 300.00, 0.00, 150.00, 0.00, 2, 1, 3, 0, '圆通快递', '12313', 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2020-06-21 15:15:20', '2020-06-21 15:15:48', '2020-06-21 15:15:58', NULL, NULL);\nINSERT INTO `oms_order` VALUES (49, 1, NULL, '202006270100000001', '2020-06-27 10:27:56', 'test', 2699.00, 2699.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 2699, 2699, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2020-06-27 10:27:58', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (50, 1, NULL, '202210280100000001', '2022-10-28 14:50:58', 'test', 2699.00, 2699.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 2699, 2699, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2022-10-28 14:51:02', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (51, 1, NULL, '202210280100000002', '2022-10-28 15:27:41', 'test', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-10-28 15:27:44', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (52, 1, 30, '202211090100000001', '2022-11-09 15:14:58', 'test', 2999.00, 2799.00, 0.00, 0.00, 0.00, 200.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1233', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2022-11-09 15:15:00', '2022-11-09 15:16:12', '2022-11-09 15:16:31', NULL, NULL);\nINSERT INTO `oms_order` VALUES (53, 1, 27, '202211090100000002', '2022-11-09 15:25:38', 'test', 3599.00, 3589.00, 0.00, 0.00, 0.00, 10.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-09 15:25:41', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (54, 1, 29, '202211090100000003', '2022-11-09 15:26:11', 'test', 5999.00, 5399.00, 0.00, 0.00, 0.00, 600.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-09 15:26:13', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (55, 1, NULL, '202211100100000001', '2022-11-10 16:57:59', 'test', 11998.00, 11998.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (56, 1, 28, '202211110100000001', '2022-11-11 16:12:42', 'test', 2999.00, 2899.00, 0.00, 0.00, 0.00, 100.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-11 16:12:48', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (57, 1, NULL, '202211110100000002', '2022-11-11 16:13:14', 'test', 2999.00, 2999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-11 16:13:21', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (58, 1, NULL, '202211110100000003', '2022-11-11 16:15:08', 'test', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-11 16:17:46', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (59, 1, NULL, '202211110100000004', '2022-11-11 16:21:12', 'test', 649.00, 599.00, 0.00, 50.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 649, 649, '满减优惠：满500.00元，减50.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (60, 1, NULL, '202211160100000001', '2022-11-16 10:36:08', 'test', 11097.00, 11097.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1234555', 15, 0, 0, '无优惠;无优惠;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2022-11-16 10:37:25', '2022-11-16 10:42:50', '2022-11-16 10:44:40', NULL, NULL);\nINSERT INTO `oms_order` VALUES (61, 1, NULL, '202212210100000001', '2022-12-21 15:49:08', 'test', 2999.00, 2999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (62, 1, NULL, '202212210100000002', '2022-12-21 15:49:57', 'test', 8098.00, 8098.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', 'SDFERR7845', 15, 0, 0, '无优惠;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2022-12-21 15:50:00', '2022-12-21 15:50:23', '2022-12-21 15:50:33', NULL, NULL);\nINSERT INTO `oms_order` VALUES (63, 1, NULL, '202212210100000003', '2022-12-21 15:51:09', 'test', 2999.00, 2999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 2, 0, '顺丰快递', '112', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-12-21 15:51:11', '2023-01-10 10:14:12', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (64, 1, NULL, '202212210100000004', '2022-12-21 15:51:35', 'test', 2099.00, 2099.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (65, 1, 28, '202212210100000005', '2022-12-21 16:53:07', 'test', 5098.00, 4788.00, 0.00, 200.00, 10.00, 100.00, 0.00, 2, 1, 2, 0, '圆通快递', '115', 15, 0, 0, '满减优惠：满2000.00元，减200.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-12-21 16:53:58', '2023-01-10 10:14:12', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (66, 1, NULL, '202301100100000001', '2023-01-10 15:34:59', 'test', 5998.00, 5798.00, 0.00, 200.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '满减优惠：满2000.00元，减200.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (67, 1, NULL, '202301100100000002', '2023-01-10 15:39:07', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 3788, 3788, '满减优惠：满3000.00元，减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-01-10 15:39:16', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (68, 1, NULL, '202301100100000003', '2023-01-10 16:58:19', 'test', 3999.00, 3899.00, 0.00, 100.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 3788, 3788, '单品促销', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-01-10 16:58:21', NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (69, 11, 30, '202305110100000001', '2023-05-11 15:28:56', 'member', 5098.00, 4698.00, 0.00, 200.00, 0.00, 200.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1231313', 15, 0, 0, '满减优惠：满2000.00元，减200.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:28:59', '2023-05-11 15:30:08', '2023-05-11 15:30:16', NULL, NULL);\nINSERT INTO `oms_order` VALUES (70, 11, NULL, '202305110100000002', '2023-05-11 15:30:36', 'member', 3599.00, 3599.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '232342', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:30:40', '2023-05-11 15:31:22', '2023-05-11 15:31:30', NULL, NULL);\nINSERT INTO `oms_order` VALUES (71, 11, NULL, '202305110100000003', '2023-05-11 15:31:55', 'member', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (72, 11, NULL, '202305110100000004', '2023-05-11 15:33:13', 'member', 5368.00, 5368.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 2, 0, '圆通快递', '1231434', 15, 0, 0, '无优惠;无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-05-11 15:33:21', '2023-05-11 15:33:43', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (73, 11, NULL, '202305110100000005', '2023-05-11 15:34:39', 'member', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 0, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (74, 11, NULL, '202305110100000006', '2023-05-11 15:35:05', 'member', 2999.00, 2799.00, 0.00, 200.00, 0.00, 0.00, 0.00, 2, 1, 2, 0, '顺丰快递', '123131', 15, 0, 0, '满减优惠：满2000.00元，减200.00元', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-05-11 15:35:08', '2023-05-11 15:36:00', NULL, NULL, NULL);\nINSERT INTO `oms_order` VALUES (75, 11, NULL, '202305110100000007', '2023-05-11 15:35:24', 'member', 2099.00, 2099.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '123131311', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:35:26', '2023-05-11 15:36:11', '2023-05-11 15:36:34', NULL, NULL);\nINSERT INTO `oms_order` VALUES (76, 11, 28, '202305110100000008', '2023-05-11 15:37:16', 'member', 8998.00, 8698.00, 0.00, 200.00, 0.00, 100.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1231313', 15, 0, 0, '无优惠;满减优惠：满2000.00元，减200.00元', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:37:18', '2023-05-11 15:37:33', '2023-05-11 15:37:48', NULL, NULL);\n\n-- ----------------------------\n-- Table structure for oms_order_item\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_order_item`;\nCREATE TABLE `oms_order_item`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id',\n  `order_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号',\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `product_pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '销售价格',\n  `product_quantity` int(11) NULL DEFAULT NULL COMMENT '购买数量',\n  `product_sku_id` bigint(20) NULL DEFAULT NULL COMMENT '商品sku编号',\n  `product_sku_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品sku条码',\n  `product_category_id` bigint(20) NULL DEFAULT NULL COMMENT '商品分类id',\n  `promotion_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品促销名称',\n  `promotion_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品促销分解金额',\n  `coupon_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券优惠分解金额',\n  `integration_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '积分优惠分解金额',\n  `real_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '该商品经过优惠后的分解金额',\n  `gift_integration` int(11) NULL DEFAULT 0,\n  `gift_growth` int(11) NULL DEFAULT 0,\n  `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性:[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"颜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"4G\\\"}]',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单中所包含的商品' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_order_item\n-- ----------------------------\nINSERT INTO `oms_order_item` VALUES (21, 12, '201809150101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (22, 12, '201809150101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠：满3件，打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (23, 12, '201809150101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (24, 12, '201809150101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (25, 12, '201809150101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (26, 13, '201809150102000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (27, 13, '201809150102000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠：满3件，打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (28, 13, '201809150102000002', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (29, 13, '201809150102000002', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (30, 13, '201809150102000002', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (31, 14, '201809130101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (32, 14, '201809130101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠：满3件，打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (33, 14, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (34, 14, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (35, 14, '201809130101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (36, 15, '201809130101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (37, 15, '201809130101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠：满3件，打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (38, 15, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (39, 15, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (40, 15, '201809130101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (41, 16, '201809140101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (42, 16, '201809140101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠：满3件，打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (43, 16, '201809140101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (44, 16, '201809140101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠：满1000.00元，减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (45, 16, '201809140101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (46, 27, '202002250100000001', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 100.00, 3, 163, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 100.00, 0, 0, NULL);\nINSERT INTO `oms_order_item` VALUES (47, 27, '202002250100000001', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, NULL);\nINSERT INTO `oms_order_item` VALUES (48, 28, '202002250100000002', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 100.00, 3, 163, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 100.00, 0, 0, NULL);\nINSERT INTO `oms_order_item` VALUES (49, 28, '202002250100000002', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, NULL);\nINSERT INTO `oms_order_item` VALUES (50, 29, '202002250100000003', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 100.00, 3, 163, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 100.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `oms_order_item` VALUES (51, 29, '202002250100000003', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `oms_order_item` VALUES (52, 30, '202002250100000004', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `oms_order_item` VALUES (53, 31, '202005160100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠：满5000.00元，减500.00元', 250.00, 75.00, 0.28, 3462.72, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (54, 31, '202005160100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠：满2件，打8.00折', 539.80, 0.00, 0.20, 2159.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (55, 31, '202005160100000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满500.00元，减50.00元', 50.00, 0.00, 0.05, 598.95, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (56, 32, '202005170100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (57, 32, '202005170100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (58, 33, '202005170100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (59, 34, '202005170100000003', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (60, 35, '202005170100000004', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (61, 36, '202005170100000005', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠：满5000.00元，减500.00元', 250.00, 0.00, 0.00, 3538.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (62, 36, '202005170100000005', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (63, 37, '202005170100000006', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (64, 37, '202005170100000006', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (65, 38, '202005170100000007', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (66, 39, '202005170100000008', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (67, 40, '202005180100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (68, 41, '202005180100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 150.00, 0.00, 3338.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (69, 41, '202005180100000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (70, 42, '202005230100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠：满2件，打8.00折', 539.80, 0.00, 0.00, 2159.20, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (71, 43, '202005230100000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠：满2件，打8.00折', 539.80, 0.00, 0.00, 2159.20, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (72, 44, '202005240100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠：满5000.00元，减500.00元', 250.00, 0.00, 0.00, 3538.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (73, 45, '202006070100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠：满5000.00元，减500.00元', 250.00, 36.90, 0.00, 3501.10, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (74, 45, '202006070100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 26.30, 0.00, 2672.70, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (75, 46, '202006210100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 4.12, 0.00, 3483.88, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (76, 46, '202006210100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠：满2件，打8.00折', 539.80, 2.94, 0.00, 2156.26, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (77, 47, '202006210100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (78, 47, '202006210100000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (79, 48, '202006210100000003', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 150.00, 0.00, 3338.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (80, 49, '202006270100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (81, 50, '202210280100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (82, 51, '202210280100000002', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 紫色 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (83, 52, '202211090100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 200.00, 0.00, 2799.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (84, 53, '202211090100000002', 38, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', '苹果', '100044025833', 3599.00, 1, 213, '202210280038001', 53, '无优惠', 0.00, 10.00, 0.00, 3589.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (85, 54, '202211090100000003', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 600.00, 0.00, 5399.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (86, 55, '202211100100000001', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 2, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (87, 56, '202211110100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 100.00, 0.00, 2899.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (88, 57, '202211110100000002', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (89, 58, '202211110100000003', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (90, 59, '202211110100000004', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠：满500.00元，减50.00元', 50.00, 0.00, 0.00, 599.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (91, 60, '202211160100000001', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (92, 60, '202211160100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (93, 60, '202211160100000001', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (94, 61, '202212210100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (95, 62, '202212210100000002', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (96, 62, '202212210100000002', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (97, 63, '202212210100000003', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (98, 64, '202212210100000004', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (99, 65, '202212210100000005', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠：满2000.00元，减200.00元', 200.00, 58.80, 5.88, 2734.32, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (100, 65, '202212210100000005', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 41.20, 4.12, 2053.68, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (101, 66, '202301100100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 2, 221, '202211040040001', 19, '满减优惠：满2000.00元，减200.00元', 100.00, 0.00, 0.00, 2899.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (102, 67, '202301100100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠：满3000.00元，减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (103, 68, '202301100100000003', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3999.00, 1, 111, '201806070026002', 19, '单品促销', 100.00, 0.00, 0.00, 3899.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (104, 69, '202305110100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠：满2000.00元，减200.00元', 200.00, 117.60, 0.00, 2681.40, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (105, 69, '202305110100000001', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 82.40, 0.00, 2016.60, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (106, 70, '202305110100000002', 38, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款', '苹果', '100044025833', 3599.00, 1, 213, '202210280038001', 53, '无优惠', 0.00, 0.00, 0.00, 3599.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (107, 71, '202305110100000003', 39, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '小米', '100023207945', 5999.00, 1, 217, '202210280039001', 54, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `oms_order_item` VALUES (108, 72, '202305110100000004', 42, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息', '华为', '100035295081', 4999.00, 1, 229, '202211040042001', 19, '无优惠', 0.00, 0.00, 0.00, 4999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"曜金黑\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (109, 72, '202305110100000004', 44, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', '三星（SAMSUNG）500GB SSD固态硬盘 M.2接口(NVMe协议)', '三星', '100018768480', 369.00, 1, 235, '202211080044001', 55, '无优惠', 0.00, 0.00, 0.00, 369.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新品980｜NVMe PCIe3.0*4\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"512GB\\\"}]');\nINSERT INTO `oms_order_item` VALUES (110, 73, '202305110100000005', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (111, 74, '202305110100000006', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠：满2000.00元，减200.00元', 200.00, 0.00, 0.00, 2799.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (112, 75, '202305110100000007', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `oms_order_item` VALUES (113, 76, '202305110100000008', 39, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '小米', '100023207945', 5999.00, 1, 217, '202210280039001', 54, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `oms_order_item` VALUES (114, 76, '202305110100000008', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠：满2000.00元，减200.00元', 200.00, 100.00, 0.00, 2699.00, 0, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\n\n-- ----------------------------\n-- Table structure for oms_order_operate_history\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_order_operate_history`;\nCREATE TABLE `oms_order_operate_history`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id',\n  `operate_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人：用户；系统；后台管理员',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '操作时间',\n  `order_status` int(1) NULL DEFAULT NULL COMMENT '订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单',\n  `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单操作历史记录' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_order_operate_history\n-- ----------------------------\nINSERT INTO `oms_order_operate_history` VALUES (5, 12, '后台管理员', '2018-10-12 14:01:29', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (6, 13, '后台管理员', '2018-10-12 14:01:29', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (7, 12, '后台管理员', '2018-10-12 14:13:10', 4, '订单关闭:买家退货');\nINSERT INTO `oms_order_operate_history` VALUES (8, 13, '后台管理员', '2018-10-12 14:13:10', 4, '订单关闭:买家退货');\nINSERT INTO `oms_order_operate_history` VALUES (9, 22, '后台管理员', '2018-10-15 16:31:48', 4, '订单关闭:xxx');\nINSERT INTO `oms_order_operate_history` VALUES (10, 22, '后台管理员', '2018-10-15 16:35:08', 4, '订单关闭:xxx');\nINSERT INTO `oms_order_operate_history` VALUES (11, 22, '后台管理员', '2018-10-15 16:35:59', 4, '订单关闭:xxx');\nINSERT INTO `oms_order_operate_history` VALUES (12, 17, '后台管理员', '2018-10-15 16:43:40', 4, '订单关闭:xxx');\nINSERT INTO `oms_order_operate_history` VALUES (13, 25, '后台管理员', '2018-10-15 16:52:14', 4, '订单关闭:xxx');\nINSERT INTO `oms_order_operate_history` VALUES (14, 26, '后台管理员', '2018-10-15 16:52:14', 4, '订单关闭:xxx');\nINSERT INTO `oms_order_operate_history` VALUES (15, 23, '后台管理员', '2018-10-16 14:41:28', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (16, 13, '后台管理员', '2018-10-16 14:42:17', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (17, 18, '后台管理员', '2018-10-16 14:42:17', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (18, 26, '后台管理员', '2018-10-30 14:37:44', 4, '订单关闭:关闭订单');\nINSERT INTO `oms_order_operate_history` VALUES (19, 25, '后台管理员', '2018-10-30 15:07:01', 0, '修改收货人信息');\nINSERT INTO `oms_order_operate_history` VALUES (20, 25, '后台管理员', '2018-10-30 15:08:13', 0, '修改费用信息');\nINSERT INTO `oms_order_operate_history` VALUES (21, 25, '后台管理员', '2018-10-30 15:08:31', 0, '修改备注信息：xxx');\nINSERT INTO `oms_order_operate_history` VALUES (22, 25, '后台管理员', '2018-10-30 15:08:39', 4, '订单关闭:2222');\nINSERT INTO `oms_order_operate_history` VALUES (23, 12, '后台管理员', '2019-11-09 16:50:28', 4, '修改备注信息：111');\nINSERT INTO `oms_order_operate_history` VALUES (24, 30, '后台管理员', '2020-02-25 16:52:37', 0, '修改费用信息');\nINSERT INTO `oms_order_operate_history` VALUES (25, 30, '后台管理员', '2020-02-25 16:52:51', 0, '修改费用信息');\nINSERT INTO `oms_order_operate_history` VALUES (26, 30, '后台管理员', '2020-02-25 16:54:03', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (27, 35, '后台管理员', '2020-05-17 15:30:24', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (28, 37, '后台管理员', '2020-05-17 19:35:00', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (29, 39, '后台管理员', '2020-05-17 19:42:08', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (30, 41, '后台管理员', '2020-05-18 20:23:04', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (31, 47, '后台管理员', '2020-06-21 15:13:44', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (32, 48, '后台管理员', '2020-06-21 15:15:49', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (33, 52, '后台管理员', '2022-11-09 15:16:13', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (34, 60, '后台管理员', '2022-11-16 10:42:50', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (35, 62, '后台管理员', '2022-12-21 15:50:24', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (36, 63, '后台管理员', '2023-01-10 10:08:34', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (37, 65, '后台管理员', '2023-01-10 10:08:34', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (38, 69, '后台管理员', '2023-05-11 15:30:08', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (39, 70, '后台管理员', '2023-05-11 15:31:22', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (40, 72, '后台管理员', '2023-05-11 15:33:43', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (41, 74, '后台管理员', '2023-05-11 15:36:00', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (42, 75, '后台管理员', '2023-05-11 15:36:11', 2, '完成发货');\nINSERT INTO `oms_order_operate_history` VALUES (43, 76, '后台管理员', '2023-05-11 15:37:34', 2, '完成发货');\n\n-- ----------------------------\n-- Table structure for oms_order_return_apply\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_order_return_apply`;\nCREATE TABLE `oms_order_return_apply`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id',\n  `company_address_id` bigint(20) NULL DEFAULT NULL COMMENT '收货地址表id',\n  `product_id` bigint(20) NULL DEFAULT NULL COMMENT '退货商品id',\n  `order_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '申请时间',\n  `member_username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会员用户名',\n  `return_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '退款金额',\n  `return_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退货人姓名',\n  `return_phone` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退货人电话',\n  `status` int(1) NULL DEFAULT NULL COMMENT '申请状态：0->待处理；1->退货中；2->已完成；3->已拒绝',\n  `handle_time` datetime NULL DEFAULT NULL COMMENT '处理时间',\n  `product_pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品图片',\n  `product_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称',\n  `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品品牌',\n  `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性：颜色：红色；尺码：xl;',\n  `product_count` int(11) NULL DEFAULT NULL COMMENT '退货数量',\n  `product_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品单价',\n  `product_real_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品实际支付单价',\n  `reason` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原因',\n  `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',\n  `proof_pics` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '凭证图片，以逗号隔开',\n  `handle_note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '处理备注',\n  `handle_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '处理人员',\n  `receive_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人',\n  `receive_time` datetime NULL DEFAULT NULL COMMENT '收货时间',\n  `receive_note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货备注',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单退货申请' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_order_return_apply\n-- ----------------------------\nINSERT INTO `oms_order_return_apply` VALUES (3, 12, 1, 26, '201809150101000001', '2018-10-17 14:34:57', 'test', 0.00, '大梨', '18000000000', 2, '2022-11-11 10:16:18', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '111', 'admin', 'admin', '2022-11-11 10:16:26', NULL);\nINSERT INTO `oms_order_return_apply` VALUES (4, 12, 2, 27, '201809150101000001', '2018-10-17 14:40:21', 'test', 3585.98, '大梨', '18000000000', 1, '2018-10-18 13:54:10', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', '已经处理了', 'admin', NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (5, 12, 3, 28, '201809150101000001', '2018-10-17 14:44:18', 'test', 3585.98, '大梨', '18000000000', 2, '2018-10-18 13:55:28', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', '已经处理了', 'admin', 'admin', '2018-10-18 13:55:58', '已经处理了');\nINSERT INTO `oms_order_return_apply` VALUES (8, 13, NULL, 28, '201809150102000002', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 3, '2018-10-18 13:57:12', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', '理由不够充分', 'admin', NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (9, 14, 2, 26, '201809130101000001', '2018-10-17 14:34:57', 'test', 3500.00, '大梨', '18000000000', 2, '2018-10-24 15:44:56', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', '呵呵', 'admin', 'admin', '2018-10-24 15:46:35', '收货了');\nINSERT INTO `oms_order_return_apply` VALUES (10, 14, NULL, 27, '201809130101000001', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 3, '2018-10-24 15:46:57', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', '就是不退', 'admin', NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (11, 14, 2, 28, '201809130101000001', '2018-10-17 14:44:18', 'test', 591.05, '大梨', '18000000000', 1, '2018-10-24 17:09:04', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', '可以退款', 'admin', NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (12, 15, 3, 26, '201809130102000002', '2018-10-17 14:34:57', 'test', 3500.00, '大梨', '18000000000', 2, '2018-10-24 17:22:54', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', '退货了', 'admin', 'admin', '2018-10-24 17:23:06', '收货了');\nINSERT INTO `oms_order_return_apply` VALUES (13, 15, NULL, 27, '201809130102000002', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 3, '2018-10-24 17:23:30', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', '无法退货', 'admin', NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (15, 16, NULL, 26, '201809140101000001', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (16, 16, NULL, 27, '201809140101000001', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (17, 16, NULL, 28, '201809140101000001', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (18, 17, NULL, 26, '201809150101000003', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (19, 17, NULL, 27, '201809150101000003', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (20, 17, NULL, 28, '201809150101000003', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (21, 18, NULL, 26, '201809150102000004', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (22, 18, NULL, 27, '201809150102000004', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (23, 18, NULL, 28, '201809150102000004', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (24, 19, NULL, 26, '201809130101000003', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色：金色;内存：16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (25, 19, NULL, 27, '201809130101000003', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色：黑色;内存：32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `oms_order_return_apply` VALUES (26, 19, NULL, 28, '201809130101000003', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色：金色;内存：16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL);\n\n-- ----------------------------\n-- Table structure for oms_order_return_reason\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_order_return_reason`;\nCREATE TABLE `oms_order_return_reason`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退货类型',\n  `sort` int(11) NULL DEFAULT NULL,\n  `status` int(1) NULL DEFAULT NULL COMMENT '状态：0->不启用；1->启用',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '退货原因表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_order_return_reason\n-- ----------------------------\nINSERT INTO `oms_order_return_reason` VALUES (1, '质量问题', 1, 1, '2018-10-17 10:00:45');\nINSERT INTO `oms_order_return_reason` VALUES (2, '尺码太大', 1, 1, '2018-10-17 10:01:03');\nINSERT INTO `oms_order_return_reason` VALUES (3, '颜色不喜欢', 1, 1, '2018-10-17 10:01:13');\nINSERT INTO `oms_order_return_reason` VALUES (4, '7天无理由退货', 1, 1, '2018-10-17 10:01:47');\nINSERT INTO `oms_order_return_reason` VALUES (5, '价格问题', 1, 0, '2018-10-17 10:01:57');\nINSERT INTO `oms_order_return_reason` VALUES (12, '发票问题', 0, 1, '2018-10-19 16:28:36');\nINSERT INTO `oms_order_return_reason` VALUES (13, '其他问题', 0, 1, '2018-10-19 16:28:51');\nINSERT INTO `oms_order_return_reason` VALUES (14, '物流问题', 0, 1, '2018-10-19 16:29:01');\nINSERT INTO `oms_order_return_reason` VALUES (15, '售后问题', 0, 1, '2018-10-19 16:29:11');\n\n-- ----------------------------\n-- Table structure for oms_order_setting\n-- ----------------------------\nDROP TABLE IF EXISTS `oms_order_setting`;\nCREATE TABLE `oms_order_setting`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `flash_order_overtime` int(11) NULL DEFAULT NULL COMMENT '秒杀订单超时关闭时间(分)',\n  `normal_order_overtime` int(11) NULL DEFAULT NULL COMMENT '正常订单超时时间(分)',\n  `confirm_overtime` int(11) NULL DEFAULT NULL COMMENT '发货后自动确认收货时间（天）',\n  `finish_overtime` int(11) NULL DEFAULT NULL COMMENT '自动完成交易时间，不能申请售后（天）',\n  `comment_overtime` int(11) NULL DEFAULT NULL COMMENT '订单完成后自动好评时间（天）',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单设置表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of oms_order_setting\n-- ----------------------------\nINSERT INTO `oms_order_setting` VALUES (1, 60, 120, 15, 7, 7);\n\n-- ----------------------------\n-- Table structure for pms_album\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_album`;\nCREATE TABLE `pms_album`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `cover_pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `pic_count` int(11) NULL DEFAULT NULL,\n  `sort` int(11) NULL DEFAULT NULL,\n  `description` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '相册表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_album\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for pms_album_pic\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_album_pic`;\nCREATE TABLE `pms_album_pic`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `album_id` bigint(20) NULL DEFAULT NULL,\n  `pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '画册图片表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_album_pic\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for pms_brand\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_brand`;\nCREATE TABLE `pms_brand`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `first_letter` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '首字母',\n  `sort` int(11) NULL DEFAULT NULL,\n  `factory_status` int(1) NULL DEFAULT NULL COMMENT '是否为品牌制造商：0->不是；1->是',\n  `show_status` int(1) NULL DEFAULT NULL,\n  `product_count` int(11) NULL DEFAULT NULL COMMENT '产品数量',\n  `product_comment_count` int(11) NULL DEFAULT NULL COMMENT '产品评论数量',\n  `logo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '品牌logo',\n  `big_pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专区大图',\n  `brand_story` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '品牌故事',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 60 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '品牌表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_brand\n-- ----------------------------\nINSERT INTO `pms_brand` VALUES (1, '万和', 'W', 0, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5b07ca8aN4e127d2f.jpg', 'http://img13.360buyimg.com/cms/jfs/t1/121860/35/2430/187800/5ec4e294E22f3ffcc/1e233b65b94ba192.jpg', '万和成立于1993年8月，总部位于广东顺德国家级高新技术开发区内，是国内生产规模最大的燃气具专业制造企业，也是中国燃气具发展战略的首倡者和推动者、中国五金制品协会燃气用具分会第三届理事长单位。');\nINSERT INTO `pms_brand` VALUES (2, '三星', 'S', 100, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/57201b47N7bf15715.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_banner_01.png', '三星集团（英文：SAMSUNG、韩文：삼성）是韩国最大的跨国企业集团，三星集团包括众多的国际下属企业，旗下子公司有：三星电子、三星物产、三星人寿保险等，业务涉及电子、金融、机械、化学等众多领域。');\nINSERT INTO `pms_brand` VALUES (3, '华为', 'H', 100, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5abf6f26N31658aa2.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/huawei_banner_01.png', '荣耀品牌成立于2013年,是华为旗下手机双品牌之一。荣耀以“创新、品质、服务”为核心战略,为全球年轻人提供潮酷的全场景智能化体验,打造年轻人向往的先锋文化和潮流生活方式');\nINSERT INTO `pms_brand` VALUES (4, '格力', 'G', 30, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/timg (3).jpg', NULL, 'Victoria\\'s Secret的故事');\nINSERT INTO `pms_brand` VALUES (5, '方太', 'F', 20, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/timg (4).jpg', NULL, 'Victoria\\'s Secret的故事');\nINSERT INTO `pms_brand` VALUES (6, '小米', 'M', 500, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5565f5a2N0b8169ae.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/xiaomi_banner_01.png', '小米公司正式成立于2010年4月，是一家专注于高端智能手机、互联网电视自主研发的创新型科技企业。主要由前谷歌、微软、摩托、金山等知名公司的顶尖人才组建。');\nINSERT INTO `pms_brand` VALUES (21, 'OPPO', 'O', 0, 1, 1, 88, 500, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/timg(6).jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_banner_01.png', 'OPPO于2008年推出第一款“笑脸手机”，由此开启探索和引领至美科技之旅。今天，OPPO凭借以Find和R系列手机为核心的智能终端产品，以及OPPO+等互联网服务，让全球消费者尽享至美科技。');\nINSERT INTO `pms_brand` VALUES (49, '七匹狼', 'S', 200, 1, 1, 77, 400, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/qipilang.png', NULL, 'BOOB的故事');\nINSERT INTO `pms_brand` VALUES (50, '海澜之家', 'H', 200, 1, 1, 66, 300, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a5c69b9N5d6c5696.jpg', 'http://img10.360buyimg.com/cms/jfs/t1/133148/4/1605/470028/5edaf5ccEd7a687a9/e0a007631361ff75.jpg', '“海澜之家”（英文缩写：HLA）是海澜之家股份有限公司旗下的服装品牌，总部位于中国江苏省无锡市江阴市，主要采用连锁零售的模式，销售男性服装、配饰与相关产品。');\nINSERT INTO `pms_brand` VALUES (51, '苹果', 'A', 200, 1, 1, 55, 200, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/49b30bb0377030d1.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/apple_banner_01.png', '苹果公司(Apple Inc. )是美国的一家高科技公司。 由史蒂夫·乔布斯、斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne)等人于1976年4月1日创立,并命名为美国苹果电脑公司(Apple Computer Inc. ),2007年1月9日更名为苹果公司,总部位于加利福尼亚州的...');\nINSERT INTO `pms_brand` VALUES (58, 'NIKE', 'N', 0, 1, 0, 33, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/timg (51).jpg', '', 'NIKE的故事');\nINSERT INTO `pms_brand` VALUES (59, '测试品牌', 'C', 0, 0, 0, NULL, NULL, 'http://localhost:9000/mall/20220609/Snipaste_2022-06-08_14-35-53.png', 'http://localhost:9000/mall/20220609/biji_05.jpg', '12345');\n\n-- ----------------------------\n-- Table structure for pms_comment\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_comment`;\nCREATE TABLE `pms_comment`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `star` int(3) NULL DEFAULT NULL COMMENT '评价星数：0->5',\n  `member_ip` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评价的ip',\n  `create_time` datetime NULL DEFAULT NULL,\n  `show_status` int(1) NULL DEFAULT NULL,\n  `product_attribute` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '购买时的商品属性',\n  `collect_couont` int(11) NULL DEFAULT NULL,\n  `read_count` int(11) NULL DEFAULT NULL,\n  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,\n  `pics` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上传图片地址，以逗号隔开',\n  `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论用户头像',\n  `replay_count` int(11) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品评价表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_comment\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for pms_comment_replay\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_comment_replay`;\nCREATE TABLE `pms_comment_replay`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `comment_id` bigint(20) NULL DEFAULT NULL,\n  `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `type` int(1) NULL DEFAULT NULL COMMENT '评论人员类型；0->会员；1->管理员',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品评价回复表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_comment_replay\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for pms_feight_template\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_feight_template`;\nCREATE TABLE `pms_feight_template`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `charge_type` int(1) NULL DEFAULT NULL COMMENT '计费类型:0->按重量；1->按件数',\n  `first_weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '首重kg',\n  `first_fee` decimal(10, 2) NULL DEFAULT NULL COMMENT '首费（元）',\n  `continue_weight` decimal(10, 2) NULL DEFAULT NULL,\n  `continme_fee` decimal(10, 2) NULL DEFAULT NULL,\n  `dest` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目的地（省、市）',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '运费模版' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_feight_template\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for pms_member_price\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_member_price`;\nCREATE TABLE `pms_member_price`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `member_level_id` bigint(20) NULL DEFAULT NULL,\n  `member_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '会员价格',\n  `member_level_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 426 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品会员价格表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_member_price\n-- ----------------------------\nINSERT INTO `pms_member_price` VALUES (26, 7, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (27, 8, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (28, 9, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (29, 10, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (30, 11, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (31, 12, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (32, 13, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (33, 14, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (37, 18, 1, 500.00, NULL);\nINSERT INTO `pms_member_price` VALUES (44, 7, 2, 480.00, NULL);\nINSERT INTO `pms_member_price` VALUES (45, 7, 3, 450.00, NULL);\nINSERT INTO `pms_member_price` VALUES (52, 22, 1, NULL, NULL);\nINSERT INTO `pms_member_price` VALUES (53, 22, 2, NULL, NULL);\nINSERT INTO `pms_member_price` VALUES (54, 22, 3, NULL, NULL);\nINSERT INTO `pms_member_price` VALUES (58, 24, 1, NULL, NULL);\nINSERT INTO `pms_member_price` VALUES (59, 24, 2, NULL, NULL);\nINSERT INTO `pms_member_price` VALUES (60, 24, 3, NULL, NULL);\nINSERT INTO `pms_member_price` VALUES (112, 23, 1, 88.00, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (113, 23, 2, 88.00, '白金会员');\nINSERT INTO `pms_member_price` VALUES (114, 23, 3, 66.00, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (246, 36, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (247, 36, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (248, 36, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (249, 35, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (250, 35, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (251, 35, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (258, 30, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (259, 30, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (260, 30, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (261, 31, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (262, 31, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (263, 31, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (264, 32, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (265, 32, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (266, 32, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (270, 33, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (271, 33, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (272, 33, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (273, 34, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (274, 34, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (275, 34, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (285, 27, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (286, 27, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (287, 27, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (294, 28, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (295, 28, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (296, 28, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (297, 29, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (298, 29, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (299, 29, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (315, 37, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (316, 37, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (317, 37, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (381, 38, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (382, 38, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (383, 38, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (384, 39, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (385, 39, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (386, 39, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (387, 41, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (388, 41, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (389, 41, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (390, 42, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (391, 42, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (392, 42, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (393, 43, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (394, 43, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (395, 43, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (396, 44, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (397, 44, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (398, 44, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (399, 45, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (400, 45, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (401, 45, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (402, 40, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (403, 40, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (404, 40, 3, NULL, '钻石会员');\nINSERT INTO `pms_member_price` VALUES (423, 26, 1, NULL, '黄金会员');\nINSERT INTO `pms_member_price` VALUES (424, 26, 2, NULL, '白金会员');\nINSERT INTO `pms_member_price` VALUES (425, 26, 3, NULL, '钻石会员');\n\n-- ----------------------------\n-- Table structure for pms_product\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product`;\nCREATE TABLE `pms_product`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `brand_id` bigint(20) NULL DEFAULT NULL,\n  `product_category_id` bigint(20) NULL DEFAULT NULL,\n  `feight_template_id` bigint(20) NULL DEFAULT NULL,\n  `product_attribute_category_id` bigint(20) NULL DEFAULT NULL,\n  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,\n  `pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '货号',\n  `delete_status` int(1) NULL DEFAULT NULL COMMENT '删除状态：0->未删除；1->已删除',\n  `publish_status` int(1) NULL DEFAULT NULL COMMENT '上架状态：0->下架；1->上架',\n  `new_status` int(1) NULL DEFAULT NULL COMMENT '新品状态:0->不是新品；1->新品',\n  `recommand_status` int(1) NULL DEFAULT NULL COMMENT '推荐状态；0->不推荐；1->推荐',\n  `verify_status` int(1) NULL DEFAULT NULL COMMENT '审核状态：0->未审核；1->审核通过',\n  `sort` int(11) NULL DEFAULT NULL COMMENT '排序',\n  `sale` int(11) NULL DEFAULT NULL COMMENT '销量',\n  `price` decimal(10, 2) NULL DEFAULT NULL,\n  `promotion_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '促销价格',\n  `gift_growth` int(11) NULL DEFAULT 0 COMMENT '赠送的成长值',\n  `gift_point` int(11) NULL DEFAULT 0 COMMENT '赠送的积分',\n  `use_point_limit` int(11) NULL DEFAULT NULL COMMENT '限制使用的积分数',\n  `sub_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '副标题',\n  `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '商品描述',\n  `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '市场价',\n  `stock` int(11) NULL DEFAULT NULL COMMENT '库存',\n  `low_stock` int(11) NULL DEFAULT NULL COMMENT '库存预警值',\n  `unit` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位',\n  `weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品重量，默认为克',\n  `preview_status` int(1) NULL DEFAULT NULL COMMENT '是否为预告商品：0->不是；1->是',\n  `service_ids` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮',\n  `keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `note` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `album_pics` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '画册图片，连产品图片限制为5张，以逗号分割',\n  `detail_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `detail_desc` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,\n  `detail_html` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '产品详情网页内容',\n  `detail_mobile_html` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '移动端网页详情',\n  `promotion_start_time` datetime NULL DEFAULT NULL COMMENT '促销开始时间',\n  `promotion_end_time` datetime NULL DEFAULT NULL COMMENT '促销结束时间',\n  `promotion_per_limit` int(11) NULL DEFAULT NULL COMMENT '活动限购数量',\n  `promotion_type` int(1) NULL DEFAULT NULL COMMENT '促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购',\n  `brand_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '品牌名称',\n  `product_category_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品分类名称',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品信息' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product\n-- ----------------------------\nINSERT INTO `pms_product` VALUES (1, 49, 7, 0, 0, '银色星芒刺绣网纱底裤', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 1, 1, 1, 100, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '七匹狼', '外套');\nINSERT INTO `pms_product` VALUES (2, 49, 7, 0, 0, '银色星芒刺绣网纱底裤2', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86578', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤2', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '<p>银色星芒刺绣网纱底裤</p>', '<p>银色星芒刺绣网纱底裤</p>', NULL, NULL, NULL, 0, '七匹狼', '外套');\nINSERT INTO `pms_product` VALUES (3, 1, 7, 0, 0, '银色星芒刺绣网纱底裤3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86579', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤3', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (4, 1, 7, 0, 0, '银色星芒刺绣网纱底裤4', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86580', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤4', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (5, 1, 7, 0, 0, '银色星芒刺绣网纱底裤5', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86581', 1, 0, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤5', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (6, 1, 7, 0, 0, '银色星芒刺绣网纱底裤6', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86582', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤6', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (7, 1, 7, 0, 1, '女式超柔软拉毛运动开衫', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (8, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (9, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (10, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (11, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (12, 1, 7, 0, 1, '女式超柔软拉毛运动开衫2', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (13, 1, 7, 0, 1, '女式超柔软拉毛运动开衫3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (14, 1, 7, 0, 1, '女式超柔软拉毛运动开衫3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (18, 1, 7, 0, 1, '女式超柔软拉毛运动开衫3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁，垂感质地', '匠心剪裁，垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套');\nINSERT INTO `pms_product` VALUES (22, 6, 7, 0, 1, 'test', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg', '', 1, 1, 0, 0, 0, 0, 0, 0.00, NULL, 0, 0, 0, 'test', '', 0.00, 100, 0, '', 0.00, 1, '1,2', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '外套');\nINSERT INTO `pms_product` VALUES (23, 6, 19, 0, 1, '毛衫测试', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg', 'NO.1098', 1, 1, 1, 1, 0, 0, 0, 99.00, NULL, 99, 99, 1000, '毛衫测试11', 'xxx', 109.00, 100, 0, '件', 1000.00, 1, '1,2,3', '毛衫测试', '毛衫测试', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg', '毛衫测试', '毛衫测试', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/155x54.bmp\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/APP登录bg1080.jpg\\\" width=\\\"500\\\" height=\\\"500\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/APP登录界面.jpg\\\" width=\\\"500\\\" height=\\\"500\\\" /></p>', '', NULL, NULL, 0, 2, '小米', '手机数码');\nINSERT INTO `pms_product` VALUES (24, 6, 7, 0, NULL, 'xxx', '', '', 1, 0, 0, 0, 0, 0, 0, 0.00, NULL, 0, 0, 0, 'xxx', '', 0.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '外套');\nINSERT INTO `pms_product` VALUES (26, 3, 19, 0, 3, '华为 HUAWEI P20 ', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '6946605', 0, 1, 1, 1, 0, 100, 100, 3788.00, 3659.00, 3788, 3788, 0, 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '', 4288.00, 1000, 0, '件', 0.00, 1, '2,3,1', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ab46a3cN616bdc41.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf5fN2522b9dc.jpg', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ad44f1cNf51f3bb0.jpg\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ad44fa8Nfcf71c10.jpg\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ad44fa9N40e78ee0.jpg\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ad457f4N1c94bdda.jpg\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ad457f5Nd30de41d.jpg\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5b10fb0eN0eb053fb.jpg\\\" /></p>', '<p><img src=\\\"//img20.360buyimg.com/vc/jfs/t1/81293/35/5822/369414/5d3fe77cE619c5487/6e775a52850feea5.jpg!q70.dpg.webp\\\" alt=\\\"\\\" width=\\\"750\\\" height=\\\"776\\\" /></p>\\n<p><img src=\\\"//img20.360buyimg.com/vc/jfs/t1/45300/25/11592/3658871/5d85ef66E92a8a911/083e47d8f662c582.jpg!q70.dpg.webp\\\" alt=\\\"\\\" width=\\\"596\\\" height=\\\"16383\\\" /></p>', '2023-01-10 15:49:38', '2023-01-31 00:00:00', 0, 1, '华为', '手机通讯');\nINSERT INTO `pms_product` VALUES (27, 6, 19, 0, 3, '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '7437788', 0, 1, 1, 1, 0, 0, 99, 2699.00, NULL, 2699, 2699, 0, '骁龙845处理器，红外人脸解锁，AI变焦双摄，AI语音助手小米6X低至1299，点击抢购', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', 2699.00, 100, 0, '', 0.00, 0, '1', '', '', '', '', '', '<p style=\\\"text-align: center;\\\"><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/95935/9/19330/159477/5e9ecc13E5b8db8ae/8e954021a0835fb7.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/99224/22/19596/137593/5e9ecc13E34ef2113/2b362b90d8378ee1.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/93131/25/19321/107691/5e9ecc13E41e8addf/202a5f84d9129878.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/101843/19/19533/66831/5e9ecc13Ecb7f9d53/4fdd807266583c1e.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/99629/36/19016/59882/5e9ecc13E1f5beef5/1e5af3528f366e70.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/72343/29/8945/84548/5d6e5c67Ea07b1125/702791816b90eb3d.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/65403/35/9017/129532/5d6e5c68E3f2d0546/9ec771eb6e04a75a.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/58261/33/9380/106603/5d6e5c68E05a99177/2b5b9e29eed05b08.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/51968/40/9688/113552/5d6e5c68E5052b312/8969d83124cb78a4.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/75491/9/9101/146883/5d6e5c68E3db89775/c1aa57e78ded4e44.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/75063/11/9107/127874/5d6e5c68E0b1dfc61/10dd6000ce213375.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/47452/25/9579/108279/5d6e5c68Ea9002f3b/865b5d32ffd9da75.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/82146/26/9077/87075/5d6e5c68Ef63bccc8/556de5665a35a3f2.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/82804/21/9019/124404/5d6e5c69E06a8f575/0f861f8c4636c546.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/46044/10/9734/107686/5d6e5c69Edd5e66c7/a8c7b9324e271dbd.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/40729/32/13755/45997/5d6e5c69Eafee3664/6a3457a4efdb79c5.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/76254/34/9039/96195/5d6e5c69E3c71c809/49033c0b7024c208.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/79825/20/9065/90864/5d6e5c69E1e62ef89/a4d3ce383425a666.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/49939/21/9618/106207/5d6e5c6aEf7b1d4fd/0f5e963c66be3d0c.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/64035/7/9001/115159/5d6e5c6aE6919dfdf/39dfe4840157ad81.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/53389/3/9616/99637/5d6e5c6aEa33b9f35/b8f6aa26e72616a3.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/63219/6/9026/81576/5d6e5c6aEa9c74b49/b4fa364437531012.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/42146/27/13902/80437/5d6e5c6bE30c31ce9/475d4d54c7334313.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/45317/28/9596/78175/5d6e5c6bEce31e4b7/5675858b6933565c.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/60080/1/9112/138722/5d6e5c6bEefd9fc62/7ece7460a36d2fcc.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/51525/13/9549/36018/5d6e5c73Ebbccae6c/99bc2770dccc042b.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/61948/20/9088/72918/5d6e5c73Eab7aef5c/6f21e2f85cf478fa.jpg!q70.dpg.webp\\\" /></p>', '<p style=\\\"text-align: center;\\\"><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/95935/9/19330/159477/5e9ecc13E5b8db8ae/8e954021a0835fb7.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/99224/22/19596/137593/5e9ecc13E34ef2113/2b362b90d8378ee1.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/93131/25/19321/107691/5e9ecc13E41e8addf/202a5f84d9129878.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/101843/19/19533/66831/5e9ecc13Ecb7f9d53/4fdd807266583c1e.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWareDetail/jfs/t1/99629/36/19016/59882/5e9ecc13E1f5beef5/1e5af3528f366e70.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/72343/29/8945/84548/5d6e5c67Ea07b1125/702791816b90eb3d.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/65403/35/9017/129532/5d6e5c68E3f2d0546/9ec771eb6e04a75a.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/58261/33/9380/106603/5d6e5c68E05a99177/2b5b9e29eed05b08.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/51968/40/9688/113552/5d6e5c68E5052b312/8969d83124cb78a4.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/75491/9/9101/146883/5d6e5c68E3db89775/c1aa57e78ded4e44.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/75063/11/9107/127874/5d6e5c68E0b1dfc61/10dd6000ce213375.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/47452/25/9579/108279/5d6e5c68Ea9002f3b/865b5d32ffd9da75.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/82146/26/9077/87075/5d6e5c68Ef63bccc8/556de5665a35a3f2.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/82804/21/9019/124404/5d6e5c69E06a8f575/0f861f8c4636c546.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/46044/10/9734/107686/5d6e5c69Edd5e66c7/a8c7b9324e271dbd.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/40729/32/13755/45997/5d6e5c69Eafee3664/6a3457a4efdb79c5.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/76254/34/9039/96195/5d6e5c69E3c71c809/49033c0b7024c208.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/79825/20/9065/90864/5d6e5c69E1e62ef89/a4d3ce383425a666.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/49939/21/9618/106207/5d6e5c6aEf7b1d4fd/0f5e963c66be3d0c.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/64035/7/9001/115159/5d6e5c6aE6919dfdf/39dfe4840157ad81.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/53389/3/9616/99637/5d6e5c6aEa33b9f35/b8f6aa26e72616a3.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/63219/6/9026/81576/5d6e5c6aEa9c74b49/b4fa364437531012.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/42146/27/13902/80437/5d6e5c6bE30c31ce9/475d4d54c7334313.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/45317/28/9596/78175/5d6e5c6bEce31e4b7/5675858b6933565c.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/60080/1/9112/138722/5d6e5c6bEefd9fc62/7ece7460a36d2fcc.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/51525/13/9549/36018/5d6e5c73Ebbccae6c/99bc2770dccc042b.jpg!q70.dpg.webp\\\" /><img src=\\\"//img30.360buyimg.com/popWaterMark/jfs/t1/61948/20/9088/72918/5d6e5c73Eab7aef5c/6f21e2f85cf478fa.jpg!q70.dpg.webp\\\" /></p>', NULL, NULL, 0, 3, '小米', '手机通讯');\nINSERT INTO `pms_product` VALUES (28, 6, 19, 0, 3, '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '7437789', 0, 1, 1, 1, 0, 0, 98, 649.00, NULL, 649, 649, 0, '8天超长待机，137g轻巧机身，高通骁龙处理器小米6X低至1299，点击抢购', '', 649.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '<div><img src=\\\"//img12.360buyimg.com/imgzone/jfs/t1/67362/12/14546/708984/5dc28512Eefdd817d/c82503af0da6c038.gif\\\" /><img src=\\\"//img13.360buyimg.com/imgzone/jfs/t1/61488/17/14551/995918/5dc28512E821c228d/41e52005ea5b1f36.gif\\\" /><img src=\\\"//img14.360buyimg.com/imgzone/jfs/t1/72961/36/14769/305883/5dc28512E65d77261/3df6be29e3d489d1.gif\\\" />\\n<p>&nbsp;</p>\\n</div>', NULL, NULL, 0, 4, '小米', '手机通讯');\nINSERT INTO `pms_product` VALUES (29, 51, 19, 0, 3, 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', '7437799', 0, 1, 1, 1, 0, 0, 97, 5499.00, 4799.00, 5499, 5499, 0, '【限时限量抢购】Apple产品年中狂欢节，好物尽享，美在智慧！速来 >> 勾选[保障服务][原厂保2年]，获得AppleCare+全方位服务计划，原厂延保售后无忧。', '', 5499.00, 100, 0, '', 0.00, 0, '1,2,3', '', '', '', '', '', '', '<div><img src=\\\"//img10.360buyimg.com/cms/jfs/t1/20020/38/9725/228440/5c7f9208Eeaf4bf87/13a713066f71791d.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img12.360buyimg.com/cms/jfs/t1/12128/39/9607/265349/5c7f9209Ecff29b88/08620ba570705634.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img14.360buyimg.com/cms/jfs/t1/22731/40/9578/345163/5c7f9209E9ba056e5/a8a557060b84447e.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img14.360buyimg.com/cms/jfs/t1/29506/38/9439/299492/5c7f9209E0e51eb29/15dedd95416f3c68.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img14.360buyimg.com/cms/jfs/t1/26766/28/9574/257101/5c7f9209Eaca1b317/c7caa047b1566cf1.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img13.360buyimg.com/cms/jfs/t1/11059/8/10473/286531/5c7f9208E05da0120/9034ad8799ad9553.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img14.360buyimg.com/cms/jfs/t1/25641/2/9557/268826/5c7f9208Efbf0dc50/399580629e05e733.jpg!q70.dpg.webp\\\" /> <img src=\\\"//img13.360buyimg.com/cms/jfs/t1/28964/25/9527/305902/5c7f9208E275ffb9c/8464934d67e69b7a.jpg!q70.dpg.webp\\\" /></div>', '2020-05-04 15:12:54', '2020-05-30 00:00:00', 0, 1, '苹果', '手机通讯');\nINSERT INTO `pms_product` VALUES (30, 50, 8, 0, 1, 'HLA海澜之家简约动物印花短袖T恤', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5ad83a4fN6ff67ecd.jpg!cc_350x449.jpg', 'HNTBJ2E042A', 0, 1, 1, 1, 0, 0, 0, 98.00, NULL, 0, 0, 0, '2018夏季新品微弹舒适新款短T男生 6月6日-6月20日，满300减30，参与互动赢百元礼券，立即分享赢大奖', '', 98.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '海澜之家', 'T恤');\nINSERT INTO `pms_product` VALUES (31, 50, 8, 0, 1, 'HLA海澜之家蓝灰花纹圆领针织布短袖T恤', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5ac98b64N70acd82f.jpg!cc_350x449.jpg', 'HNTBJ2E080A', 0, 1, 0, 0, 0, 0, 0, 98.00, NULL, 0, 0, 0, '2018夏季新品短袖T恤男HNTBJ2E080A 蓝灰花纹80 175/92A/L80A 蓝灰花纹80 175/92A/L', '', 98.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '海澜之家', 'T恤');\nINSERT INTO `pms_product` VALUES (32, 50, 8, 0, 1, 'HLA海澜之家短袖T恤男基础款', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a51eb88Na4797877.jpg', 'HNTBJ2E153A', 0, 1, 0, 0, 0, 0, 0, 68.00, NULL, 0, 0, 0, 'HLA海澜之家短袖T恤男基础款简约圆领HNTBJ2E153A藏青(F3)175/92A(50)', '', 68.00, 100, 0, '', 0.00, 0, '1,2', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '海澜之家', 'T恤');\nINSERT INTO `pms_product` VALUES (33, 6, 35, 0, 12, '小米（MI）小米电视4A ', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b02804dN66004d73.jpg', '4609652', 0, 1, 0, 0, 0, 0, 0, 2499.00, NULL, 0, 0, 0, '小米（MI）小米电视4A 55英寸 L55M5-AZ/L55M5-AD 2GB+8GB HDR 4K超高清 人工智能网络液晶平板电视', '', 2499.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '电视');\nINSERT INTO `pms_product` VALUES (34, 6, 35, 0, 12, '小米（MI）小米电视4A 65英寸', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b028530N51eee7d4.jpg', '4609660', 0, 1, 0, 0, 0, 0, 0, 3999.00, NULL, 0, 0, 0, ' L65M5-AZ/L65M5-AD 2GB+8GB HDR 4K超高清 人工智能网络液晶平板电视', '', 3999.00, 100, 0, '', 0.00, 0, '1,2', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '电视');\nINSERT INTO `pms_product` VALUES (35, 58, 29, 0, 11, '耐克NIKE 男子 休闲鞋 ROSHE RUN 运动鞋 511881-010黑色41码', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b235bb9Nf606460b.jpg', '6799342', 0, 1, 0, 0, 0, 0, 0, 369.00, NULL, 0, 0, 0, '耐克NIKE 男子 休闲鞋 ROSHE RUN 运动鞋 511881-010黑色41码', '', 369.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, 'NIKE', '男鞋');\nINSERT INTO `pms_product` VALUES (36, 58, 29, 0, 11, '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '6799345', 0, 1, 1, 1, 0, 0, 0, 499.00, NULL, 0, 0, 0, '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '', 499.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, 'NIKE', '男鞋');\nINSERT INTO `pms_product` VALUES (37, 51, 19, 0, 3, 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', '100038005189', 0, 1, 0, 0, 0, 200, 0, 5999.00, NULL, 0, 0, 0, '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元！！！部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券！！！猛戳 ', '', 5999.00, 1000, 0, '', 208.00, 0, '1,2,3', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', '', '', '', '<div style=\\\"margin: 0 auto;\\\"><img style=\\\"max-width: 390px;\\\" src=\\\"//img13.360buyimg.com/cms/jfs/t1/58071/39/19839/119559/63190110Edac0cea7/b62a84f1b8775fef.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img20.360buyimg.com/cms/jfs/t1/138903/36/29400/86115/63190110E0a98c819/d2efbef39eeb2995.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img30.360buyimg.com/cms/jfs/t1/176347/20/28995/115695/63190110Ef5d766f9/aee3d2d866522f66.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img14.360buyimg.com/cms/jfs/t1/120515/39/28721/142961/63190110Eec31e31a/3486d6a065a18ddc.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img13.360buyimg.com/cms/jfs/t1/30161/12/17674/81508/63190110E1385cf61/f05a2a43f4d304ff.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img14.360buyimg.com/cms/jfs/t1/100037/16/31071/62177/6319010fE871efe01/b01a6f981c268e38.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img14.360buyimg.com/cms/jfs/t1/90843/33/25852/74752/63190110E373559f4/74b6b52a3fb08c66.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img14.360buyimg.com/cms/jfs/t1/181914/22/28400/126094/63190110Edefb838c/802a16e758be2b1d.jpg!q70.dpg.webp\\\" /></div>', NULL, NULL, 0, 0, '苹果', '手机通讯');\nINSERT INTO `pms_product` VALUES (38, 51, 53, 0, 3, 'Apple iPad 10.9英寸平板电脑 2022年款', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', '100044025833', 0, 1, 0, 0, 0, 0, 0, 3599.00, NULL, 0, 0, 0, '【11.11大爱超大爱】iPad9代限量抢购，价格优惠，更享以旧换新至高补贴325元！！快来抢购吧！！ ', '', 3599.00, 1000, 0, '', 0.00, 0, '1,2,3', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_002.jpg', '', '', '', '<div style=\\\"margin: 0 auto;\\\"><img style=\\\"max-width: 390px;\\\" src=\\\"//img12.360buyimg.com/cms/jfs/t1/75040/28/21026/295081/634ed154E981e4d10/2ceef91d6f2b2273.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img13.360buyimg.com/cms/jfs/t1/191028/1/28802/401291/634ed15eEb234dc40/5ab89f83531e1023.jpg!q70.dpg.webp\\\" /> <img style=\\\"max-width: 390px;\\\" src=\\\"//img14.360buyimg.com/cms/jfs/t1/32758/24/18599/330590/634ed15eEc3db173c/c52953dc8008a576.jpg!q70.dpg.webp\\\" /></div>', NULL, NULL, 0, 0, '苹果', '平板电脑');\nINSERT INTO `pms_product` VALUES (39, 6, 54, 0, 13, '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '100023207945', 0, 1, 0, 1, 0, 0, 0, 5599.00, NULL, 0, 0, 0, '【双十一大促来袭】指定型号至高优惠1000，以旧换新至高补贴1000元，晒单赢好礼', '', 5599.00, 500, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_002.jpg', '', '', '', '<div class=\\\"ssd-module-mobile-wrap\\\">\\n<div class=\\\"ssd-module M16667778180631\\\" data-id=\\\"M16667778180631\\\"><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_snipaste_03.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_snipaste_04.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_snipaste_05.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_snipaste_06.png\\\" /></div>\\n<div class=\\\"ssd-module M16667778180631\\\" data-id=\\\"M16667778180631\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16534569204241\\\" data-id=\\\"M16534569204241\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16667778416884\\\" data-id=\\\"M16667778416884\\\">\\n<div class=\\\"ssd-widget-text W16667778440496\\\">&nbsp;</div>\\n</div>\\n<div class=\\\"ssd-module M165303211067557\\\" data-id=\\\"M165303211067557\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320459861\\\" data-id=\\\"M16530320459861\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320460062\\\" data-id=\\\"M16530320460062\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320460153\\\" data-id=\\\"M16530320460153\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320460366\\\" data-id=\\\"M16530320460366\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320460477\\\" data-id=\\\"M16530320460477\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320460578\\\" data-id=\\\"M16530320460578\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M16530320460699\\\" data-id=\\\"M16530320460699\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204608110\\\" data-id=\\\"M165303204608110\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204609511\\\" data-id=\\\"M165303204609511\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204611213\\\" data-id=\\\"M165303204611213\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204612714\\\" data-id=\\\"M165303204612714\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204614115\\\" data-id=\\\"M165303204614115\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204615516\\\" data-id=\\\"M165303204615516\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204617417\\\" data-id=\\\"M165303204617417\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204618818\\\" data-id=\\\"M165303204618818\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204620219\\\" data-id=\\\"M165303204620219\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204621620\\\" data-id=\\\"M165303204621620\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204622921\\\" data-id=\\\"M165303204622921\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204624522\\\" data-id=\\\"M165303204624522\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204626024\\\" data-id=\\\"M165303204626024\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204627525\\\" data-id=\\\"M165303204627525\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204629127\\\" data-id=\\\"M165303204629127\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204632330\\\" data-id=\\\"M165303204632330\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204634031\\\" data-id=\\\"M165303204634031\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204635832\\\" data-id=\\\"M165303204635832\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204637533\\\" data-id=\\\"M165303204637533\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204639334\\\" data-id=\\\"M165303204639334\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204642235\\\" data-id=\\\"M165303204642235\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204647936\\\" data-id=\\\"M165303204647936\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204651037\\\" data-id=\\\"M165303204651037\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204653838\\\" data-id=\\\"M165303204653838\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204656239\\\" data-id=\\\"M165303204656239\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204659141\\\" data-id=\\\"M165303204659141\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204661943\\\" data-id=\\\"M165303204661943\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204665844\\\" data-id=\\\"M165303204665844\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204668045\\\" data-id=\\\"M165303204668045\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204670146\\\" data-id=\\\"M165303204670146\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204672147\\\" data-id=\\\"M165303204672147\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204674348\\\" data-id=\\\"M165303204674348\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204676749\\\" data-id=\\\"M165303204676749\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204681352\\\" data-id=\\\"M165303204681352\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204683553\\\" data-id=\\\"M165303204683553\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204685855\\\" data-id=\\\"M165303204685855\\\">&nbsp;</div>\\n<div class=\\\"ssd-module M165303204688356\\\" data-id=\\\"M165303204688356\\\">&nbsp;</div>\\n</div>', NULL, NULL, 0, 0, '小米', '笔记本');\nINSERT INTO `pms_product` VALUES (40, 6, 19, 0, 3, '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '100027789721', 0, 1, 0, 1, 0, 0, 0, 2999.00, NULL, 0, 0, 0, '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra，戳】 ', '', 2999.00, 500, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_02.jpg', '', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_snipaste_03.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_snipaste_04.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_snipaste_05.png\\\" /></p>', NULL, NULL, 0, 4, '小米', '手机通讯');\nINSERT INTO `pms_product` VALUES (41, 6, 19, 0, 3, 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', '100035246702', 0, 1, 0, 0, 0, 0, 0, 2099.00, NULL, 0, 0, 0, '【品质好物】天玑8100，2K直屏，5500mAh大电量【Note12Pro火热抢购中】 ', '', 2099.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_02.jpg', '', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_snipaste_03.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_snipaste_04.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_snipaste_05.png\\\" /></p>', NULL, NULL, 0, 0, '小米', '手机通讯');\nINSERT INTO `pms_product` VALUES (42, 3, 19, 0, 3, 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', '100035295081', 0, 1, 0, 0, 0, 0, 0, 4999.00, NULL, 0, 0, 0, '【华为Mate50新品上市】内置66W华为充电套装，超光变XMAGE影像,北斗卫星消息，鸿蒙操作系统3.0！立即抢购！华为新品可持续计划，猛戳》 ', '', 4999.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_02.jpg', '', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_snipaste_03.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_snipaste_04.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_snipaste_05.png\\\" /></p>', NULL, NULL, 0, 0, '华为', '手机通讯');\nINSERT INTO `pms_product` VALUES (43, 1, 39, 0, 14, '万和（Vanward)燃气热水器天然气家用四重防冻直流变频节能全新升级增压水伺服恒温高抗风', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_13L_01.png', '10044060351752', 0, 1, 0, 0, 0, 0, 0, 1799.00, NULL, 0, 0, 0, '【家电11.11享低价，抢到手价不高于1199】【发布种草秀享好礼！同价11.11买贵补差】爆款超一级能效零冷水】 ', '', 1799.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_16L_01.jpg', '', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_water_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_water_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_water_snipaste_03.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_water_snipaste_04.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_water_snipaste_05.png\\\" /></p>', NULL, NULL, 0, 0, '万和', '厨卫大电');\nINSERT INTO `pms_product` VALUES (44, 2, 55, 0, 15, '三星（SAMSUNG）500GB SSD固态硬盘 M.2接口(NVMe协议)', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', '100018768480', 0, 1, 0, 0, 0, 0, 0, 369.00, NULL, 0, 0, 0, '【满血无缓存！进店抽百元E卡，部分型号白条三期免息】兼具速度与可靠性！读速高达3500MB/s，全功率模式！点击 ', '', 369.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_01.jpg', '', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_snipaste_03.png\\\" /></p>', NULL, NULL, 0, 0, '三星', '硬盘');\nINSERT INTO `pms_product` VALUES (45, 21, 19, 0, 3, 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', '10052147850350', 0, 1, 0, 0, 0, 0, 0, 2299.00, 999.00, 0, 0, 0, '【11.11提前购机享价保，好货不用等，系统申请一键价保补差!】【Reno8Pro爆款优惠】 ', '', 2299.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_02.jpg', '', '', '', '<p><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_snipaste_01.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_snipaste_02.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_snipaste_03.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_snipaste_04.png\\\" /><img class=\\\"wscnph\\\" src=\\\"http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_snipaste_05.png\\\" /></p>', '2022-11-09 16:15:50', '2022-11-25 00:00:00', 0, 4, 'OPPO', '手机通讯');\n\n-- ----------------------------\n-- Table structure for pms_product_attribute\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_attribute`;\nCREATE TABLE `pms_product_attribute`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_attribute_category_id` bigint(20) NULL DEFAULT NULL,\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `select_type` int(1) NULL DEFAULT NULL COMMENT '属性选择类型：0->唯一；1->单选；2->多选',\n  `input_type` int(1) NULL DEFAULT NULL COMMENT '属性录入方式：0->手工录入；1->从列表中选取',\n  `input_list` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '可选值列表，以逗号隔开',\n  `sort` int(11) NULL DEFAULT NULL COMMENT '排序字段：最高的可以单独上传图片',\n  `filter_type` int(1) NULL DEFAULT NULL COMMENT '分类筛选样式：1->普通；1->颜色',\n  `search_type` int(1) NULL DEFAULT NULL COMMENT '检索类型；0->不需要进行检索；1->关键字检索；2->范围检索',\n  `related_status` int(1) NULL DEFAULT NULL COMMENT '相同属性产品是否关联；0->不关联；1->关联',\n  `hand_add_status` int(1) NULL DEFAULT NULL COMMENT '是否支持手动新增；0->不支持；1->支持',\n  `type` int(1) NULL DEFAULT NULL COMMENT '属性的类型；0->规格；1->参数',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 74 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品属性参数表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_attribute\n-- ----------------------------\nINSERT INTO `pms_product_attribute` VALUES (1, 1, '尺寸', 2, 1, 'M,X,XL,2XL,3XL,4XL', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (7, 1, '颜色', 2, 1, '黑色,红色,白色,粉色', 100, 0, 0, 0, 1, 0);\nINSERT INTO `pms_product_attribute` VALUES (13, 0, '上市年份', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (14, 0, '上市年份1', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (15, 0, '上市年份2', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (16, 0, '上市年份3', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (17, 0, '上市年份4', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (18, 0, '上市年份5', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (19, 0, '适用对象', 1, 1, '青年女性,中年女性', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (20, 0, '适用对象1', 2, 1, '青年女性,中年女性', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (21, 0, '适用对象3', 2, 1, '青年女性,中年女性', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (24, 1, '商品编号', 1, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (25, 1, '适用季节', 1, 1, '春季,夏季,秋季,冬季', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (32, 2, '适用人群', 0, 1, '老年,青年,中年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (33, 2, '风格', 0, 1, '嘻哈风格,基础大众,商务正装', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (35, 2, '颜色', 0, 0, '', 100, 0, 0, 0, 1, 0);\nINSERT INTO `pms_product_attribute` VALUES (37, 1, '适用人群', 1, 1, '儿童,青年,中年,老年', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (38, 1, '上市时间', 1, 1, '2017年秋,2017年冬,2018年春,2018年夏', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (39, 1, '袖长', 1, 1, '短袖,长袖,中袖', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (40, 2, '尺码', 0, 1, '29,30,31,32,33,34', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (41, 2, '适用场景', 0, 1, '居家,运动,正装', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (42, 2, '上市时间', 0, 1, '2018年春,2018年夏', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (43, 3, '颜色', 0, 0, '', 100, 0, 0, 0, 1, 0);\nINSERT INTO `pms_product_attribute` VALUES (44, 3, '容量', 0, 1, '16G,32G,64G,128G,256G,512G', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (45, 3, '屏幕尺寸', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (46, 3, '网络', 0, 1, '3G,4G,5G,WLAN', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (47, 3, '系统', 0, 1, 'Android,IOS', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (48, 3, '电池容量', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (49, 11, '颜色', 0, 1, '红色,蓝色,绿色', 0, 1, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (50, 11, '尺寸', 0, 1, '38,39,40', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (51, 11, '风格', 0, 1, '夏季,秋季', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (52, 12, '尺寸', 0, 1, '50英寸,65英寸,70英寸', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (53, 12, '内存', 0, 1, '8G,16G,32G', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (54, 12, '商品编号', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (55, 12, '商品毛重', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (56, 12, '商品产地', 0, 1, '中国大陆,其他', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (57, 12, '电视类型', 0, 1, '大屏,教育电视,4K超清', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (58, 13, '颜色', 0, 0, '', 0, 0, 0, 0, 1, 0);\nINSERT INTO `pms_product_attribute` VALUES (59, 13, '版本', 0, 1, 'R7 16G 512,R5 16G 512,I5 16G 512,I7 16G 512', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (60, 13, '屏幕尺寸', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (61, 13, '屏幕分辨率', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (62, 13, 'CPU型号', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (63, 14, '系列', 0, 0, '', 0, 0, 0, 0, 1, 0);\nINSERT INTO `pms_product_attribute` VALUES (64, 14, '上市时间', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (65, 14, '毛重', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (66, 14, '额定功率', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (67, 15, '颜色', 0, 0, '', 0, 0, 0, 0, 1, 0);\nINSERT INTO `pms_product_attribute` VALUES (68, 15, '版本', 0, 1, '512GB,1TB', 0, 0, 0, 0, 0, 0);\nINSERT INTO `pms_product_attribute` VALUES (69, 15, '系列', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (70, 15, '型号', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (71, 15, '闪存类型', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (72, 15, '顺序读速', 0, 0, '', 0, 0, 0, 0, 0, 1);\nINSERT INTO `pms_product_attribute` VALUES (73, 15, '顺序写入', 0, 0, '', 0, 0, 0, 0, 0, 1);\n\n-- ----------------------------\n-- Table structure for pms_product_attribute_category\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_attribute_category`;\nCREATE TABLE `pms_product_attribute_category`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `attribute_count` int(11) NULL DEFAULT 0 COMMENT '属性数量',\n  `param_count` int(11) NULL DEFAULT 0 COMMENT '参数数量',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品属性分类表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_attribute_category\n-- ----------------------------\nINSERT INTO `pms_product_attribute_category` VALUES (1, '服装-T恤', 2, 5);\nINSERT INTO `pms_product_attribute_category` VALUES (2, '服装-裤装', 2, 4);\nINSERT INTO `pms_product_attribute_category` VALUES (3, '手机数码-手机通讯', 2, 4);\nINSERT INTO `pms_product_attribute_category` VALUES (4, '配件', 0, 0);\nINSERT INTO `pms_product_attribute_category` VALUES (5, '居家', 0, 0);\nINSERT INTO `pms_product_attribute_category` VALUES (6, '洗护', 0, 0);\nINSERT INTO `pms_product_attribute_category` VALUES (10, '测试分类', 0, 0);\nINSERT INTO `pms_product_attribute_category` VALUES (11, '服装-鞋帽', 3, 0);\nINSERT INTO `pms_product_attribute_category` VALUES (12, '家用电器-电视', 2, 4);\nINSERT INTO `pms_product_attribute_category` VALUES (13, '电脑办公-笔记本', 2, 3);\nINSERT INTO `pms_product_attribute_category` VALUES (14, '家用电器-厨卫大电', 1, 3);\nINSERT INTO `pms_product_attribute_category` VALUES (15, '电脑办公-硬盘', 2, 5);\n\n-- ----------------------------\n-- Table structure for pms_product_attribute_value\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_attribute_value`;\nCREATE TABLE `pms_product_attribute_value`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `product_attribute_id` bigint(20) NULL DEFAULT NULL,\n  `value` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手动添加规格或参数的值，参数单值，规格有多个时以逗号隔开',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 517 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '存储产品参数信息的表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_attribute_value\n-- ----------------------------\nINSERT INTO `pms_product_attribute_value` VALUES (1, 9, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (2, 10, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (3, 11, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (4, 12, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (5, 13, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (6, 14, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (7, 18, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (8, 7, 1, 'X');\nINSERT INTO `pms_product_attribute_value` VALUES (9, 7, 1, 'XL');\nINSERT INTO `pms_product_attribute_value` VALUES (10, 7, 1, 'XXL');\nINSERT INTO `pms_product_attribute_value` VALUES (11, 22, 7, 'x,xx');\nINSERT INTO `pms_product_attribute_value` VALUES (12, 22, 24, 'no110');\nINSERT INTO `pms_product_attribute_value` VALUES (13, 22, 25, '春季');\nINSERT INTO `pms_product_attribute_value` VALUES (14, 22, 37, '青年');\nINSERT INTO `pms_product_attribute_value` VALUES (15, 22, 38, '2018年春');\nINSERT INTO `pms_product_attribute_value` VALUES (16, 22, 39, '长袖');\nINSERT INTO `pms_product_attribute_value` VALUES (124, 23, 7, '米白色,浅黄色');\nINSERT INTO `pms_product_attribute_value` VALUES (125, 23, 24, 'no1098');\nINSERT INTO `pms_product_attribute_value` VALUES (126, 23, 25, '春季');\nINSERT INTO `pms_product_attribute_value` VALUES (127, 23, 37, '青年');\nINSERT INTO `pms_product_attribute_value` VALUES (128, 23, 38, '2018年春');\nINSERT INTO `pms_product_attribute_value` VALUES (129, 23, 39, '长袖');\nINSERT INTO `pms_product_attribute_value` VALUES (130, 1, 13, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (131, 1, 14, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (132, 1, 15, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (133, 1, 16, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (134, 1, 17, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (135, 1, 18, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (136, 1, 19, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (137, 1, 20, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (138, 1, 21, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (139, 2, 13, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (140, 2, 14, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (141, 2, 15, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (142, 2, 16, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (143, 2, 17, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (144, 2, 18, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (145, 2, 19, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (146, 2, 20, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (147, 2, 21, NULL);\nINSERT INTO `pms_product_attribute_value` VALUES (243, 30, 7, '蓝色,白色');\nINSERT INTO `pms_product_attribute_value` VALUES (244, 30, 24, 'HNTBJ2E042A');\nINSERT INTO `pms_product_attribute_value` VALUES (245, 30, 25, '夏季');\nINSERT INTO `pms_product_attribute_value` VALUES (246, 30, 37, '青年');\nINSERT INTO `pms_product_attribute_value` VALUES (247, 30, 38, '2018年夏');\nINSERT INTO `pms_product_attribute_value` VALUES (248, 30, 39, '短袖');\nINSERT INTO `pms_product_attribute_value` VALUES (249, 31, 7, '浅灰色,深灰色');\nINSERT INTO `pms_product_attribute_value` VALUES (250, 31, 24, 'HNTBJ2E080A');\nINSERT INTO `pms_product_attribute_value` VALUES (251, 31, 25, '夏季');\nINSERT INTO `pms_product_attribute_value` VALUES (252, 31, 37, '青年');\nINSERT INTO `pms_product_attribute_value` VALUES (253, 31, 38, '2018年夏');\nINSERT INTO `pms_product_attribute_value` VALUES (254, 31, 39, '短袖');\nINSERT INTO `pms_product_attribute_value` VALUES (255, 32, 7, '黑色,白色');\nINSERT INTO `pms_product_attribute_value` VALUES (256, 32, 24, 'HNTBJ2E153A');\nINSERT INTO `pms_product_attribute_value` VALUES (257, 32, 25, '夏季');\nINSERT INTO `pms_product_attribute_value` VALUES (258, 32, 37, '青年');\nINSERT INTO `pms_product_attribute_value` VALUES (259, 32, 38, '2018年夏');\nINSERT INTO `pms_product_attribute_value` VALUES (260, 32, 39, '短袖');\nINSERT INTO `pms_product_attribute_value` VALUES (265, 33, 54, '4609652');\nINSERT INTO `pms_product_attribute_value` VALUES (266, 33, 55, '28.6kg');\nINSERT INTO `pms_product_attribute_value` VALUES (267, 33, 56, '中国大陆');\nINSERT INTO `pms_product_attribute_value` VALUES (268, 33, 57, '大屏');\nINSERT INTO `pms_product_attribute_value` VALUES (269, 34, 54, '4609660');\nINSERT INTO `pms_product_attribute_value` VALUES (270, 34, 55, '30.8kg');\nINSERT INTO `pms_product_attribute_value` VALUES (271, 34, 56, '中国大陆');\nINSERT INTO `pms_product_attribute_value` VALUES (272, 34, 57, '4K超清');\nINSERT INTO `pms_product_attribute_value` VALUES (288, 27, 43, '黑色,蓝色');\nINSERT INTO `pms_product_attribute_value` VALUES (289, 27, 45, '5.8');\nINSERT INTO `pms_product_attribute_value` VALUES (290, 27, 46, '4G');\nINSERT INTO `pms_product_attribute_value` VALUES (291, 27, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (292, 27, 48, '3000ml');\nINSERT INTO `pms_product_attribute_value` VALUES (303, 28, 43, '金色,银色');\nINSERT INTO `pms_product_attribute_value` VALUES (304, 28, 45, '5.0');\nINSERT INTO `pms_product_attribute_value` VALUES (305, 28, 46, '4G');\nINSERT INTO `pms_product_attribute_value` VALUES (306, 28, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (307, 28, 48, '2800ml');\nINSERT INTO `pms_product_attribute_value` VALUES (308, 29, 43, '金色,银色');\nINSERT INTO `pms_product_attribute_value` VALUES (309, 29, 45, '4.7');\nINSERT INTO `pms_product_attribute_value` VALUES (310, 29, 46, '4G');\nINSERT INTO `pms_product_attribute_value` VALUES (311, 29, 47, 'IOS');\nINSERT INTO `pms_product_attribute_value` VALUES (312, 29, 48, '1960ml');\nINSERT INTO `pms_product_attribute_value` VALUES (338, 37, 43, '午夜色,星光色,紫色,蓝色');\nINSERT INTO `pms_product_attribute_value` VALUES (339, 37, 45, '6.1英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (340, 37, 46, '5G');\nINSERT INTO `pms_product_attribute_value` VALUES (341, 37, 47, 'IOS');\nINSERT INTO `pms_product_attribute_value` VALUES (342, 37, 48, '3000毫安');\nINSERT INTO `pms_product_attribute_value` VALUES (443, 38, 43, '银色,蓝色');\nINSERT INTO `pms_product_attribute_value` VALUES (444, 38, 45, '10.9英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (445, 38, 46, 'WLAN');\nINSERT INTO `pms_product_attribute_value` VALUES (446, 38, 47, 'IOS');\nINSERT INTO `pms_product_attribute_value` VALUES (447, 38, 48, '6000毫安');\nINSERT INTO `pms_product_attribute_value` VALUES (448, 39, 58, '新小米Pro 14英寸 2.8K屏,新Redmi Pro 15英寸 3.2K屏');\nINSERT INTO `pms_product_attribute_value` VALUES (449, 39, 60, '15.6英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (450, 39, 61, '3200*2000');\nINSERT INTO `pms_product_attribute_value` VALUES (451, 39, 62, 'R5 6600H');\nINSERT INTO `pms_product_attribute_value` VALUES (452, 41, 43, '墨羽,银迹');\nINSERT INTO `pms_product_attribute_value` VALUES (453, 41, 45, '6.67英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (454, 41, 46, '5G');\nINSERT INTO `pms_product_attribute_value` VALUES (455, 41, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (456, 41, 48, '5500mAh');\nINSERT INTO `pms_product_attribute_value` VALUES (457, 42, 43, '曜金黑,冰霜银');\nINSERT INTO `pms_product_attribute_value` VALUES (458, 42, 45, '6.7英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (459, 42, 46, '5G');\nINSERT INTO `pms_product_attribute_value` VALUES (460, 42, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (461, 42, 48, '4460mAh');\nINSERT INTO `pms_product_attribute_value` VALUES (462, 43, 63, 'JSQ25-565W13【13升】【恒温旗舰款】,JSQ30-565W16【16升】【恒温旗舰款】');\nINSERT INTO `pms_product_attribute_value` VALUES (463, 43, 64, '2021-05');\nINSERT INTO `pms_product_attribute_value` VALUES (464, 43, 65, '15.5kg');\nINSERT INTO `pms_product_attribute_value` VALUES (465, 43, 66, '30w');\nINSERT INTO `pms_product_attribute_value` VALUES (466, 44, 67, '新品980｜NVMe PCIe3.0*4,980 PRO｜NVMe PCIe 4.0');\nINSERT INTO `pms_product_attribute_value` VALUES (467, 44, 69, '980');\nINSERT INTO `pms_product_attribute_value` VALUES (468, 44, 70, 'MZ-V8V500BW');\nINSERT INTO `pms_product_attribute_value` VALUES (469, 44, 71, 'TLC');\nINSERT INTO `pms_product_attribute_value` VALUES (470, 44, 72, '3100MB/s');\nINSERT INTO `pms_product_attribute_value` VALUES (471, 44, 73, '2600MB/s');\nINSERT INTO `pms_product_attribute_value` VALUES (472, 45, 43, '鸢尾紫,晴空蓝');\nINSERT INTO `pms_product_attribute_value` VALUES (473, 45, 45, '6.43英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (474, 45, 46, '5G');\nINSERT INTO `pms_product_attribute_value` VALUES (475, 45, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (476, 45, 48, '4500mAh');\nINSERT INTO `pms_product_attribute_value` VALUES (477, 40, 43, '黑色,蓝色');\nINSERT INTO `pms_product_attribute_value` VALUES (478, 40, 45, '6.73英寸');\nINSERT INTO `pms_product_attribute_value` VALUES (479, 40, 46, '5G');\nINSERT INTO `pms_product_attribute_value` VALUES (480, 40, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (481, 40, 48, '5160mAh');\nINSERT INTO `pms_product_attribute_value` VALUES (512, 26, 43, '金色,银色');\nINSERT INTO `pms_product_attribute_value` VALUES (513, 26, 45, '5.0');\nINSERT INTO `pms_product_attribute_value` VALUES (514, 26, 46, '4G');\nINSERT INTO `pms_product_attribute_value` VALUES (515, 26, 47, 'Android');\nINSERT INTO `pms_product_attribute_value` VALUES (516, 26, 48, '3000');\n\n-- ----------------------------\n-- Table structure for pms_product_category\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_category`;\nCREATE TABLE `pms_product_category`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '上机分类的编号：0表示一级分类',\n  `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `level` int(1) NULL DEFAULT NULL COMMENT '分类级别：0->1级；1->2级',\n  `product_count` int(11) NULL DEFAULT NULL,\n  `product_unit` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `nav_status` int(1) NULL DEFAULT NULL COMMENT '是否显示在导航栏：0->不显示；1->显示',\n  `show_status` int(1) NULL DEFAULT NULL COMMENT '显示状态：0->不显示；1->显示',\n  `sort` int(11) NULL DEFAULT NULL,\n  `icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图标',\n  `keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '描述',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 56 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品分类' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_category\n-- ----------------------------\nINSERT INTO `pms_product_category` VALUES (1, 0, '服装', 0, 100, '件', 1, 1, 1, NULL, '服装', '服装分类');\nINSERT INTO `pms_product_category` VALUES (2, 0, '手机数码', 0, 100, '件', 1, 1, 1, NULL, '手机数码', '手机数码');\nINSERT INTO `pms_product_category` VALUES (3, 0, '家用电器', 0, 100, '件', 1, 1, 1, NULL, '家用电器', '家用电器');\nINSERT INTO `pms_product_category` VALUES (4, 0, '家具家装', 0, 100, '件', 1, 1, 1, NULL, '家具家装', '家具家装');\nINSERT INTO `pms_product_category` VALUES (5, 0, '汽车用品', 0, 100, '件', 1, 1, 1, NULL, '汽车用品', '汽车用品');\nINSERT INTO `pms_product_category` VALUES (7, 1, '外套', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac4780cN6087feb5.jpg', '外套', '外套');\nINSERT INTO `pms_product_category` VALUES (8, 1, 'T恤', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac47ffaN8a7b2e14.png', 'T恤', 'T恤');\nINSERT INTO `pms_product_category` VALUES (9, 1, '休闲裤', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac47845N7374a31d.jpg', '休闲裤', '休闲裤');\nINSERT INTO `pms_product_category` VALUES (10, 1, '牛仔裤', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac47841Nff658599.jpg', '牛仔裤', '牛仔裤');\nINSERT INTO `pms_product_category` VALUES (11, 1, '衬衫', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac48007Nb30b2118.jpg', '衬衫', '衬衫分类');\nINSERT INTO `pms_product_category` VALUES (13, 12, '家电子分类1', 1, 1, 'string', 0, 1, 0, 'string', 'string', 'string');\nINSERT INTO `pms_product_category` VALUES (14, 12, '家电子分类2', 1, 1, 'string', 0, 1, 0, 'string', 'string', 'string');\nINSERT INTO `pms_product_category` VALUES (19, 2, '手机通讯', 1, 0, '件', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac48d27N3f5bb821.jpg', '手机通讯', '手机通讯');\nINSERT INTO `pms_product_category` VALUES (29, 1, '男鞋', 1, 0, '', 0, 0, 0, '', '', '');\nINSERT INTO `pms_product_category` VALUES (30, 2, '手机配件', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac48672N11cf61fe.jpg', '手机配件', '手机配件');\nINSERT INTO `pms_product_category` VALUES (31, 2, '摄影摄像', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5a1679f2Nc2f659b6.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (32, 2, '影音娱乐', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5a167859N01d8198b.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (33, 2, '数码配件', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5a1676e9N1ba70a81.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (34, 2, '智能设备', 1, 0, '', 0, 0, 0, '', '', '');\nINSERT INTO `pms_product_category` VALUES (35, 3, '电视', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f71eN25360979.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (36, 3, '空调', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f6f6Ndfe746aa.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (37, 3, '洗衣机', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f6eaN9ec936de.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (38, 3, '冰箱', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f6c5Ne56d7e26.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (39, 3, '厨卫大电', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f369N6a55ff3f.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (40, 3, '厨房小电', 1, 0, '', 0, 0, 0, '', '', '');\nINSERT INTO `pms_product_category` VALUES (41, 3, '生活电器', 1, 0, '', 0, 0, 0, '', '', '');\nINSERT INTO `pms_product_category` VALUES (42, 3, '个护健康', 1, 0, '', 0, 0, 0, '', '', '');\nINSERT INTO `pms_product_category` VALUES (43, 4, '厨房卫浴', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb12cN5ab932bb.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (44, 4, '灯饰照明', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb115Na5705672.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (45, 4, '五金工具', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a28e743Nf6d99998.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (46, 4, '卧室家具', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb096N6326e0bd.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (47, 4, '客厅家具', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb080N38c2e7b7.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (48, 5, '全新整车', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/ebe31b9cc535e122.png', '', '');\nINSERT INTO `pms_product_category` VALUES (49, 5, '车载电器', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1fb8d2N53bbd2ba.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (50, 5, '维修保养', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1fb8baNbe801af8.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (51, 5, '汽车装饰', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a28ae20N34461e66.jpg', '', '');\nINSERT INTO `pms_product_category` VALUES (52, 0, '电脑办公', 0, 0, '件', 1, 1, 1, '', '电脑办公', '电脑办公');\nINSERT INTO `pms_product_category` VALUES (53, 52, '平板电脑', 1, 0, '件', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/pad_category_01.jpg', '平板电脑', '平板电脑');\nINSERT INTO `pms_product_category` VALUES (54, 52, '笔记本', 1, 0, '件', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/computer_category_01.jpg', '笔记本', '笔记本');\nINSERT INTO `pms_product_category` VALUES (55, 52, '硬盘', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/ssd_category_01.jpg', '硬盘', '');\n\n-- ----------------------------\n-- Table structure for pms_product_category_attribute_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_category_attribute_relation`;\nCREATE TABLE `pms_product_category_attribute_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_category_id` bigint(20) NULL DEFAULT NULL,\n  `product_attribute_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品的分类和属性的关系表，用于设置分类筛选条件（只支持一级分类）' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_category_attribute_relation\n-- ----------------------------\nINSERT INTO `pms_product_category_attribute_relation` VALUES (1, 24, 24);\nINSERT INTO `pms_product_category_attribute_relation` VALUES (5, 26, 24);\nINSERT INTO `pms_product_category_attribute_relation` VALUES (7, 28, 24);\nINSERT INTO `pms_product_category_attribute_relation` VALUES (9, 25, 24);\nINSERT INTO `pms_product_category_attribute_relation` VALUES (10, 25, 25);\n\n-- ----------------------------\n-- Table structure for pms_product_full_reduction\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_full_reduction`;\nCREATE TABLE `pms_product_full_reduction`  (\n  `id` bigint(11) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `full_price` decimal(10, 2) NULL DEFAULT NULL,\n  `reduce_price` decimal(10, 2) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 148 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品满减表(只针对同商品)' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_full_reduction\n-- ----------------------------\nINSERT INTO `pms_product_full_reduction` VALUES (1, 7, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (2, 8, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (3, 9, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (4, 10, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (5, 11, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (6, 12, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (7, 13, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (8, 14, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (9, 18, 100.00, 20.00);\nINSERT INTO `pms_product_full_reduction` VALUES (10, 7, 200.00, 50.00);\nINSERT INTO `pms_product_full_reduction` VALUES (11, 7, 300.00, 100.00);\nINSERT INTO `pms_product_full_reduction` VALUES (14, 22, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (16, 24, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (34, 23, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (78, 36, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (79, 35, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (83, 30, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (84, 31, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (85, 32, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (87, 33, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (88, 34, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (93, 27, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (96, 28, 500.00, 50.00);\nINSERT INTO `pms_product_full_reduction` VALUES (97, 28, 1000.00, 120.00);\nINSERT INTO `pms_product_full_reduction` VALUES (98, 29, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (104, 37, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (126, 38, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (127, 39, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (128, 41, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (129, 42, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (130, 43, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (131, 44, 0.00, 0.00);\nINSERT INTO `pms_product_full_reduction` VALUES (132, 45, 2000.00, 100.00);\nINSERT INTO `pms_product_full_reduction` VALUES (133, 40, 2000.00, 200.00);\nINSERT INTO `pms_product_full_reduction` VALUES (146, 26, 3000.00, 300.00);\nINSERT INTO `pms_product_full_reduction` VALUES (147, 26, 5000.00, 500.00);\n\n-- ----------------------------\n-- Table structure for pms_product_ladder\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_ladder`;\nCREATE TABLE `pms_product_ladder`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `count` int(11) NULL DEFAULT NULL COMMENT '满足的商品数量',\n  `discount` decimal(10, 2) NULL DEFAULT NULL COMMENT '折扣',\n  `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '折后价格',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 148 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品阶梯价格表(只针对同商品)' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_ladder\n-- ----------------------------\nINSERT INTO `pms_product_ladder` VALUES (1, 7, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (2, 8, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (3, 9, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (4, 10, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (5, 11, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (6, 12, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (7, 13, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (8, 14, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (12, 18, 3, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (14, 7, 4, 0.60, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (15, 7, 5, 0.50, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (18, 22, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (20, 24, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (38, 23, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (83, 36, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (84, 35, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (88, 30, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (89, 31, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (90, 32, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (92, 33, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (93, 34, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (99, 27, 2, 0.80, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (100, 27, 3, 0.75, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (103, 28, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (104, 29, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (110, 37, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (133, 38, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (134, 39, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (135, 41, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (136, 42, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (137, 43, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (138, 44, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (139, 45, 1, 0.70, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (140, 40, 0, 0.00, 0.00);\nINSERT INTO `pms_product_ladder` VALUES (147, 26, 0, 0.00, 0.00);\n\n-- ----------------------------\n-- Table structure for pms_product_operate_log\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_operate_log`;\nCREATE TABLE `pms_product_operate_log`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `price_old` decimal(10, 2) NULL DEFAULT NULL,\n  `price_new` decimal(10, 2) NULL DEFAULT NULL,\n  `sale_price_old` decimal(10, 2) NULL DEFAULT NULL,\n  `sale_price_new` decimal(10, 2) NULL DEFAULT NULL,\n  `gift_point_old` int(11) NULL DEFAULT NULL COMMENT '赠送的积分',\n  `gift_point_new` int(11) NULL DEFAULT NULL,\n  `use_point_limit_old` int(11) NULL DEFAULT NULL,\n  `use_point_limit_new` int(11) NULL DEFAULT NULL,\n  `operate_man` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人',\n  `create_time` datetime NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_operate_log\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for pms_product_vertify_record\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_product_vertify_record`;\nCREATE TABLE `pms_product_vertify_record`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `vertify_man` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '审核人',\n  `status` int(1) NULL DEFAULT NULL,\n  `detail` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '反馈详情',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品审核记录' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_product_vertify_record\n-- ----------------------------\nINSERT INTO `pms_product_vertify_record` VALUES (1, 1, '2018-04-27 16:36:41', 'test', 1, '验证通过');\nINSERT INTO `pms_product_vertify_record` VALUES (2, 2, '2018-04-27 16:36:41', 'test', 1, '验证通过');\n\n-- ----------------------------\n-- Table structure for pms_sku_stock\n-- ----------------------------\nDROP TABLE IF EXISTS `pms_sku_stock`;\nCREATE TABLE `pms_sku_stock`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `sku_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'sku编码',\n  `price` decimal(10, 2) NULL DEFAULT NULL,\n  `stock` int(11) NULL DEFAULT 0 COMMENT '库存',\n  `low_stock` int(11) NULL DEFAULT NULL COMMENT '预警库存',\n  `pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '展示图片',\n  `sale` int(11) NULL DEFAULT NULL COMMENT '销量',\n  `promotion_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '单品促销价格',\n  `lock_stock` int(11) NULL DEFAULT 0 COMMENT '锁定库存',\n  `sp_data` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性，json格式',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 243 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'sku的库存' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of pms_sku_stock\n-- ----------------------------\nINSERT INTO `pms_sku_stock` VALUES (98, 27, '201808270027001', 2699.00, 86, NULL, NULL, NULL, NULL, -24, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (99, 27, '201808270027002', 2999.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (100, 27, '201808270027003', 2699.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (101, 27, '201808270027004', 2999.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (102, 28, '201808270028001', 649.00, 99, NULL, NULL, NULL, NULL, -8, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (103, 28, '201808270028002', 699.00, 99, NULL, NULL, NULL, NULL, -8, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (104, 28, '201808270028003', 649.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (105, 28, '201808270028004', 699.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (106, 29, '201808270029001', 5499.00, 99, NULL, NULL, NULL, 4999.00, -8, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (107, 29, '201808270029002', 6299.00, 100, NULL, NULL, NULL, 5799.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (108, 29, '201808270029003', 5499.00, 100, NULL, NULL, NULL, 4999.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (109, 29, '201808270029004', 6299.00, 100, NULL, NULL, NULL, 5799.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (110, 26, '201806070026001', 3788.00, 487, NULL, NULL, NULL, 3699.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (111, 26, '201806070026002', 3999.00, 499, NULL, NULL, NULL, 3899.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"金色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (112, 26, '201806070026003', 3788.00, 500, NULL, NULL, NULL, 3699.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (113, 26, '201806070026004', 3999.00, 500, NULL, NULL, NULL, 3899.00, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (163, 36, '202002210036001', 100.00, 100, 25, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (164, 36, '202002210036002', 120.00, 98, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (165, 36, '202002210036003', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (166, 36, '202002210036004', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (167, 36, '202002210036005', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (168, 36, '202002210036006', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (169, 36, '202002210036007', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (170, 36, '202002210036008', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (171, 35, '202002250035001', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (172, 35, '202002250035002', 240.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (173, 35, '202002250035003', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (174, 35, '202002250035004', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"红色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (175, 35, '202002250035005', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (176, 35, '202002250035006', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"38\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (177, 35, '202002250035007', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"夏季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (178, 35, '202002250035008', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"39\\\"},{\\\"key\\\":\\\"风格\\\",\\\"value\\\":\\\"秋季\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (179, 30, '202004190030001', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"X\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (180, 30, '202004190030002', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"XL\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (181, 30, '202004190030003', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"M\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (182, 30, '202004190030004', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"白色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"X\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (183, 30, '202004190030005', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"白色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"XL\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (184, 30, '202004190030006', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"白色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"M\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (185, 31, '202004190031001', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"浅灰色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"X\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (186, 31, '202004190031002', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"浅灰色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"XL\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (187, 31, '202004190031003', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"深灰色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"X\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (188, 31, '202004190031004', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"深灰色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"XL\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (189, 32, '202004190032001', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"X\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (190, 32, '202004190032002', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"M\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (191, 32, '202004190032003', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"白色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"X\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (192, 32, '202004190032004', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"白色\\\"},{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"M\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (193, 33, '202004190033001', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"50英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"8G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (194, 33, '202004190033002', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"50英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (195, 33, '202004190033003', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"65英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"8G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (196, 33, '202004190033004', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"65英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (197, 34, '202004190034001', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"65英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (198, 34, '202004190034002', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"65英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (199, 34, '202004190034003', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"70英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"16G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (200, 34, '202004190034004', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\\\"key\\\":\\\"尺寸\\\",\\\"value\\\":\\\"70英寸\\\"},{\\\"key\\\":\\\"内存\\\",\\\"value\\\":\\\"32G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (201, 37, '202210280037001', 5999.00, 195, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', NULL, NULL, 1, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (202, 37, '202210280037002', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (203, 37, '202210280037003', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"午夜色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"512G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (204, 37, '202210280037004', 5999.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"星光色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (205, 37, '202210280037005', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"星光色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (206, 37, '202210280037006', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"星光色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"512G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (207, 37, '202210280037007', 5999.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"紫色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (208, 37, '202210280037008', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"紫色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (209, 37, '202210280037009', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"紫色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"512G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (210, 37, '202210280037010', 5999.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (211, 37, '202210280037011', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (212, 37, '202210280037012', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"512G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (213, 38, '202210280038001', 3599.00, 198, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (214, 38, '202210280038002', 4799.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (215, 38, '202210280038003', 3599.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"64G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (216, 38, '202210280038004', 4799.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (217, 39, '202210280039001', 5999.00, 499, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (218, 39, '202210280039002', 5599.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新小米Pro 14英寸 2.8K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R5 16G 512\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (219, 39, '202210280039003', 5499.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新Redmi Pro 15英寸 3.2K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R7 16G 512\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (220, 39, '202210280039004', 4999.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_002.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新Redmi Pro 15英寸 3.2K屏\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"R5 16G 512\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (221, 40, '202211040040001', 2999.00, 91, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (222, 40, '202211040040002', 3499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"黑色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (223, 40, '202211040040003', 2999.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (224, 40, '202211040040004', 3499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"蓝色\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (225, 41, '202211040041001', 2099.00, 195, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (226, 41, '202211040041002', 2299.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"墨羽\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (227, 41, '202211040041003', 2099.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银迹\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (228, 41, '202211040041004', 2299.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"银迹\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (229, 42, '202211040042001', 4999.00, 99, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"曜金黑\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (230, 42, '202211040042002', 5499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"曜金黑\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (231, 42, '202211040042003', 4999.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"冰霜银\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (232, 42, '202211040042004', 5499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"冰霜银\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (233, 43, '202211040043001', 1649.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_13L_01.png', NULL, NULL, 0, '[{\\\"key\\\":\\\"系列\\\",\\\"value\\\":\\\"JSQ25-565W13【13升】【恒温旗舰款】\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (234, 43, '202211040043002', 1799.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_13L_01.png', NULL, NULL, 0, '[{\\\"key\\\":\\\"系列\\\",\\\"value\\\":\\\"JSQ30-565W16【16升】【恒温旗舰款】\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (235, 44, '202211080044001', 369.00, 99, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新品980｜NVMe PCIe3.0*4\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"512GB\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (236, 44, '202211080044002', 649.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"新品980｜NVMe PCIe3.0*4\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"1TB\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (237, 44, '202211080044003', 549.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"980 PRO｜NVMe PCIe 4.0\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"512GB\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (238, 44, '202211080044004', 899.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"980 PRO｜NVMe PCIe 4.0\\\"},{\\\"key\\\":\\\"版本\\\",\\\"value\\\":\\\"1TB\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (239, 45, '202211080045001', 2299.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"鸢尾紫\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (240, 45, '202211080045002', 2499.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"鸢尾紫\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (241, 45, '202211080045003', 2299.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"晴空蓝\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"128G\\\"}]');\nINSERT INTO `pms_sku_stock` VALUES (242, 45, '202211080045004', 2499.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_02.jpg', NULL, NULL, 0, '[{\\\"key\\\":\\\"颜色\\\",\\\"value\\\":\\\"晴空蓝\\\"},{\\\"key\\\":\\\"容量\\\",\\\"value\\\":\\\"256G\\\"}]');\n\n-- ----------------------------\n-- Table structure for sms_coupon\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_coupon`;\nCREATE TABLE `sms_coupon`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `type` int(1) NULL DEFAULT NULL COMMENT '优惠券类型；0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券',\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `platform` int(1) NULL DEFAULT NULL COMMENT '使用平台：0->全部；1->移动；2->PC',\n  `count` int(11) NULL DEFAULT NULL COMMENT '数量',\n  `amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '金额',\n  `per_limit` int(11) NULL DEFAULT NULL COMMENT '每人限领张数',\n  `min_point` decimal(10, 2) NULL DEFAULT NULL COMMENT '使用门槛；0表示无门槛',\n  `start_time` datetime NULL DEFAULT NULL,\n  `end_time` datetime NULL DEFAULT NULL,\n  `use_type` int(1) NULL DEFAULT NULL COMMENT '使用类型：0->全场通用；1->指定分类；2->指定商品',\n  `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',\n  `publish_count` int(11) NULL DEFAULT NULL COMMENT '发行数量',\n  `use_count` int(11) NULL DEFAULT NULL COMMENT '已使用数量',\n  `receive_count` int(11) NULL DEFAULT NULL COMMENT '领取数量',\n  `enable_time` datetime NULL DEFAULT NULL COMMENT '可以领取的日期',\n  `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '优惠码',\n  `member_level` int(1) NULL DEFAULT NULL COMMENT '可领取的会员类型：0->无限时',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_coupon\n-- ----------------------------\nINSERT INTO `sms_coupon` VALUES (27, 0, '全品类通用券', 0, 94, 10.00, 10, 100.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 0, NULL, 100, 0, 6, '2022-11-08 00:00:00', NULL, NULL);\nINSERT INTO `sms_coupon` VALUES (28, 0, '手机分类专用券', 0, 995, 100.00, 5, 1000.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 1, NULL, 1000, 0, 5, '2022-11-08 00:00:00', NULL, NULL);\nINSERT INTO `sms_coupon` VALUES (29, 0, '苹果手机专用券', 0, 998, 600.00, 1, 4000.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 2, NULL, 1000, 0, 2, '2022-11-08 00:00:00', NULL, NULL);\nINSERT INTO `sms_coupon` VALUES (30, 0, '小米手机专用券', 0, 998, 200.00, 1, 2000.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 2, NULL, 1000, 0, 2, '2022-11-08 00:00:00', NULL, NULL);\nINSERT INTO `sms_coupon` VALUES (31, 0, '限时优惠券', 0, 999, 20.00, 5, 500.00, '2022-12-01 00:00:00', '2022-12-22 00:00:00', 0, NULL, 1000, 0, 1, '2022-12-23 00:00:00', NULL, NULL);\n\n-- ----------------------------\n-- Table structure for sms_coupon_history\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_coupon_history`;\nCREATE TABLE `sms_coupon_history`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `coupon_id` bigint(20) NULL DEFAULT NULL,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `coupon_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `member_nickname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '领取人昵称',\n  `get_type` int(1) NULL DEFAULT NULL COMMENT '获取类型：0->后台赠送；1->主动获取',\n  `create_time` datetime NULL DEFAULT NULL,\n  `use_status` int(1) NULL DEFAULT NULL COMMENT '使用状态：0->未使用；1->已使用；2->已过期',\n  `use_time` datetime NULL DEFAULT NULL COMMENT '使用时间',\n  `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单编号',\n  `order_sn` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号码',\n  PRIMARY KEY (`id`) USING BTREE,\n  INDEX `idx_member_id`(`member_id`) USING BTREE,\n  INDEX `idx_coupon_id`(`coupon_id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 53 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券使用、领取历史表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_coupon_history\n-- ----------------------------\nINSERT INTO `sms_coupon_history` VALUES (37, 30, 1, '7806895974110001', 'windir', 1, '2022-11-09 15:14:29', 1, '2022-11-09 15:14:58', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (38, 27, 1, '7872472849240001', 'windir', 1, '2022-11-09 15:25:25', 1, '2022-11-09 15:25:38', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (39, 29, 1, '7876204111480001', 'windir', 1, '2022-11-09 15:26:02', 1, '2022-11-09 15:26:11', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (40, 27, 1, '7911945030190001', 'windir', 1, '2022-11-09 15:31:59', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (41, 28, 1, '8194868687790001', 'windir', 1, '2022-11-09 16:19:09', 1, '2022-11-11 16:12:42', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (42, 28, 1, '1239565720390001', 'test', 1, '2022-12-21 16:46:36', 1, '2022-12-21 16:53:07', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (43, 31, 1, '6030247208280001', 'test', 1, '2022-12-23 09:51:42', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (44, 28, 1, '6050939443480001', 'test', 1, '2022-12-23 09:55:09', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (45, 27, 1, '4182437014580001', 'test', 1, '2023-01-10 17:10:24', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (46, 27, 11, '9011281751500011', 'member', 1, '2023-05-11 15:28:33', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (47, 28, 11, '9011495851370011', 'member', 1, '2023-05-11 15:28:35', 1, '2023-05-11 15:37:16', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (48, 30, 11, '9011677197430011', 'member', 1, '2023-05-11 15:28:37', 1, '2023-05-11 15:28:56', NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (49, 27, 11, '9046676666610011', 'member', 1, '2023-05-11 15:34:27', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (50, 28, 11, '9046909751910011', 'member', 1, '2023-05-11 15:34:29', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (51, 29, 11, '9047077722990011', 'member', 1, '2023-05-11 15:34:31', 0, NULL, NULL, NULL);\nINSERT INTO `sms_coupon_history` VALUES (52, 27, 11, '9075818288630011', 'member', 1, '2023-05-11 15:39:18', 0, NULL, NULL, NULL);\n\n-- ----------------------------\n-- Table structure for sms_coupon_product_category_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_coupon_product_category_relation`;\nCREATE TABLE `sms_coupon_product_category_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `coupon_id` bigint(20) NULL DEFAULT NULL,\n  `product_category_id` bigint(20) NULL DEFAULT NULL,\n  `product_category_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品分类名称',\n  `parent_category_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父分类名称',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券和产品分类关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_coupon_product_category_relation\n-- ----------------------------\nINSERT INTO `sms_coupon_product_category_relation` VALUES (11, 28, 19, '手机通讯', '手机数码');\n\n-- ----------------------------\n-- Table structure for sms_coupon_product_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_coupon_product_relation`;\nCREATE TABLE `sms_coupon_product_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `coupon_id` bigint(20) NULL DEFAULT NULL,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称',\n  `product_sn` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品编码',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券和产品的关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_coupon_product_relation\n-- ----------------------------\nINSERT INTO `sms_coupon_product_relation` VALUES (18, 29, 37, 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '100038005189');\nINSERT INTO `sms_coupon_product_relation` VALUES (19, 29, 29, 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', '7437799');\nINSERT INTO `sms_coupon_product_relation` VALUES (21, 30, 41, 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量 墨羽 12GB+256GB 5G智能手机 小米 红米', '100035246702');\nINSERT INTO `sms_coupon_product_relation` VALUES (22, 30, 40, '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '100027789721');\n\n-- ----------------------------\n-- Table structure for sms_flash_promotion\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_flash_promotion`;\nCREATE TABLE `sms_flash_promotion`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `title` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '秒杀时间段名称',\n  `start_date` date NULL DEFAULT NULL COMMENT '开始日期',\n  `end_date` date NULL DEFAULT NULL COMMENT '结束日期',\n  `status` int(1) NULL DEFAULT NULL COMMENT '上下线状态',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '限时购表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_flash_promotion\n-- ----------------------------\nINSERT INTO `sms_flash_promotion` VALUES (14, '双11特卖活动', '2022-11-09', '2023-12-31', 1, '2022-11-09 14:56:48');\n\n-- ----------------------------\n-- Table structure for sms_flash_promotion_log\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_flash_promotion_log`;\nCREATE TABLE `sms_flash_promotion_log`  (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `member_id` int(11) NULL DEFAULT NULL,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `member_phone` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `product_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `subscribe_time` datetime NULL DEFAULT NULL COMMENT '会员订阅时间',\n  `send_time` datetime NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '限时购通知记录' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_flash_promotion_log\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for sms_flash_promotion_product_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_flash_promotion_product_relation`;\nCREATE TABLE `sms_flash_promotion_product_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',\n  `flash_promotion_id` bigint(20) NULL DEFAULT NULL,\n  `flash_promotion_session_id` bigint(20) NULL DEFAULT NULL COMMENT '编号',\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `flash_promotion_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '限时购价格',\n  `flash_promotion_count` int(11) NULL DEFAULT NULL COMMENT '限时购数量',\n  `flash_promotion_limit` int(11) NULL DEFAULT NULL COMMENT '每人限购数量',\n  `sort` int(11) NULL DEFAULT NULL COMMENT '排序',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 52 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品限时购与商品关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_flash_promotion_product_relation\n-- ----------------------------\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (1, 2, 1, 26, 3000.00, 10, 1, 0);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (2, 2, 1, 27, 2000.00, 10, 1, 20);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (3, 2, 1, 28, 599.00, 19, 1, 0);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (4, 2, 1, 29, 4999.00, 10, 1, 100);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (9, 2, 2, 26, 2999.00, 100, 1, 0);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (10, 2, 2, 27, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (11, 2, 2, 28, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (12, 2, 2, 29, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (13, 2, 2, 30, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (14, 2, 3, 31, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (15, 2, 3, 32, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (16, 2, 4, 33, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (17, 2, 4, 34, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (18, 2, 5, 36, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (19, 2, 6, 33, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (20, 2, 6, 34, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (21, 14, 1, 26, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (22, 14, 1, 27, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (23, 14, 1, 28, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (24, 14, 1, 29, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (25, 14, 2, 30, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (26, 14, 2, 31, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (27, 14, 2, 32, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (28, 14, 2, 35, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (29, 14, 3, 33, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (30, 14, 3, 34, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (31, 14, 3, 36, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (32, 14, 3, 37, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (33, 14, 4, 37, 5699.00, 10, 1, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (34, 14, 4, 38, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (35, 14, 4, 39, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (36, 14, 4, 40, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (37, 14, 5, 41, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (38, 14, 5, 42, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (39, 14, 5, 43, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (40, 14, 5, 44, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (41, 14, 5, 45, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (42, 14, 6, 26, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (43, 14, 6, 27, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (44, 14, 6, 28, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (45, 14, 6, 29, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (46, 14, 6, 30, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (47, 14, 7, 31, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (48, 14, 7, 32, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (49, 14, 7, 33, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (50, 14, 7, 34, NULL, NULL, NULL, NULL);\nINSERT INTO `sms_flash_promotion_product_relation` VALUES (51, 14, 7, 35, NULL, NULL, NULL, NULL);\n\n-- ----------------------------\n-- Table structure for sms_flash_promotion_session\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_flash_promotion_session`;\nCREATE TABLE `sms_flash_promotion_session`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',\n  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '场次名称',\n  `start_time` time NULL DEFAULT NULL COMMENT '每日开始时间',\n  `end_time` time NULL DEFAULT NULL COMMENT '每日结束时间',\n  `status` int(1) NULL DEFAULT NULL COMMENT '启用状态：0->不启用；1->启用',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '限时购场次表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_flash_promotion_session\n-- ----------------------------\nINSERT INTO `sms_flash_promotion_session` VALUES (1, '8:00', '08:00:00', '10:00:00', 1, '2018-11-16 13:22:17');\nINSERT INTO `sms_flash_promotion_session` VALUES (2, '10:00', '10:00:00', '12:00:00', 1, '2018-11-16 13:22:34');\nINSERT INTO `sms_flash_promotion_session` VALUES (3, '12:00', '12:00:00', '14:00:00', 1, '2018-11-16 13:22:37');\nINSERT INTO `sms_flash_promotion_session` VALUES (4, '14:00', '14:00:00', '16:00:00', 1, '2018-11-16 13:22:41');\nINSERT INTO `sms_flash_promotion_session` VALUES (5, '16:00', '16:00:00', '18:00:00', 1, '2018-11-16 13:22:45');\nINSERT INTO `sms_flash_promotion_session` VALUES (6, '18:00', '18:00:00', '20:00:00', 1, '2018-11-16 13:21:34');\nINSERT INTO `sms_flash_promotion_session` VALUES (7, '20:00', '20:00:00', '22:00:00', 1, '2018-11-16 13:22:55');\n\n-- ----------------------------\n-- Table structure for sms_home_advertise\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_home_advertise`;\nCREATE TABLE `sms_home_advertise`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `type` int(1) NULL DEFAULT NULL COMMENT '轮播位置：0->PC首页轮播；1->app首页轮播',\n  `pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `start_time` datetime NULL DEFAULT NULL,\n  `end_time` datetime NULL DEFAULT NULL,\n  `status` int(1) NULL DEFAULT NULL COMMENT '上下线状态：0->下线；1->上线',\n  `click_count` int(11) NULL DEFAULT NULL COMMENT '点击数',\n  `order_count` int(11) NULL DEFAULT NULL COMMENT '下单数',\n  `url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '链接地址',\n  `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',\n  `sort` int(11) NULL DEFAULT 0 COMMENT '排序',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '首页轮播广告表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_home_advertise\n-- ----------------------------\nINSERT INTO `sms_home_advertise` VALUES (2, '夏季大热促销', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/ad1.jpg', '2018-11-01 14:01:37', '2018-11-15 14:01:37', 0, 0, 0, NULL, '夏季大热促销', 0);\nINSERT INTO `sms_home_advertise` VALUES (3, '夏季大热促销1', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/ad1.jpg', '2018-11-13 14:01:37', '2018-11-13 14:01:37', 0, 0, 0, NULL, '夏季大热促销1', 0);\nINSERT INTO `sms_home_advertise` VALUES (4, '夏季大热促销2', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/ad2.jpg', '2018-11-13 14:01:37', '2018-11-13 14:01:37', 0, 0, 0, NULL, '夏季大热促销2', 0);\nINSERT INTO `sms_home_advertise` VALUES (9, '电影推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20181113/movie_ad.jpg', '2018-11-01 00:00:00', '2018-11-24 00:00:00', 0, 0, 0, 'www.baidu.com', '电影推荐广告', 100);\nINSERT INTO `sms_home_advertise` VALUES (10, '汽车促销广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20181113/car_ad.jpg', '2018-11-13 00:00:00', '2018-11-24 00:00:00', 0, 0, 0, 'xxx', NULL, 99);\nINSERT INTO `sms_home_advertise` VALUES (11, '汽车推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20181113/car_ad2.jpg', '2018-11-13 00:00:00', '2018-11-30 00:00:00', 0, 0, 0, 'xxx', NULL, 98);\nINSERT INTO `sms_home_advertise` VALUES (12, '小米推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/xiaomi_banner_01.png', '2022-11-08 17:04:03', '2023-11-08 17:04:05', 1, 0, 0, '/pages/brand/brandDetail?id=6', NULL, 0);\nINSERT INTO `sms_home_advertise` VALUES (13, '华为推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/huawei_banner_01.png', '2022-11-08 17:10:27', '2023-11-08 17:10:28', 1, 0, 0, '/pages/brand/brandDetail?id=3', NULL, 0);\nINSERT INTO `sms_home_advertise` VALUES (14, '苹果推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/apple_banner_01.png', '2022-11-08 17:12:54', '2023-11-08 17:12:55', 1, 0, 0, '/pages/brand/brandDetail?id=51', NULL, 0);\nINSERT INTO `sms_home_advertise` VALUES (15, '三星推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_banner_01.png', '2022-11-08 17:15:38', '2023-11-08 17:15:39', 1, 0, 0, '/pages/brand/brandDetail?id=2', NULL, 0);\nINSERT INTO `sms_home_advertise` VALUES (16, 'OPPO推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_banner_01.png', '2022-11-08 17:20:10', '2023-11-08 17:20:11', 1, 0, 0, '/pages/brand/brandDetail?id=21', NULL, 0);\n\n-- ----------------------------\n-- Table structure for sms_home_brand\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_home_brand`;\nCREATE TABLE `sms_home_brand`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `brand_id` bigint(20) NULL DEFAULT NULL,\n  `brand_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `recommend_status` int(1) NULL DEFAULT NULL,\n  `sort` int(11) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 48 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '首页推荐品牌表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_home_brand\n-- ----------------------------\nINSERT INTO `sms_home_brand` VALUES (6, 6, '小米', 1, 300);\nINSERT INTO `sms_home_brand` VALUES (32, 50, '海澜之家', 1, 198);\nINSERT INTO `sms_home_brand` VALUES (33, 51, '苹果', 1, 199);\nINSERT INTO `sms_home_brand` VALUES (34, 2, '三星', 1, 195);\nINSERT INTO `sms_home_brand` VALUES (35, 3, '华为', 1, 200);\nINSERT INTO `sms_home_brand` VALUES (39, 21, 'OPPO', 1, 197);\nINSERT INTO `sms_home_brand` VALUES (45, 1, '万和', 1, 0);\nINSERT INTO `sms_home_brand` VALUES (46, 5, '方太', 1, 0);\nINSERT INTO `sms_home_brand` VALUES (47, 4, '格力', 1, 0);\n\n-- ----------------------------\n-- Table structure for sms_home_new_product\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_home_new_product`;\nCREATE TABLE `sms_home_new_product`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `recommend_status` int(1) NULL DEFAULT NULL,\n  `sort` int(1) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '新鲜好物表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_home_new_product\n-- ----------------------------\nINSERT INTO `sms_home_new_product` VALUES (19, 37, 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', 1, 197);\nINSERT INTO `sms_home_new_product` VALUES (20, 38, 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', 1, 0);\nINSERT INTO `sms_home_new_product` VALUES (21, 39, '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑(新R5-6600H标压 16G 512G win11)', 1, 198);\nINSERT INTO `sms_home_new_product` VALUES (22, 40, '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', 1, 200);\nINSERT INTO `sms_home_new_product` VALUES (23, 41, 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量 墨羽 12GB+256GB 5G智能手机 小米 红米', 1, 199);\nINSERT INTO `sms_home_new_product` VALUES (24, 42, 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息 低电量应急模式 128GB曜金黑华为鸿蒙手机', 1, 0);\nINSERT INTO `sms_home_new_product` VALUES (25, 44, '三星（SAMSUNG）500GB SSD固态硬盘 M.2接口(NVMe协议) 980（MZ-V8V500BW）', 1, 0);\nINSERT INTO `sms_home_new_product` VALUES (26, 45, 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', 1, 0);\nINSERT INTO `sms_home_new_product` VALUES (27, 43, '万和（Vanward)燃气热水器天然气家用四重防冻直流变频节能全新升级增压水伺服恒温高抗风 JSQ30-565W16【16升】【恒温旗舰款】', 1, 0);\n\n-- ----------------------------\n-- Table structure for sms_home_recommend_product\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_home_recommend_product`;\nCREATE TABLE `sms_home_recommend_product`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `product_id` bigint(20) NULL DEFAULT NULL,\n  `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `recommend_status` int(1) NULL DEFAULT NULL,\n  `sort` int(1) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '人气推荐商品表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_home_recommend_product\n-- ----------------------------\nINSERT INTO `sms_home_recommend_product` VALUES (10, 38, 'Apple iPad 10.9英寸平板电脑 2022年款（64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A ）', 1, 0);\nINSERT INTO `sms_home_recommend_product` VALUES (11, 39, '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑(新R5-6600H标压 16G 512G win11)', 1, 0);\nINSERT INTO `sms_home_recommend_product` VALUES (12, 44, '三星（SAMSUNG）500GB SSD固态硬盘 M.2接口(NVMe协议) 980（MZ-V8V500BW）', 1, 0);\nINSERT INTO `sms_home_recommend_product` VALUES (13, 43, '万和（Vanward)燃气热水器天然气家用四重防冻直流变频节能全新升级增压水伺服恒温高抗风 JSQ30-565W16【16升】【恒温旗舰款】', 1, 0);\nINSERT INTO `sms_home_recommend_product` VALUES (14, 45, 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', 1, 0);\n\n-- ----------------------------\n-- Table structure for sms_home_recommend_subject\n-- ----------------------------\nDROP TABLE IF EXISTS `sms_home_recommend_subject`;\nCREATE TABLE `sms_home_recommend_subject`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `subject_id` bigint(20) NULL DEFAULT NULL,\n  `subject_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `recommend_status` int(1) NULL DEFAULT NULL,\n  `sort` int(11) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '首页推荐专题表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of sms_home_recommend_subject\n-- ----------------------------\nINSERT INTO `sms_home_recommend_subject` VALUES (14, 1, 'polo衬衫的也时尚', 1, 0);\nINSERT INTO `sms_home_recommend_subject` VALUES (15, 2, '大牌手机低价秒', 1, 0);\nINSERT INTO `sms_home_recommend_subject` VALUES (16, 3, '晓龙845新品上市', 1, 0);\nINSERT INTO `sms_home_recommend_subject` VALUES (17, 4, '夏天应该穿什么', 1, 0);\nINSERT INTO `sms_home_recommend_subject` VALUES (18, 5, '夏季精选', 1, 100);\nINSERT INTO `sms_home_recommend_subject` VALUES (19, 6, '品牌手机降价', 1, 0);\n\n-- ----------------------------\n-- Table structure for ums_admin\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_admin`;\nCREATE TABLE `ums_admin`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',\n  `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',\n  `nick_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称',\n  `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注信息',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',\n  `status` int(1) NULL DEFAULT 1 COMMENT '帐号启用状态：0->禁用；1->启用',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_admin\n-- ----------------------------\nINSERT INTO `ums_admin` VALUES (1, 'test', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_02.png', 'test@qq.com', '测试账号', NULL, '2018-09-29 13:55:30', '2018-09-29 13:55:39', 1);\nINSERT INTO `ums_admin` VALUES (3, 'admin', '$2a$10$.E1FokumK5GIXWgKlg.Hc.i/0/2.qdAwYFL1zc5QHdyzpXOr38RZO', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_01.png', 'admin@163.com', '系统管理员', '系统管理员', '2018-10-08 13:32:47', '2019-04-20 12:45:16', 1);\nINSERT INTO `ums_admin` VALUES (4, 'macro', '$2a$10$Bx4jZPR7GhEpIQfefDQtVeS58GfT5n6mxs/b4nLLK65eMFa16topa', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_01.png', 'macro@qq.com', 'macro', 'macro专用', '2019-10-06 15:53:51', '2020-02-03 14:55:55', 1);\nINSERT INTO `ums_admin` VALUES (6, 'productAdmin', '$2a$10$6/.J.p.6Bhn7ic4GfoB5D.pGd7xSiD1a9M6ht6yO0fxzlKJPjRAGm', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_03.png', 'product@qq.com', '商品管理员', '只有商品权限', '2020-02-07 16:15:08', NULL, 1);\nINSERT INTO `ums_admin` VALUES (7, 'orderAdmin', '$2a$10$UqEhA9UZXjHHA3B.L9wNG.6aerrBjC6WHTtbv1FdvYPUI.7lkL6E.', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_04.png', 'order@qq.com', '订单管理员', '只有订单管理权限', '2020-02-07 16:15:50', NULL, 1);\nINSERT INTO `ums_admin` VALUES (8, 'test123', '$2a$10$M1qJguEzwoAN0la7PB8UO.HOGe1xZGku7xw1iTaUUpY0ZVRCxrxoO', 'string', 'abc@qq.com', 'string', 'string', '2022-08-07 14:45:42', NULL, 1);\nINSERT INTO `ums_admin` VALUES (9, 'test256', '$2a$10$kTMBrt8mkXcO8T4eHThFWOf3KuNK6tqevkiAf4YbtXtaCJ6ocYkJa', 'string', 'abc@qq.com', 'string', 'string', '2022-08-07 14:52:57', NULL, 1);\nINSERT INTO `ums_admin` VALUES (10, 'test1267', '$2a$10$VUywDhXVPY13YZxMD/uPWeDqkzSozN7o8u/3MX6sBig2NK2VaTJZ2', NULL, 'test1267@qq.com', 'test1267', 'test1267', '2023-01-04 16:13:34', NULL, 1);\n\n-- ----------------------------\n-- Table structure for ums_admin_login_log\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_admin_login_log`;\nCREATE TABLE `ums_admin_login_log`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `admin_id` bigint(20) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `ip` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `user_agent` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浏览器登录类型',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 413 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户登录日志表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_admin_login_log\n-- ----------------------------\nINSERT INTO `ums_admin_login_log` VALUES (1, 3, '2018-12-23 14:27:00', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (2, 3, '2019-04-07 16:04:39', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (3, 3, '2019-04-08 21:47:52', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (4, 3, '2019-04-08 21:48:18', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (5, 3, '2019-04-18 22:18:40', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (6, 3, '2019-04-20 12:45:16', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (7, 3, '2019-05-19 14:52:12', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (8, 3, '2019-05-25 15:00:17', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (9, 3, '2019-06-19 20:11:42', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (10, 3, '2019-06-30 10:33:48', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (11, 3, '2019-06-30 10:34:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (12, 3, '2019-06-30 10:35:34', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (13, 3, '2019-07-27 17:11:01', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (14, 3, '2019-07-27 17:13:18', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (15, 3, '2019-07-27 17:15:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (16, 3, '2019-07-27 17:17:11', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (17, 3, '2019-07-27 17:18:34', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (18, 3, '2019-07-27 21:21:52', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (19, 3, '2019-07-27 21:34:29', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (20, 3, '2019-07-27 21:35:17', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (21, 3, '2019-07-27 21:35:48', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (22, 3, '2019-07-27 21:40:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (23, 3, '2019-08-18 16:00:38', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (24, 3, '2019-08-18 16:01:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (25, 3, '2019-08-18 16:47:01', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (26, 3, '2019-10-06 15:54:23', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (27, 3, '2019-10-06 16:03:28', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (28, 3, '2019-10-06 16:04:51', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (29, 3, '2019-10-06 16:06:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (30, 3, '2019-10-06 16:14:51', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (31, 1, '2019-10-06 16:15:09', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (32, 1, '2019-10-06 16:16:14', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (33, 3, '2019-10-06 16:16:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (34, 3, '2019-10-06 16:16:42', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (35, 3, '2019-10-07 15:20:48', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (36, 3, '2019-10-07 15:40:07', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (37, 3, '2019-10-07 16:34:15', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (38, 3, '2019-10-09 21:19:08', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (39, 4, '2019-10-09 21:30:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (40, 4, '2019-10-09 21:31:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (41, 4, '2019-10-09 21:32:39', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (42, 4, '2019-10-09 21:33:27', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (43, 4, '2019-10-09 21:33:50', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (44, 3, '2019-10-20 16:02:53', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (45, 3, '2019-10-23 21:20:55', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (46, 3, '2019-10-27 21:41:45', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (47, 3, '2019-11-09 16:44:57', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (48, 3, '2019-11-09 16:46:56', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (49, 3, '2019-11-09 16:49:55', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (50, 3, '2019-11-23 14:17:16', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (51, 6, '2019-11-23 14:52:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (52, 3, '2019-11-23 15:07:24', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (53, 3, '2019-11-30 21:25:30', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (54, 3, '2019-11-30 21:27:54', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (55, 3, '2019-12-28 15:23:01', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (56, 3, '2020-01-01 15:21:46', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (57, 3, '2020-01-04 16:00:54', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (58, 3, '2020-02-01 15:05:19', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (59, 3, '2020-02-01 15:36:05', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (60, 3, '2020-02-01 15:36:36', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (61, 3, '2020-02-01 15:37:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (62, 3, '2020-02-01 15:37:46', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (63, 3, '2020-02-01 15:38:20', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (64, 3, '2020-02-01 15:38:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (65, 3, '2020-02-01 15:39:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (66, 3, '2020-02-01 15:41:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (67, 3, '2020-02-01 15:43:17', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (68, 3, '2020-02-01 15:44:34', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (69, 3, '2020-02-01 15:45:10', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (70, 3, '2020-02-01 15:46:04', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (71, 3, '2020-02-01 15:48:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (72, 3, '2020-02-01 16:00:07', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (73, 3, '2020-02-01 16:07:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (74, 3, '2020-02-01 16:08:22', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (75, 3, '2020-02-02 15:28:13', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (76, 3, '2020-02-02 15:44:37', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (77, 3, '2020-02-02 15:45:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (78, 3, '2020-02-02 15:52:32', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (79, 3, '2020-02-02 15:53:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (80, 3, '2020-02-02 15:54:36', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (81, 3, '2020-02-02 16:01:00', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (82, 3, '2020-02-02 16:05:19', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (83, 3, '2020-02-02 16:06:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (84, 3, '2020-02-02 16:17:26', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (85, 3, '2020-02-02 16:18:45', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (86, 3, '2020-02-02 16:19:05', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (87, 3, '2020-02-02 16:19:23', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (88, 3, '2020-02-02 16:22:27', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (89, 3, '2020-02-02 16:23:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (90, 3, '2020-02-02 16:23:48', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (91, 3, '2020-02-02 16:24:38', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (92, 3, '2020-02-02 16:25:22', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (93, 3, '2020-02-02 16:26:19', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (94, 3, '2020-02-02 16:26:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (95, 3, '2020-02-02 16:27:08', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (96, 3, '2020-02-02 16:31:02', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (97, 3, '2020-02-02 16:31:08', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (98, 3, '2020-02-02 16:31:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (99, 3, '2020-02-02 16:31:50', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (100, 3, '2020-02-02 16:33:22', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (101, 3, '2020-02-02 16:33:41', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (102, 3, '2020-02-02 16:34:58', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (103, 3, '2020-02-02 16:38:42', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (104, 3, '2020-02-02 16:39:41', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (105, 3, '2020-02-02 16:42:22', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (106, 3, '2020-02-02 16:46:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (107, 3, '2020-02-02 16:50:23', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (108, 3, '2020-02-02 16:51:11', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (109, 3, '2020-02-02 16:51:22', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (110, 3, '2020-02-02 16:52:00', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (111, 3, '2020-02-02 17:01:05', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (112, 3, '2020-02-03 10:43:22', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (113, 3, '2020-02-03 10:45:29', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (114, 3, '2020-02-03 10:46:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (115, 3, '2020-02-03 10:54:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (116, 3, '2020-02-03 14:24:47', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (117, 3, '2020-02-03 14:25:38', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (118, 5, '2020-02-03 15:22:28', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (119, 5, '2020-02-03 15:23:00', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (120, 5, '2020-02-03 15:24:29', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (121, 3, '2020-02-03 15:24:50', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (122, 5, '2020-02-03 15:27:18', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (123, 3, '2020-02-03 15:27:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (124, 3, '2020-02-03 15:29:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (125, 5, '2020-02-03 15:33:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (126, 3, '2020-02-03 15:33:51', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (127, 1, '2020-02-03 15:34:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (128, 3, '2020-02-03 15:34:47', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (129, 3, '2020-02-04 14:14:46', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (130, 3, '2020-02-05 10:33:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (131, 3, '2020-02-05 10:36:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (132, 3, '2020-02-05 16:34:37', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (133, 4, '2020-02-05 16:58:37', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (134, 3, '2020-02-05 16:59:03', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (135, 3, '2020-02-06 10:25:02', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (136, 3, '2020-02-07 14:34:34', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (137, 3, '2020-02-07 14:36:20', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (138, 1, '2020-02-07 14:43:34', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (139, 3, '2020-02-07 15:18:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (140, 3, '2020-02-07 15:20:07', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (141, 3, '2020-02-07 15:22:20', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (142, 3, '2020-02-07 15:22:28', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (143, 3, '2020-02-07 15:55:11', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (144, 3, '2020-02-07 15:56:04', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (145, 3, '2020-02-07 15:58:49', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (146, 6, '2020-02-07 16:16:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (147, 7, '2020-02-07 16:16:37', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (148, 3, '2020-02-07 16:18:39', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (149, 7, '2020-02-07 16:20:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (150, 3, '2020-02-07 16:20:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (151, 3, '2020-02-07 16:32:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (152, 3, '2020-02-07 19:32:34', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (153, 3, '2020-02-07 19:32:48', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (154, 3, '2020-02-07 19:33:01', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (155, 3, '2020-02-07 19:33:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (156, 3, '2020-02-07 19:33:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (157, 3, '2020-02-07 19:35:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (158, 3, '2020-02-07 19:37:10', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (159, 3, '2020-02-07 19:37:14', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (160, 3, '2020-02-07 19:37:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (161, 3, '2020-02-07 19:45:41', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (162, 3, '2020-02-07 19:47:45', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (163, 3, '2020-02-07 20:02:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (164, 6, '2020-02-07 20:10:55', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (165, 6, '2020-02-07 20:11:02', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (166, 6, '2020-02-07 20:13:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (167, 6, '2020-02-07 20:17:14', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (168, 3, '2020-02-07 20:17:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (169, 6, '2020-02-07 20:18:13', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (170, 3, '2020-02-10 10:28:14', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (171, 3, '2020-02-10 10:45:15', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (172, 3, '2020-02-10 10:57:46', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (173, 3, '2020-02-10 10:59:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (174, 3, '2020-02-10 11:04:19', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (175, 3, '2020-02-10 11:05:55', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (176, 3, '2020-02-10 11:06:45', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (177, 3, '2020-02-10 11:07:41', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (178, 3, '2020-02-10 11:08:13', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (179, 3, '2020-02-10 11:10:02', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (180, 6, '2020-02-10 14:25:17', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (181, 6, '2020-02-10 14:29:14', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (182, 3, '2020-02-10 16:09:16', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (183, 3, '2020-02-20 14:39:19', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (184, 8, '2020-02-20 17:14:58', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (185, 8, '2020-02-20 17:17:04', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (186, 8, '2020-02-20 17:17:42', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (187, 8, '2020-02-21 10:26:56', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (188, 8, '2020-02-21 10:28:54', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (189, 8, '2020-02-21 10:32:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (190, 8, '2020-02-21 10:33:41', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (191, 8, '2020-02-21 10:35:58', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (192, 8, '2020-02-21 10:36:49', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (193, 3, '2020-02-21 11:10:11', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (194, 3, '2020-02-25 16:11:13', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (195, 3, '2020-02-25 16:46:29', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (196, 3, '2020-03-07 16:33:59', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (197, 6, '2020-03-07 16:35:38', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (198, 3, '2020-03-07 17:00:09', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (199, 3, '2020-03-14 14:32:08', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (200, 8, '2020-03-14 14:32:59', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (201, 3, '2020-03-14 14:33:26', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (202, 8, '2020-03-14 14:34:57', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (203, 3, '2020-03-14 14:35:23', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (204, 8, '2020-03-14 14:36:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (205, 3, '2020-03-14 14:36:51', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (206, 8, '2020-03-14 14:37:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (207, 3, '2020-03-14 14:37:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (208, 8, '2020-03-14 14:38:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (209, 3, '2020-03-14 14:38:50', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (210, 8, '2020-03-14 14:39:26', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (211, 3, '2020-03-14 14:39:41', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (212, 3, '2020-03-15 14:23:54', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (213, 3, '2020-03-22 14:33:17', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (214, 3, '2020-03-22 14:59:51', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (215, 3, '2020-03-22 15:04:32', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (216, 3, '2020-03-29 16:14:37', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (217, 3, '2020-03-29 17:17:00', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (218, 3, '2020-04-06 16:54:49', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (219, 3, '2020-04-12 15:01:40', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (220, 3, '2020-04-19 09:50:59', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (221, 3, '2020-05-04 10:45:45', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (222, 3, '2020-05-05 11:02:44', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (223, 3, '2020-05-16 15:17:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (224, 3, '2020-05-17 14:58:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (225, 3, '2020-05-18 15:47:46', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (226, 3, '2020-05-23 16:51:15', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (227, 3, '2020-05-23 16:54:53', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (228, 3, '2020-05-23 17:00:33', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (229, 3, '2020-05-24 10:38:00', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (230, 3, '2020-06-07 09:39:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (231, 3, '2020-06-14 14:23:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (232, 3, '2020-06-14 17:11:59', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (233, 3, '2020-06-20 14:53:51', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (234, 3, '2020-06-21 14:57:36', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (235, 3, '2020-06-27 10:41:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (236, 3, '2020-07-05 15:54:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (237, 3, '2020-07-11 10:40:28', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (238, 3, '2020-07-11 10:45:01', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (239, 3, '2020-07-19 11:00:16', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (240, 3, '2020-07-19 11:46:27', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (241, 3, '2020-07-19 11:53:47', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (242, 3, '2020-07-19 14:17:37', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (243, 3, '2020-07-19 14:44:24', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (244, 3, '2020-07-19 14:44:58', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (245, 3, '2020-07-19 14:48:27', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (246, 3, '2020-07-19 14:48:57', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (247, 3, '2020-07-19 14:49:30', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (248, 3, '2020-07-19 14:50:18', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (249, 3, '2020-07-19 14:51:51', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (250, 3, '2020-07-19 14:55:27', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (251, 3, '2020-07-19 14:58:14', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (252, 6, '2020-07-19 15:04:21', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (253, 3, '2020-07-19 15:38:49', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (254, 6, '2020-07-19 16:26:24', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (255, 3, '2020-08-08 10:39:12', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (256, 3, '2020-08-09 11:06:31', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (257, 3, '2020-08-10 20:41:30', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (258, 3, '2020-08-15 10:12:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (259, 1, '2020-08-19 21:23:59', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (260, 1, '2020-08-19 21:25:06', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (261, 3, '2020-09-05 16:14:50', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (262, 3, '2020-09-05 16:15:37', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (263, 3, '2020-09-12 16:07:35', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (264, 6, '2020-09-12 16:08:14', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (265, 1, '2020-09-12 16:08:26', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (266, 6, '2020-09-12 16:09:08', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (267, 1, '2020-09-12 16:09:17', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (268, 3, '2020-09-13 14:22:25', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (269, 3, '2020-09-13 14:23:07', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (270, 3, '2020-09-13 14:24:21', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (271, 3, '2020-09-13 14:32:32', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (272, 1, '2020-09-19 15:43:31', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (273, 3, '2020-09-19 15:43:58', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (274, 3, '2020-09-19 15:49:44', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (275, 6, '2020-09-19 15:50:12', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (276, 6, '2020-09-19 15:50:18', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (277, 1, '2020-09-19 15:50:41', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (278, 6, '2020-09-19 15:52:28', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (279, 1, '2020-09-19 15:53:01', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (280, 1, '2020-09-19 15:53:48', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (281, 6, '2020-09-19 15:54:37', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (282, 3, '2020-09-20 11:13:50', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (283, 1, '2020-10-08 14:26:58', '0:0:0:0:0:0:0:1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (284, 1, '2020-10-08 14:30:49', '192.168.3.185', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (285, 3, '2021-04-11 10:27:43', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (286, 1, '2021-04-11 10:29:19', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (287, 3, '2021-04-11 10:30:40', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (288, 3, '2021-04-11 10:37:50', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (289, 3, '2021-12-08 10:44:09', '192.168.3.4', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (290, 3, '2022-04-15 15:04:51', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (291, 1, '2022-05-10 15:25:58', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (292, 1, '2022-05-10 15:31:08', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (293, 1, '2022-05-10 15:32:18', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (294, 1, '2022-05-10 15:34:17', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (295, 1, '2022-05-10 15:34:38', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (296, 1, '2022-05-10 15:54:50', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (297, 1, '2022-05-10 16:31:20', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (298, 1, '2022-05-10 16:33:45', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (299, 1, '2022-05-10 16:39:07', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (300, 1, '2022-05-18 14:53:41', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (301, 3, '2022-06-07 17:28:29', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (302, 3, '2022-06-08 09:48:32', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (303, 3, '2022-06-08 10:34:20', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (304, 3, '2022-06-08 17:09:29', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (305, 3, '2022-06-08 17:10:11', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (306, 6, '2022-06-08 17:10:55', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (307, 3, '2022-06-08 17:23:05', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (308, 3, '2022-06-08 17:30:51', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (309, 3, '2022-06-08 17:31:42', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (310, 3, '2022-06-08 17:31:48', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (311, 3, '2022-06-08 21:03:56', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (312, 3, '2022-06-09 10:41:31', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (313, 3, '2022-06-09 15:18:46', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (314, 3, '2022-06-10 15:43:15', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (315, 3, '2022-06-10 15:52:27', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (316, 3, '2022-06-15 14:41:59', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (317, 3, '2022-06-23 16:24:09', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (318, 3, '2022-06-23 16:41:33', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (319, 3, '2022-06-23 16:42:50', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (320, 3, '2022-06-23 16:42:51', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (321, 3, '2022-06-23 16:42:52', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (322, 3, '2022-06-23 16:42:53', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (323, 3, '2022-06-23 16:43:07', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (324, 3, '2022-06-23 16:44:56', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (325, 3, '2022-06-23 16:45:42', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (326, 3, '2022-06-23 16:50:08', '192.168.3.6', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (327, 3, '2022-06-24 15:19:04', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (328, 3, '2022-06-24 15:25:52', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (329, 3, '2022-06-24 15:40:29', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (330, 3, '2022-06-25 15:13:52', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (331, 3, '2022-06-25 15:25:12', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (332, 3, '2022-06-27 16:38:37', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (333, 3, '2022-07-24 10:10:06', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (334, 1, '2022-07-25 17:15:55', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (335, 3, '2022-07-27 09:41:32', '192.168.3.227', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (336, 1, '2022-07-28 16:56:10', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (337, 1, '2022-07-28 16:56:25', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (338, 8, '2022-08-07 14:46:00', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (339, 9, '2022-08-07 14:53:32', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (340, 9, '2022-08-07 14:53:46', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (341, 9, '2022-08-07 14:56:19', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (342, 1, '2022-08-09 10:53:55', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (343, 1, '2022-08-09 10:54:36', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (344, 1, '2022-08-09 11:00:06', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (345, 1, '2022-08-09 11:02:04', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (346, 1, '2022-08-09 15:48:14', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (347, 1, '2022-08-16 16:35:24', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (348, 1, '2022-08-17 15:03:52', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (349, 1, '2022-08-20 16:49:19', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (350, 1, '2022-08-23 14:54:06', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (351, 1, '2022-08-31 17:16:35', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (352, 3, '2022-10-14 15:31:42', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (353, 3, '2022-10-14 15:42:39', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (354, 3, '2022-10-14 15:44:08', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (355, 3, '2022-10-14 15:46:23', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (356, 3, '2022-10-14 15:46:35', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (357, 3, '2022-10-14 16:06:11', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (358, 3, '2022-10-14 16:24:08', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (359, 3, '2022-10-17 16:44:52', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (360, 3, '2022-10-17 16:49:42', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (361, 3, '2022-10-17 16:49:53', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (362, 3, '2022-10-17 17:03:10', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (363, 3, '2022-10-17 17:03:22', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (364, 3, '2022-10-17 21:00:48', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (365, 3, '2022-10-24 16:32:31', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (366, 3, '2022-10-26 16:31:17', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (367, 3, '2022-10-26 16:50:48', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (368, 3, '2022-10-26 16:52:28', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (369, 3, '2022-10-27 17:21:28', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (370, 3, '2022-10-28 10:52:22', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (371, 3, '2022-11-04 16:09:08', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (372, 3, '2022-11-08 10:27:27', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (373, 3, '2022-11-09 10:42:30', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (374, 3, '2022-11-10 15:03:08', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (375, 3, '2022-11-11 10:11:11', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (376, 3, '2022-11-14 16:33:30', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (377, 3, '2022-11-15 10:54:02', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (378, 3, '2022-11-15 15:16:35', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (379, 3, '2022-11-15 15:17:41', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (380, 3, '2022-11-15 15:17:47', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (381, 1, '2022-11-15 15:19:56', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (382, 3, '2022-11-15 15:20:12', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (383, 3, '2022-11-15 15:22:22', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (384, 3, '2022-11-16 10:39:08', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (385, 1, '2022-11-24 20:02:12', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (386, 3, '2022-11-28 15:24:02', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (387, 3, '2022-11-30 09:34:28', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (388, 3, '2022-12-05 09:43:58', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (389, 3, '2022-12-09 17:18:09', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (390, 3, '2022-12-15 14:53:39', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (391, 3, '2022-12-15 16:11:54', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (392, 3, '2022-12-20 15:55:18', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (393, 3, '2022-12-21 14:49:30', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (394, 3, '2022-12-23 09:49:50', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (395, 3, '2023-01-04 10:17:44', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (396, 3, '2023-01-04 15:28:47', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (397, 3, '2023-01-05 10:13:43', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (398, 3, '2023-01-06 09:49:23', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (399, 3, '2023-01-06 10:04:19', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (400, 3, '2023-01-06 10:07:06', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (401, 3, '2023-01-06 16:21:31', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (402, 3, '2023-01-09 16:50:30', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (403, 3, '2023-01-10 10:05:52', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (404, 3, '2023-01-10 17:09:44', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (405, 3, '2023-01-11 10:17:17', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (406, 3, '2023-01-13 09:35:37', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (407, 3, '2023-01-13 09:40:51', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (408, 3, '2023-01-31 10:46:52', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (409, 3, '2023-02-08 17:11:11', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (410, 3, '2023-02-09 15:46:41', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (411, 3, '2023-02-10 17:23:52', '192.168.56.1', NULL, NULL);\nINSERT INTO `ums_admin_login_log` VALUES (412, 3, '2023-05-11 15:29:54', '192.168.56.1', NULL, NULL);\n\n-- ----------------------------\n-- Table structure for ums_admin_permission_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_admin_permission_relation`;\nCREATE TABLE `ums_admin_permission_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `admin_id` bigint(20) NULL DEFAULT NULL,\n  `permission_id` bigint(20) NULL DEFAULT NULL,\n  `type` int(1) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户和权限关系表(除角色中定义的权限以外的加减权限)' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_admin_permission_relation\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_admin_role_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_admin_role_relation`;\nCREATE TABLE `ums_admin_role_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `admin_id` bigint(20) NULL DEFAULT NULL,\n  `role_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户和角色关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_admin_role_relation\n-- ----------------------------\nINSERT INTO `ums_admin_role_relation` VALUES (26, 3, 5);\nINSERT INTO `ums_admin_role_relation` VALUES (27, 6, 1);\nINSERT INTO `ums_admin_role_relation` VALUES (28, 7, 2);\nINSERT INTO `ums_admin_role_relation` VALUES (29, 1, 5);\nINSERT INTO `ums_admin_role_relation` VALUES (30, 4, 5);\nINSERT INTO `ums_admin_role_relation` VALUES (31, 8, 1);\n\n-- ----------------------------\n-- Table structure for ums_growth_change_history\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_growth_change_history`;\nCREATE TABLE `ums_growth_change_history`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `change_type` int(1) NULL DEFAULT NULL COMMENT '改变类型：0->增加；1->减少',\n  `change_count` int(11) NULL DEFAULT NULL COMMENT '积分改变数量',\n  `operate_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人员',\n  `operate_note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作备注',\n  `source_type` int(1) NULL DEFAULT NULL COMMENT '积分来源：0->购物；1->管理员修改',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '成长值变化历史记录表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_growth_change_history\n-- ----------------------------\nINSERT INTO `ums_growth_change_history` VALUES (1, 1, '2018-08-29 17:16:35', 0, 1000, 'test', '测试使用', 1);\n\n-- ----------------------------\n-- Table structure for ums_integration_change_history\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_integration_change_history`;\nCREATE TABLE `ums_integration_change_history`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `change_type` int(1) NULL DEFAULT NULL COMMENT '改变类型：0->增加；1->减少',\n  `change_count` int(11) NULL DEFAULT NULL COMMENT '积分改变数量',\n  `operate_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人员',\n  `operate_note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作备注',\n  `source_type` int(1) NULL DEFAULT NULL COMMENT '积分来源：0->购物；1->管理员修改',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '积分变化历史记录表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_integration_change_history\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_integration_consume_setting\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_integration_consume_setting`;\nCREATE TABLE `ums_integration_consume_setting`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `deduction_per_amount` int(11) NULL DEFAULT NULL COMMENT '每一元需要抵扣的积分数量',\n  `max_percent_per_order` int(11) NULL DEFAULT NULL COMMENT '每笔订单最高抵用百分比',\n  `use_unit` int(11) NULL DEFAULT NULL COMMENT '每次使用积分最小单位100',\n  `coupon_status` int(1) NULL DEFAULT NULL COMMENT '是否可以和优惠券同用；0->不可以；1->可以',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '积分消费设置' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_integration_consume_setting\n-- ----------------------------\nINSERT INTO `ums_integration_consume_setting` VALUES (1, 100, 50, 100, 1);\n\n-- ----------------------------\n-- Table structure for ums_member\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member`;\nCREATE TABLE `ums_member`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_level_id` bigint(20) NULL DEFAULT NULL,\n  `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',\n  `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',\n  `nickname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称',\n  `phone` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号码',\n  `status` int(1) NULL DEFAULT NULL COMMENT '帐号启用状态:0->禁用；1->启用',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '注册时间',\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',\n  `gender` int(1) NULL DEFAULT NULL COMMENT '性别：0->未知；1->男；2->女',\n  `birthday` date NULL DEFAULT NULL COMMENT '生日',\n  `city` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所做城市',\n  `job` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职业',\n  `personalized_signature` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '个性签名',\n  `source_type` int(1) NULL DEFAULT NULL COMMENT '用户来源',\n  `integration` int(11) NULL DEFAULT NULL COMMENT '积分',\n  `growth` int(11) NULL DEFAULT NULL COMMENT '成长值',\n  `luckey_count` int(11) NULL DEFAULT NULL COMMENT '剩余抽奖次数',\n  `history_integration` int(11) NULL DEFAULT NULL COMMENT '历史积分数量',\n  PRIMARY KEY (`id`) USING BTREE,\n  UNIQUE INDEX `idx_username`(`username`) USING BTREE,\n  UNIQUE INDEX `idx_phone`(`phone`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member\n-- ----------------------------\nINSERT INTO `ums_member` VALUES (1, 4, 'test', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'test', '18061581849', 1, '2018-08-02 10:35:44', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_03.png', 1, '2009-06-01', '上海', '学生', 'test', NULL, 3900, 1000, NULL, NULL);\nINSERT INTO `ums_member` VALUES (3, 4, 'windy', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'windy', '18061581848', 1, '2018-08-03 16:46:38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (4, 4, 'zhengsan', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'zhengsan', '18061581847', 1, '2018-11-12 14:12:04', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (5, 4, 'lisi', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'lisi', '18061581841', 1, '2018-11-12 14:12:38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (6, 4, 'wangwu', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'wangwu', '18061581842', 1, '2018-11-12 14:13:09', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (7, 4, 'lion', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'lion', '18061581845', 1, '2018-11-12 14:21:39', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (8, 4, 'shari', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'shari', '18061581844', 1, '2018-11-12 14:22:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (9, 4, 'aewen', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'aewen', '18061581843', 1, '2018-11-12 14:22:55', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (10, 4, 'guest', '$2a$10$WQiD4RzEs1iJVWU.2HVu8OdSlExJHWKmwndaw3SUfMyqfKZmXe1vq', NULL, '18911111111', 1, '2020-03-14 14:52:18', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);\nINSERT INTO `ums_member` VALUES (11, 4, 'member', '$2a$10$Q08uzqvtPj61NnpYQZsVvOnyilJ3AU4VdngAcJFGvPhEeqhhC.hhS', 'member', '18961511111', 1, '2023-05-11 15:22:38', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_02.png', 1, '2009-06-01', '上海', '学生', 'member', NULL, 5000, 1000, NULL, NULL);\n\n-- ----------------------------\n-- Table structure for ums_member_level\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_level`;\nCREATE TABLE `ums_member_level`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `growth_point` int(11) NULL DEFAULT NULL,\n  `default_status` int(1) NULL DEFAULT NULL COMMENT '是否为默认等级：0->不是；1->是',\n  `free_freight_point` decimal(10, 2) NULL DEFAULT NULL COMMENT '免运费标准',\n  `comment_growth_point` int(11) NULL DEFAULT NULL COMMENT '每次评价获取的成长值',\n  `priviledge_free_freight` int(1) NULL DEFAULT NULL COMMENT '是否有免邮特权',\n  `priviledge_sign_in` int(1) NULL DEFAULT NULL COMMENT '是否有签到特权',\n  `priviledge_comment` int(1) NULL DEFAULT NULL COMMENT '是否有评论获奖励特权',\n  `priviledge_promotion` int(1) NULL DEFAULT NULL COMMENT '是否有专享活动特权',\n  `priviledge_member_price` int(1) NULL DEFAULT NULL COMMENT '是否有会员价格特权',\n  `priviledge_birthday` int(1) NULL DEFAULT NULL COMMENT '是否有生日特权',\n  `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员等级表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_level\n-- ----------------------------\nINSERT INTO `ums_member_level` VALUES (1, '黄金会员', 1000, 0, 199.00, 5, 1, 1, 1, 1, 1, 1, NULL);\nINSERT INTO `ums_member_level` VALUES (2, '白金会员', 5000, 0, 99.00, 10, 1, 1, 1, 1, 1, 1, NULL);\nINSERT INTO `ums_member_level` VALUES (3, '钻石会员', 15000, 0, 69.00, 15, 1, 1, 1, 1, 1, 1, NULL);\nINSERT INTO `ums_member_level` VALUES (4, '普通会员', 1, 1, 199.00, 20, 1, 1, 1, 1, 0, 0, NULL);\n\n-- ----------------------------\n-- Table structure for ums_member_login_log\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_login_log`;\nCREATE TABLE `ums_member_login_log`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `create_time` datetime NULL DEFAULT NULL,\n  `ip` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `city` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `login_type` int(1) NULL DEFAULT NULL COMMENT '登录类型：0->PC；1->android;2->ios;3->小程序',\n  `province` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员登录记录' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_login_log\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_member_member_tag_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_member_tag_relation`;\nCREATE TABLE `ums_member_member_tag_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `tag_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和标签关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_member_tag_relation\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_member_product_category_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_product_category_relation`;\nCREATE TABLE `ums_member_product_category_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `product_category_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员与产品分类关系表（用户喜欢的分类）' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_product_category_relation\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_member_receive_address\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_receive_address`;\nCREATE TABLE `ums_member_receive_address`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人名称',\n  `phone_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `default_status` int(1) NULL DEFAULT NULL COMMENT '是否为默认',\n  `post_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮政编码',\n  `province` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省份/直辖市',\n  `city` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '城市',\n  `region` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区',\n  `detail_address` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址(街道)',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员收货地址表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_receive_address\n-- ----------------------------\nINSERT INTO `ums_member_receive_address` VALUES (1, 1, '大梨', '18033441849', 0, '518000', '广东省', '深圳市', '南山区', '科兴科学园');\nINSERT INTO `ums_member_receive_address` VALUES (3, 1, '大梨', '18033441849', 0, '518000', '广东省', '深圳市', '福田区', '清水河街道');\nINSERT INTO `ums_member_receive_address` VALUES (4, 1, '大梨', '18033441849', 1, '518000', '广东省', '深圳市', '福田区', '东晓街道');\nINSERT INTO `ums_member_receive_address` VALUES (5, 11, '小李', '18961511111', 1, '518000', '广东省', '深圳市', '福田区', '东晓街道');\nINSERT INTO `ums_member_receive_address` VALUES (6, 11, '小李', '18961511111', NULL, '518000', '广东省', '深圳市', '福田区', '清水河街道');\n\n-- ----------------------------\n-- Table structure for ums_member_rule_setting\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_rule_setting`;\nCREATE TABLE `ums_member_rule_setting`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `continue_sign_day` int(11) NULL DEFAULT NULL COMMENT '连续签到天数',\n  `continue_sign_point` int(11) NULL DEFAULT NULL COMMENT '连续签到赠送数量',\n  `consume_per_point` decimal(10, 2) NULL DEFAULT NULL COMMENT '每消费多少元获取1个点',\n  `low_order_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '最低获取点数的订单金额',\n  `max_point_per_order` int(11) NULL DEFAULT NULL COMMENT '每笔订单最高获取点数',\n  `type` int(1) NULL DEFAULT NULL COMMENT '类型：0->积分规则；1->成长值规则',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员积分成长规则表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_rule_setting\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_member_statistics_info\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_statistics_info`;\nCREATE TABLE `ums_member_statistics_info`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `member_id` bigint(20) NULL DEFAULT NULL,\n  `consume_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '累计消费金额',\n  `order_count` int(11) NULL DEFAULT NULL COMMENT '订单数量',\n  `coupon_count` int(11) NULL DEFAULT NULL COMMENT '优惠券数量',\n  `comment_count` int(11) NULL DEFAULT NULL COMMENT '评价数',\n  `return_order_count` int(11) NULL DEFAULT NULL COMMENT '退货数量',\n  `login_count` int(11) NULL DEFAULT NULL COMMENT '登录次数',\n  `attend_count` int(11) NULL DEFAULT NULL COMMENT '关注数量',\n  `fans_count` int(11) NULL DEFAULT NULL COMMENT '粉丝数量',\n  `collect_product_count` int(11) NULL DEFAULT NULL,\n  `collect_subject_count` int(11) NULL DEFAULT NULL,\n  `collect_topic_count` int(11) NULL DEFAULT NULL,\n  `collect_comment_count` int(11) NULL DEFAULT NULL,\n  `invite_friend_count` int(11) NULL DEFAULT NULL,\n  `recent_order_time` datetime NULL DEFAULT NULL COMMENT '最后一次下订单时间',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员统计信息' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_statistics_info\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_member_tag\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_tag`;\nCREATE TABLE `ums_member_tag`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `finish_order_count` int(11) NULL DEFAULT NULL COMMENT '自动打标签完成订单数量',\n  `finish_order_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '自动打标签完成订单金额',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户标签表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_tag\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_member_task\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_member_task`;\nCREATE TABLE `ums_member_task`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,\n  `growth` int(11) NULL DEFAULT NULL COMMENT '赠送成长值',\n  `intergration` int(11) NULL DEFAULT NULL COMMENT '赠送积分',\n  `type` int(1) NULL DEFAULT NULL COMMENT '任务类型：0->新手任务；1->日常任务',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员任务表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_member_task\n-- ----------------------------\n\n-- ----------------------------\n-- Table structure for ums_menu\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_menu`;\nCREATE TABLE `ums_menu`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级ID',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单名称',\n  `level` int(4) NULL DEFAULT NULL COMMENT '菜单级数',\n  `sort` int(4) NULL DEFAULT NULL COMMENT '菜单排序',\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端名称',\n  `icon` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端图标',\n  `hidden` int(1) NULL DEFAULT NULL COMMENT '前端隐藏',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台菜单表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_menu\n-- ----------------------------\nINSERT INTO `ums_menu` VALUES (1, 0, '2020-02-02 14:50:36', '商品', 0, 0, 'pms', 'product', 0);\nINSERT INTO `ums_menu` VALUES (2, 1, '2020-02-02 14:51:50', '商品列表', 1, 0, 'product', 'product-list', 0);\nINSERT INTO `ums_menu` VALUES (3, 1, '2020-02-02 14:52:44', '添加商品', 1, 0, 'addProduct', 'product-add', 0);\nINSERT INTO `ums_menu` VALUES (4, 1, '2020-02-02 14:53:51', '商品分类', 1, 0, 'productCate', 'product-cate', 0);\nINSERT INTO `ums_menu` VALUES (5, 1, '2020-02-02 14:54:51', '商品类型', 1, 0, 'productAttr', 'product-attr', 0);\nINSERT INTO `ums_menu` VALUES (6, 1, '2020-02-02 14:56:29', '品牌管理', 1, 0, 'brand', 'product-brand', 0);\nINSERT INTO `ums_menu` VALUES (7, 0, '2020-02-02 16:54:07', '订单', 0, 0, 'oms', 'order', 0);\nINSERT INTO `ums_menu` VALUES (8, 7, '2020-02-02 16:55:18', '订单列表', 1, 0, 'order', 'product-list', 0);\nINSERT INTO `ums_menu` VALUES (9, 7, '2020-02-02 16:56:46', '订单设置', 1, 0, 'orderSetting', 'order-setting', 0);\nINSERT INTO `ums_menu` VALUES (10, 7, '2020-02-02 16:57:39', '退货申请处理', 1, 0, 'returnApply', 'order-return', 0);\nINSERT INTO `ums_menu` VALUES (11, 7, '2020-02-02 16:59:40', '退货原因设置', 1, 0, 'returnReason', 'order-return-reason', 0);\nINSERT INTO `ums_menu` VALUES (12, 0, '2020-02-04 16:18:00', '营销', 0, 0, 'sms', 'sms', 0);\nINSERT INTO `ums_menu` VALUES (13, 12, '2020-02-04 16:19:22', '秒杀活动列表', 1, 0, 'flash', 'sms-flash', 0);\nINSERT INTO `ums_menu` VALUES (14, 12, '2020-02-04 16:20:16', '优惠券列表', 1, 0, 'coupon', 'sms-coupon', 0);\nINSERT INTO `ums_menu` VALUES (16, 12, '2020-02-07 16:22:38', '品牌推荐', 1, 0, 'homeBrand', 'product-brand', 0);\nINSERT INTO `ums_menu` VALUES (17, 12, '2020-02-07 16:23:14', '新品推荐', 1, 0, 'homeNew', 'sms-new', 0);\nINSERT INTO `ums_menu` VALUES (18, 12, '2020-02-07 16:26:38', '人气推荐', 1, 0, 'homeHot', 'sms-hot', 0);\nINSERT INTO `ums_menu` VALUES (19, 12, '2020-02-07 16:28:16', '专题推荐', 1, 0, 'homeSubject', 'sms-subject', 0);\nINSERT INTO `ums_menu` VALUES (20, 12, '2020-02-07 16:28:42', '广告列表', 1, 0, 'homeAdvertise', 'sms-ad', 0);\nINSERT INTO `ums_menu` VALUES (21, 0, '2020-02-07 16:29:13', '权限', 0, 0, 'ums', 'ums', 0);\nINSERT INTO `ums_menu` VALUES (22, 21, '2020-02-07 16:29:51', '用户列表', 1, 0, 'admin', 'ums-admin', 0);\nINSERT INTO `ums_menu` VALUES (23, 21, '2020-02-07 16:30:13', '角色列表', 1, 0, 'role', 'ums-role', 0);\nINSERT INTO `ums_menu` VALUES (24, 21, '2020-02-07 16:30:53', '菜单列表', 1, 0, 'menu', 'ums-menu', 0);\nINSERT INTO `ums_menu` VALUES (25, 21, '2020-02-07 16:31:13', '资源列表', 1, 0, 'resource', 'ums-resource', 0);\n\n-- ----------------------------\n-- Table structure for ums_permission\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_permission`;\nCREATE TABLE `ums_permission`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `pid` bigint(20) NULL DEFAULT NULL COMMENT '父级权限id',\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',\n  `value` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限值',\n  `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图标',\n  `type` int(1) NULL DEFAULT NULL COMMENT '权限类型：0->目录；1->菜单；2->按钮（接口绑定权限）',\n  `uri` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端资源路径',\n  `status` int(1) NULL DEFAULT NULL COMMENT '启用状态；0->禁用；1->启用',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `sort` int(11) NULL DEFAULT NULL COMMENT '排序',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户权限表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_permission\n-- ----------------------------\nINSERT INTO `ums_permission` VALUES (1, 0, '商品', NULL, NULL, 0, NULL, 1, '2018-09-29 16:15:14', 0);\nINSERT INTO `ums_permission` VALUES (2, 1, '商品列表', 'pms:product:read', NULL, 1, '/pms/product/index', 1, '2018-09-29 16:17:01', 0);\nINSERT INTO `ums_permission` VALUES (3, 1, '添加商品', 'pms:product:create', NULL, 1, '/pms/product/add', 1, '2018-09-29 16:18:51', 0);\nINSERT INTO `ums_permission` VALUES (4, 1, '商品分类', 'pms:productCategory:read', NULL, 1, '/pms/productCate/index', 1, '2018-09-29 16:23:07', 0);\nINSERT INTO `ums_permission` VALUES (5, 1, '商品类型', 'pms:productAttribute:read', NULL, 1, '/pms/productAttr/index', 1, '2018-09-29 16:24:43', 0);\nINSERT INTO `ums_permission` VALUES (6, 1, '品牌管理', 'pms:brand:read', NULL, 1, '/pms/brand/index', 1, '2018-09-29 16:25:45', 0);\nINSERT INTO `ums_permission` VALUES (7, 2, '编辑商品', 'pms:product:update', NULL, 2, '/pms/product/updateProduct', 1, '2018-09-29 16:34:23', 0);\nINSERT INTO `ums_permission` VALUES (8, 2, '删除商品', 'pms:product:delete', NULL, 2, '/pms/product/delete', 1, '2018-09-29 16:38:33', 0);\nINSERT INTO `ums_permission` VALUES (9, 4, '添加商品分类', 'pms:productCategory:create', NULL, 2, '/pms/productCate/create', 1, '2018-09-29 16:43:23', 0);\nINSERT INTO `ums_permission` VALUES (10, 4, '修改商品分类', 'pms:productCategory:update', NULL, 2, '/pms/productCate/update', 1, '2018-09-29 16:43:55', 0);\nINSERT INTO `ums_permission` VALUES (11, 4, '删除商品分类', 'pms:productCategory:delete', NULL, 2, '/pms/productAttr/delete', 1, '2018-09-29 16:44:38', 0);\nINSERT INTO `ums_permission` VALUES (12, 5, '添加商品类型', 'pms:productAttribute:create', NULL, 2, '/pms/productAttr/create', 1, '2018-09-29 16:45:25', 0);\nINSERT INTO `ums_permission` VALUES (13, 5, '修改商品类型', 'pms:productAttribute:update', NULL, 2, '/pms/productAttr/update', 1, '2018-09-29 16:48:08', 0);\nINSERT INTO `ums_permission` VALUES (14, 5, '删除商品类型', 'pms:productAttribute:delete', NULL, 2, '/pms/productAttr/delete', 1, '2018-09-29 16:48:44', 0);\nINSERT INTO `ums_permission` VALUES (15, 6, '添加品牌', 'pms:brand:create', NULL, 2, '/pms/brand/add', 1, '2018-09-29 16:49:34', 0);\nINSERT INTO `ums_permission` VALUES (16, 6, '修改品牌', 'pms:brand:update', NULL, 2, '/pms/brand/update', 1, '2018-09-29 16:50:55', 0);\nINSERT INTO `ums_permission` VALUES (17, 6, '删除品牌', 'pms:brand:delete', NULL, 2, '/pms/brand/delete', 1, '2018-09-29 16:50:59', 0);\nINSERT INTO `ums_permission` VALUES (18, 0, '首页', NULL, NULL, 0, NULL, 1, '2018-09-29 16:51:57', 0);\n\n-- ----------------------------\n-- Table structure for ums_resource\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_resource`;\nCREATE TABLE `ums_resource`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '资源名称',\n  `url` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '资源URL',\n  `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',\n  `category_id` bigint(20) NULL DEFAULT NULL COMMENT '资源分类ID',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台资源表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_resource\n-- ----------------------------\nINSERT INTO `ums_resource` VALUES (1, '2020-02-04 17:04:55', '商品品牌管理', '/brand/**', NULL, 1);\nINSERT INTO `ums_resource` VALUES (2, '2020-02-04 17:05:35', '商品属性分类管理', '/productAttribute/category/**', NULL, 1);\nINSERT INTO `ums_resource` VALUES (3, '2020-02-04 17:06:13', '商品属性管理', '/productAttribute/**', NULL, 1);\nINSERT INTO `ums_resource` VALUES (4, '2020-02-04 17:07:15', '商品分类管理', '/productCategory/**', NULL, 1);\nINSERT INTO `ums_resource` VALUES (5, '2020-02-04 17:09:16', '商品管理', '/product/**', NULL, 1);\nINSERT INTO `ums_resource` VALUES (6, '2020-02-04 17:09:53', '商品库存管理', '/sku/**', NULL, 1);\nINSERT INTO `ums_resource` VALUES (8, '2020-02-05 14:43:37', '订单管理', '/order/**', '', 2);\nINSERT INTO `ums_resource` VALUES (9, '2020-02-05 14:44:22', ' 订单退货申请管理', '/returnApply/**', '', 2);\nINSERT INTO `ums_resource` VALUES (10, '2020-02-05 14:45:08', '退货原因管理', '/returnReason/**', '', 2);\nINSERT INTO `ums_resource` VALUES (11, '2020-02-05 14:45:43', '订单设置管理', '/orderSetting/**', '', 2);\nINSERT INTO `ums_resource` VALUES (12, '2020-02-05 14:46:23', '收货地址管理', '/companyAddress/**', '', 2);\nINSERT INTO `ums_resource` VALUES (13, '2020-02-07 16:37:22', '优惠券管理', '/coupon/**', '', 3);\nINSERT INTO `ums_resource` VALUES (14, '2020-02-07 16:37:59', '优惠券领取记录管理', '/couponHistory/**', '', 3);\nINSERT INTO `ums_resource` VALUES (15, '2020-02-07 16:38:28', '限时购活动管理', '/flash/**', '', 3);\nINSERT INTO `ums_resource` VALUES (16, '2020-02-07 16:38:59', '限时购商品关系管理', '/flashProductRelation/**', '', 3);\nINSERT INTO `ums_resource` VALUES (17, '2020-02-07 16:39:22', '限时购场次管理', '/flashSession/**', '', 3);\nINSERT INTO `ums_resource` VALUES (18, '2020-02-07 16:40:07', '首页轮播广告管理', '/home/advertise/**', '', 3);\nINSERT INTO `ums_resource` VALUES (19, '2020-02-07 16:40:34', '首页品牌管理', '/home/brand/**', '', 3);\nINSERT INTO `ums_resource` VALUES (20, '2020-02-07 16:41:06', '首页新品管理', '/home/newProduct/**', '', 3);\nINSERT INTO `ums_resource` VALUES (21, '2020-02-07 16:42:16', '首页人气推荐管理', '/home/recommendProduct/**', '', 3);\nINSERT INTO `ums_resource` VALUES (22, '2020-02-07 16:42:48', '首页专题推荐管理', '/home/recommendSubject/**', '', 3);\nINSERT INTO `ums_resource` VALUES (23, '2020-02-07 16:44:56', ' 商品优选管理', '/prefrenceArea/**', '', 5);\nINSERT INTO `ums_resource` VALUES (24, '2020-02-07 16:45:39', '商品专题管理', '/subject/**', '', 5);\nINSERT INTO `ums_resource` VALUES (25, '2020-02-07 16:47:34', '后台用户管理', '/admin/**', '', 4);\nINSERT INTO `ums_resource` VALUES (26, '2020-02-07 16:48:24', '后台用户角色管理', '/role/**', '', 4);\nINSERT INTO `ums_resource` VALUES (27, '2020-02-07 16:48:48', '后台菜单管理', '/menu/**', '', 4);\nINSERT INTO `ums_resource` VALUES (28, '2020-02-07 16:49:18', '后台资源分类管理', '/resourceCategory/**', '', 4);\nINSERT INTO `ums_resource` VALUES (29, '2020-02-07 16:49:45', '后台资源管理', '/resource/**', '', 4);\nINSERT INTO `ums_resource` VALUES (30, '2020-09-19 15:47:57', '会员等级管理', '/memberLevel/**', '', 7);\nINSERT INTO `ums_resource` VALUES (31, '2020-09-19 15:51:29', '获取登录用户信息', '/admin/info', '用户登录必配', 4);\nINSERT INTO `ums_resource` VALUES (32, '2020-09-19 15:53:34', '用户登出', '/admin/logout', '用户登出必配', 4);\n\n-- ----------------------------\n-- Table structure for ums_resource_category\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_resource_category`;\nCREATE TABLE `ums_resource_category`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类名称',\n  `sort` int(4) NULL DEFAULT NULL COMMENT '排序',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源分类表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_resource_category\n-- ----------------------------\nINSERT INTO `ums_resource_category` VALUES (1, '2020-02-05 10:21:44', '商品模块', 0);\nINSERT INTO `ums_resource_category` VALUES (2, '2020-02-05 10:22:34', '订单模块', 0);\nINSERT INTO `ums_resource_category` VALUES (3, '2020-02-05 10:22:48', '营销模块', 0);\nINSERT INTO `ums_resource_category` VALUES (4, '2020-02-05 10:23:04', '权限模块', 0);\nINSERT INTO `ums_resource_category` VALUES (5, '2020-02-07 16:34:27', '内容模块', 0);\nINSERT INTO `ums_resource_category` VALUES (7, '2020-09-19 15:49:08', '其他模块', 0);\n\n-- ----------------------------\n-- Table structure for ums_role\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_role`;\nCREATE TABLE `ums_role`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',\n  `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',\n  `admin_count` int(11) NULL DEFAULT NULL COMMENT '后台用户数量',\n  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',\n  `status` int(1) NULL DEFAULT 1 COMMENT '启用状态：0->禁用；1->启用',\n  `sort` int(11) NULL DEFAULT 0,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户角色表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_role\n-- ----------------------------\nINSERT INTO `ums_role` VALUES (1, '商品管理员', '只能查看及操作商品', 0, '2020-02-03 16:50:37', 1, 0);\nINSERT INTO `ums_role` VALUES (2, '订单管理员', '只能查看及操作订单', 0, '2018-09-30 15:53:45', 1, 0);\nINSERT INTO `ums_role` VALUES (5, '超级管理员', '拥有所有查看和操作功能', 0, '2020-02-02 15:11:05', 1, 0);\n\n-- ----------------------------\n-- Table structure for ums_role_menu_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_role_menu_relation`;\nCREATE TABLE `ums_role_menu_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色ID',\n  `menu_id` bigint(20) NULL DEFAULT NULL COMMENT '菜单ID',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 127 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台角色菜单关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_role_menu_relation\n-- ----------------------------\nINSERT INTO `ums_role_menu_relation` VALUES (53, 2, 7);\nINSERT INTO `ums_role_menu_relation` VALUES (54, 2, 8);\nINSERT INTO `ums_role_menu_relation` VALUES (55, 2, 9);\nINSERT INTO `ums_role_menu_relation` VALUES (56, 2, 10);\nINSERT INTO `ums_role_menu_relation` VALUES (57, 2, 11);\nINSERT INTO `ums_role_menu_relation` VALUES (72, 5, 1);\nINSERT INTO `ums_role_menu_relation` VALUES (73, 5, 2);\nINSERT INTO `ums_role_menu_relation` VALUES (74, 5, 3);\nINSERT INTO `ums_role_menu_relation` VALUES (75, 5, 4);\nINSERT INTO `ums_role_menu_relation` VALUES (76, 5, 5);\nINSERT INTO `ums_role_menu_relation` VALUES (77, 5, 6);\nINSERT INTO `ums_role_menu_relation` VALUES (78, 5, 7);\nINSERT INTO `ums_role_menu_relation` VALUES (79, 5, 8);\nINSERT INTO `ums_role_menu_relation` VALUES (80, 5, 9);\nINSERT INTO `ums_role_menu_relation` VALUES (81, 5, 10);\nINSERT INTO `ums_role_menu_relation` VALUES (82, 5, 11);\nINSERT INTO `ums_role_menu_relation` VALUES (83, 5, 12);\nINSERT INTO `ums_role_menu_relation` VALUES (84, 5, 13);\nINSERT INTO `ums_role_menu_relation` VALUES (85, 5, 14);\nINSERT INTO `ums_role_menu_relation` VALUES (86, 5, 16);\nINSERT INTO `ums_role_menu_relation` VALUES (87, 5, 17);\nINSERT INTO `ums_role_menu_relation` VALUES (88, 5, 18);\nINSERT INTO `ums_role_menu_relation` VALUES (89, 5, 19);\nINSERT INTO `ums_role_menu_relation` VALUES (90, 5, 20);\nINSERT INTO `ums_role_menu_relation` VALUES (91, 5, 21);\nINSERT INTO `ums_role_menu_relation` VALUES (92, 5, 22);\nINSERT INTO `ums_role_menu_relation` VALUES (93, 5, 23);\nINSERT INTO `ums_role_menu_relation` VALUES (94, 5, 24);\nINSERT INTO `ums_role_menu_relation` VALUES (95, 5, 25);\nINSERT INTO `ums_role_menu_relation` VALUES (121, 1, 1);\nINSERT INTO `ums_role_menu_relation` VALUES (122, 1, 2);\nINSERT INTO `ums_role_menu_relation` VALUES (123, 1, 3);\nINSERT INTO `ums_role_menu_relation` VALUES (124, 1, 4);\nINSERT INTO `ums_role_menu_relation` VALUES (125, 1, 5);\nINSERT INTO `ums_role_menu_relation` VALUES (126, 1, 6);\n\n-- ----------------------------\n-- Table structure for ums_role_permission_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_role_permission_relation`;\nCREATE TABLE `ums_role_permission_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `role_id` bigint(20) NULL DEFAULT NULL,\n  `permission_id` bigint(20) NULL DEFAULT NULL,\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户角色和权限关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_role_permission_relation\n-- ----------------------------\nINSERT INTO `ums_role_permission_relation` VALUES (1, 1, 1);\nINSERT INTO `ums_role_permission_relation` VALUES (2, 1, 2);\nINSERT INTO `ums_role_permission_relation` VALUES (3, 1, 3);\nINSERT INTO `ums_role_permission_relation` VALUES (4, 1, 7);\nINSERT INTO `ums_role_permission_relation` VALUES (5, 1, 8);\nINSERT INTO `ums_role_permission_relation` VALUES (6, 2, 4);\nINSERT INTO `ums_role_permission_relation` VALUES (7, 2, 9);\nINSERT INTO `ums_role_permission_relation` VALUES (8, 2, 10);\nINSERT INTO `ums_role_permission_relation` VALUES (9, 2, 11);\nINSERT INTO `ums_role_permission_relation` VALUES (10, 3, 5);\nINSERT INTO `ums_role_permission_relation` VALUES (11, 3, 12);\nINSERT INTO `ums_role_permission_relation` VALUES (12, 3, 13);\nINSERT INTO `ums_role_permission_relation` VALUES (13, 3, 14);\nINSERT INTO `ums_role_permission_relation` VALUES (14, 4, 6);\nINSERT INTO `ums_role_permission_relation` VALUES (15, 4, 15);\nINSERT INTO `ums_role_permission_relation` VALUES (16, 4, 16);\nINSERT INTO `ums_role_permission_relation` VALUES (17, 4, 17);\n\n-- ----------------------------\n-- Table structure for ums_role_resource_relation\n-- ----------------------------\nDROP TABLE IF EXISTS `ums_role_resource_relation`;\nCREATE TABLE `ums_role_resource_relation`  (\n  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n  `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色ID',\n  `resource_id` bigint(20) NULL DEFAULT NULL COMMENT '资源ID',\n  PRIMARY KEY (`id`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 249 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台角色资源关系表' ROW_FORMAT = DYNAMIC;\n\n-- ----------------------------\n-- Records of ums_role_resource_relation\n-- ----------------------------\nINSERT INTO `ums_role_resource_relation` VALUES (194, 5, 1);\nINSERT INTO `ums_role_resource_relation` VALUES (195, 5, 2);\nINSERT INTO `ums_role_resource_relation` VALUES (196, 5, 3);\nINSERT INTO `ums_role_resource_relation` VALUES (197, 5, 4);\nINSERT INTO `ums_role_resource_relation` VALUES (198, 5, 5);\nINSERT INTO `ums_role_resource_relation` VALUES (199, 5, 6);\nINSERT INTO `ums_role_resource_relation` VALUES (200, 5, 8);\nINSERT INTO `ums_role_resource_relation` VALUES (201, 5, 9);\nINSERT INTO `ums_role_resource_relation` VALUES (202, 5, 10);\nINSERT INTO `ums_role_resource_relation` VALUES (203, 5, 11);\nINSERT INTO `ums_role_resource_relation` VALUES (204, 5, 12);\nINSERT INTO `ums_role_resource_relation` VALUES (205, 5, 13);\nINSERT INTO `ums_role_resource_relation` VALUES (206, 5, 14);\nINSERT INTO `ums_role_resource_relation` VALUES (207, 5, 15);\nINSERT INTO `ums_role_resource_relation` VALUES (208, 5, 16);\nINSERT INTO `ums_role_resource_relation` VALUES (209, 5, 17);\nINSERT INTO `ums_role_resource_relation` VALUES (210, 5, 18);\nINSERT INTO `ums_role_resource_relation` VALUES (211, 5, 19);\nINSERT INTO `ums_role_resource_relation` VALUES (212, 5, 20);\nINSERT INTO `ums_role_resource_relation` VALUES (213, 5, 21);\nINSERT INTO `ums_role_resource_relation` VALUES (214, 5, 22);\nINSERT INTO `ums_role_resource_relation` VALUES (215, 5, 23);\nINSERT INTO `ums_role_resource_relation` VALUES (216, 5, 24);\nINSERT INTO `ums_role_resource_relation` VALUES (217, 5, 25);\nINSERT INTO `ums_role_resource_relation` VALUES (218, 5, 26);\nINSERT INTO `ums_role_resource_relation` VALUES (219, 5, 27);\nINSERT INTO `ums_role_resource_relation` VALUES (220, 5, 28);\nINSERT INTO `ums_role_resource_relation` VALUES (221, 5, 29);\nINSERT INTO `ums_role_resource_relation` VALUES (222, 5, 30);\nINSERT INTO `ums_role_resource_relation` VALUES (232, 2, 8);\nINSERT INTO `ums_role_resource_relation` VALUES (233, 2, 9);\nINSERT INTO `ums_role_resource_relation` VALUES (234, 2, 10);\nINSERT INTO `ums_role_resource_relation` VALUES (235, 2, 11);\nINSERT INTO `ums_role_resource_relation` VALUES (236, 2, 12);\nINSERT INTO `ums_role_resource_relation` VALUES (237, 2, 31);\nINSERT INTO `ums_role_resource_relation` VALUES (238, 2, 32);\nINSERT INTO `ums_role_resource_relation` VALUES (239, 1, 1);\nINSERT INTO `ums_role_resource_relation` VALUES (240, 1, 2);\nINSERT INTO `ums_role_resource_relation` VALUES (241, 1, 3);\nINSERT INTO `ums_role_resource_relation` VALUES (242, 1, 4);\nINSERT INTO `ums_role_resource_relation` VALUES (243, 1, 5);\nINSERT INTO `ums_role_resource_relation` VALUES (244, 1, 6);\nINSERT INTO `ums_role_resource_relation` VALUES (245, 1, 23);\nINSERT INTO `ums_role_resource_relation` VALUES (246, 1, 24);\nINSERT INTO `ums_role_resource_relation` VALUES (247, 1, 31);\nINSERT INTO `ums_role_resource_relation` VALUES (248, 1, 32);\n\nSET FOREIGN_KEY_CHECKS = 1;\n"
  },
  {
    "path": "mall-admin/pom.xml",
    "content": "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-admin</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-admin</name>\n    <description>mall-admin project for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-mbg</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-security</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>com.aliyun.oss</groupId>\n            <artifactId>aliyun-sdk-oss</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>io.minio</groupId>\n            <artifactId>minio</artifactId>\n        </dependency>\n    </dependencies>\n    <build>\n        <plugins>\n            <plugin>\n                <groupId>org.springframework.boot</groupId>\n                <artifactId>spring-boot-maven-plugin</artifactId>\n            </plugin>\n            <plugin>\n                <groupId>io.fabric8</groupId>\n                <artifactId>docker-maven-plugin</artifactId>\n            </plugin>\n        </plugins>\n    </build>\n</project>\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/MallAdminApplication.java",
    "content": "package com.macro.mall;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n/**\n * 应用启动入口\n * Created by macro on 2018/4/26.\n */\n@SpringBootApplication\npublic class MallAdminApplication {\n    public static void main(String[] args) {\n        SpringApplication.run(MallAdminApplication.class, args);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/bo/AdminUserDetails.java",
    "content": "package com.macro.mall.bo;\n\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsResource;\nimport org.springframework.security.core.GrantedAuthority;\nimport org.springframework.security.core.authority.SimpleGrantedAuthority;\nimport org.springframework.security.core.userdetails.UserDetails;\n\nimport java.util.Collection;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * SpringSecurity需要的用户信息封装类\n * Created by macro on 2018/4/26.\n */\npublic class AdminUserDetails implements UserDetails {\n    //后台用户\n    private final UmsAdmin umsAdmin;\n    //拥有资源列表\n    private final List<UmsResource> resourceList;\n\n    public AdminUserDetails(UmsAdmin umsAdmin,List<UmsResource> resourceList) {\n        this.umsAdmin = umsAdmin;\n        this.resourceList = resourceList;\n    }\n\n    @Override\n    public Collection<? extends GrantedAuthority> getAuthorities() {\n        //返回当前用户所拥有的资源\n        return resourceList.stream()\n                .map(resource ->new SimpleGrantedAuthority(resource.getId()+\":\"+resource.getName()))\n                .collect(Collectors.toList());\n    }\n\n    @Override\n    public String getPassword() {\n        return umsAdmin.getPassword();\n    }\n\n    @Override\n    public String getUsername() {\n        return umsAdmin.getUsername();\n    }\n\n    @Override\n    public boolean isAccountNonExpired() {\n        return true;\n    }\n\n    @Override\n    public boolean isAccountNonLocked() {\n        return true;\n    }\n\n    @Override\n    public boolean isCredentialsNonExpired() {\n        return true;\n    }\n\n    @Override\n    public boolean isEnabled() {\n        return umsAdmin.getStatus().equals(1);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/config/GlobalCorsConfig.java",
    "content": "package com.macro.mall.config;\n\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.web.cors.CorsConfiguration;\nimport org.springframework.web.cors.UrlBasedCorsConfigurationSource;\nimport org.springframework.web.filter.CorsFilter;\n\n/**\n * 全局跨域配置\n * Created by macro on 2019/7/27.\n */\n@Configuration\npublic class GlobalCorsConfig {\n\n    /**\n     * 允许跨域调用的过滤器\n     */\n    @Bean\n    public CorsFilter corsFilter() {\n        CorsConfiguration config = new CorsConfiguration();\n        //允许所有域名进行跨域调用\n        config.addAllowedOriginPattern(\"*\");\n        //允许跨越发送cookie\n        config.setAllowCredentials(true);\n        //放行全部原始头信息\n        config.addAllowedHeader(\"*\");\n        //允许所有请求方法跨域调用\n        config.addAllowedMethod(\"*\");\n        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();\n        source.registerCorsConfiguration(\"/**\", config);\n        return new CorsFilter(source);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/config/MallSecurityConfig.java",
    "content": "package com.macro.mall.config;\n\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.security.component.DynamicSecurityService;\nimport com.macro.mall.service.UmsAdminService;\nimport com.macro.mall.service.UmsResourceService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.security.access.ConfigAttribute;\nimport org.springframework.security.core.userdetails.UserDetailsService;\n\nimport java.util.List;\nimport java.util.Map;\nimport java.util.concurrent.ConcurrentHashMap;\n\n/**\n * mall-security模块相关配置\n * Created by macro on 2019/11/9.\n */\n@Configuration\npublic class MallSecurityConfig {\n\n    @Autowired\n    private UmsAdminService adminService;\n    @Autowired\n    private UmsResourceService resourceService;\n\n    @Bean\n    public UserDetailsService userDetailsService() {\n        //获取登录用户信息\n        return username -> adminService.loadUserByUsername(username);\n    }\n\n    @Bean\n    public DynamicSecurityService dynamicSecurityService() {\n        return new DynamicSecurityService() {\n            @Override\n            public Map<String, ConfigAttribute> loadDataSource() {\n                Map<String, ConfigAttribute> map = new ConcurrentHashMap<>();\n                List<UmsResource> resourceList = resourceService.listAll();\n                for (UmsResource resource : resourceList) {\n                    map.put(resource.getUrl(), new org.springframework.security.access.SecurityConfig(resource.getId() + \":\" + resource.getName()));\n                }\n                return map;\n            }\n        };\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/config/MyBatisConfig.java",
    "content": "package com.macro.mall.config;\n\nimport org.mybatis.spring.annotation.MapperScan;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.transaction.annotation.EnableTransactionManagement;\n\n/**\n * MyBatis相关配置\n * Created by macro on 2019/4/8.\n */\n@Configuration\n@EnableTransactionManagement\n@MapperScan({\"com.macro.mall.mapper\",\"com.macro.mall.dao\"})\npublic class MyBatisConfig {\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/config/OssConfig.java",
    "content": "package com.macro.mall.config;\n\nimport com.aliyun.oss.OSSClient;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\n\n/**\n * OSS对象存储相关配置\n * Created by macro on 2018/5/17.\n */\n@Configuration\npublic class OssConfig {\n    @Value(\"${aliyun.oss.endpoint}\")\n    private String ALIYUN_OSS_ENDPOINT;\n    @Value(\"${aliyun.oss.accessKeyId}\")\n    private String ALIYUN_OSS_ACCESSKEYID;\n    @Value(\"${aliyun.oss.accessKeySecret}\")\n    private String ALIYUN_OSS_ACCESSKEYSECRET;\n    @Bean\n    public OSSClient ossClient(){\n        return new OSSClient(ALIYUN_OSS_ENDPOINT,ALIYUN_OSS_ACCESSKEYID,ALIYUN_OSS_ACCESSKEYSECRET);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/config/SwaggerConfig.java",
    "content": "package com.macro.mall.config;\n\nimport com.macro.mall.common.config.BaseSwaggerConfig;\nimport com.macro.mall.common.domain.SwaggerProperties;\nimport org.springframework.beans.factory.config.BeanPostProcessor;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport springfox.documentation.swagger2.annotations.EnableSwagger2;\n\n/**\n * Swagger相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\n@EnableSwagger2\npublic class SwaggerConfig extends BaseSwaggerConfig {\n\n    @Override\n    public SwaggerProperties swaggerProperties() {\n        return SwaggerProperties.builder()\n                .apiBasePackage(\"com.macro.mall.controller\")\n                .title(\"mall后台系统\")\n                .description(\"mall后台相关接口文档\")\n                .contactName(\"macro\")\n                .version(\"1.0\")\n                .enableSecurity(true)\n                .build();\n    }\n\n    @Bean\n    public BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {\n        return generateBeanPostProcessor();\n    }\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/CmsPrefrenceAreaController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.CmsPrefrenceArea;\nimport com.macro.mall.service.CmsPrefrenceAreaService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport java.util.List;\n\n/**\n * 商品优选管理Controller\n * Created by macro on 2018/6/1.\n */\n@Controller\n@Api(tags = \"CmsPrefrenceAreaController\")\n@Tag(name = \"CmsPrefrenceAreaController\", description = \"商品优选管理\")\n@RequestMapping(\"/prefrenceArea\")\npublic class CmsPrefrenceAreaController {\n    @Autowired\n    private CmsPrefrenceAreaService prefrenceAreaService;\n\n    @ApiOperation(\"获取所有商品优选\")\n    @RequestMapping(value = \"/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<CmsPrefrenceArea>> listAll() {\n        List<CmsPrefrenceArea> prefrenceAreaList = prefrenceAreaService.listAll();\n        return CommonResult.success(prefrenceAreaList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/CmsSubjectController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.service.CmsSubjectService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport java.util.List;\n\n/**\n * 商品专题管理Controller\n * Created by macro on 2018/6/1.\n */\n@Controller\n@Api(tags = \"CmsSubjectController\")\n@Tag(name = \"CmsSubjectController\", description = \"商品专题管理\")\n@RequestMapping(\"/subject\")\npublic class CmsSubjectController {\n    @Autowired\n    private CmsSubjectService subjectService;\n\n    @ApiOperation(\"获取全部商品专题\")\n    @RequestMapping(value = \"/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<CmsSubject>> listAll() {\n        List<CmsSubject> subjectList = subjectService.listAll();\n        return CommonResult.success(subjectList);\n    }\n\n    @ApiOperation(value = \"根据专题名称分页获取商品专题\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<CmsSubject>> getList(@RequestParam(value = \"keyword\", required = false) String keyword,\n                                                        @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                        @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize) {\n        List<CmsSubject> subjectList = subjectService.list(keyword, pageNum, pageSize);\n        return CommonResult.success(CommonPage.restPage(subjectList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/MinioController.java",
    "content": "package com.macro.mall.controller;\n\nimport cn.hutool.core.collection.CollUtil;\nimport cn.hutool.json.JSONUtil;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.BucketPolicyConfigDto;\nimport com.macro.mall.dto.MinioUploadDto;\nimport io.minio.*;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\nimport org.springframework.web.multipart.MultipartFile;\n\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\n\n/**\n * MinIO对象存储管理Controller\n * Created by macro on 2019/12/25.\n */\n@Controller\n@Api(tags = \"MinioController\")\n@Tag(name = \"MinioController\", description = \"MinIO对象存储管理\")\n@RequestMapping(\"/minio\")\npublic class MinioController {\n\n    private static final Logger LOGGER = LoggerFactory.getLogger(MinioController.class);\n    @Value(\"${minio.endpoint}\")\n    private String ENDPOINT;\n    @Value(\"${minio.bucketName}\")\n    private String BUCKET_NAME;\n    @Value(\"${minio.accessKey}\")\n    private String ACCESS_KEY;\n    @Value(\"${minio.secretKey}\")\n    private String SECRET_KEY;\n\n    @ApiOperation(\"文件上传\")\n    @RequestMapping(value = \"/upload\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult upload(@RequestPart(\"file\") MultipartFile file) {\n        try {\n            //创建一个MinIO的Java客户端\n            MinioClient minioClient =MinioClient.builder()\n                    .endpoint(ENDPOINT)\n                    .credentials(ACCESS_KEY,SECRET_KEY)\n                    .build();\n            boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(BUCKET_NAME).build());\n            if (isExist) {\n                LOGGER.info(\"存储桶已经存在！\");\n            } else {\n                //创建存储桶并设置只读权限\n                minioClient.makeBucket(MakeBucketArgs.builder().bucket(BUCKET_NAME).build());\n                BucketPolicyConfigDto bucketPolicyConfigDto = createBucketPolicyConfigDto(BUCKET_NAME);\n                SetBucketPolicyArgs setBucketPolicyArgs = SetBucketPolicyArgs.builder()\n                        .bucket(BUCKET_NAME)\n                        .config(JSONUtil.toJsonStr(bucketPolicyConfigDto))\n                        .build();\n                minioClient.setBucketPolicy(setBucketPolicyArgs);\n            }\n            String filename = file.getOriginalFilename();\n            SimpleDateFormat sdf = new SimpleDateFormat(\"yyyyMMdd\");\n            // 设置存储对象名称\n            String objectName = sdf.format(new Date()) + \"/\" + filename;\n            // 使用putObject上传一个文件到存储桶中\n            PutObjectArgs putObjectArgs = PutObjectArgs.builder()\n                    .bucket(BUCKET_NAME)\n                    .object(objectName)\n                    .contentType(file.getContentType())\n                    .stream(file.getInputStream(), file.getSize(), ObjectWriteArgs.MIN_MULTIPART_SIZE).build();\n            minioClient.putObject(putObjectArgs);\n            LOGGER.info(\"文件上传成功!\");\n            MinioUploadDto minioUploadDto = new MinioUploadDto();\n            minioUploadDto.setName(filename);\n            minioUploadDto.setUrl(ENDPOINT + \"/\" + BUCKET_NAME + \"/\" + objectName);\n            return CommonResult.success(minioUploadDto);\n        } catch (Exception e) {\n            e.printStackTrace();\n            LOGGER.info(\"上传发生错误: {}！\", e.getMessage());\n        }\n        return CommonResult.failed();\n    }\n\n    /**\n     * 创建存储桶的访问策略，设置为只读权限\n     */\n    private BucketPolicyConfigDto createBucketPolicyConfigDto(String bucketName) {\n        BucketPolicyConfigDto.Statement statement = BucketPolicyConfigDto.Statement.builder()\n                .Effect(\"Allow\")\n                .Principal(\"*\")\n                .Action(\"s3:GetObject\")\n                .Resource(\"arn:aws:s3:::\"+bucketName+\"/*.**\").build();\n        return BucketPolicyConfigDto.builder()\n                .Version(\"2012-10-17\")\n                .Statement(CollUtil.toList(statement))\n                .build();\n    }\n\n    @ApiOperation(\"文件删除\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"objectName\") String objectName) {\n        try {\n            MinioClient minioClient = MinioClient.builder()\n                    .endpoint(ENDPOINT)\n                    .credentials(ACCESS_KEY,SECRET_KEY)\n                    .build();\n            minioClient.removeObject(RemoveObjectArgs.builder().bucket(BUCKET_NAME).object(objectName).build());\n            return CommonResult.success(null);\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n        return CommonResult.failed();\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/OmsCompanyAddressController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.OmsCompanyAddress;\nimport com.macro.mall.service.OmsCompanyAddressService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport java.util.List;\n\n/**\n * 收货地址管理Controller\n * Created by macro on 2018/10/18.\n */\n@Controller\n@Api(tags = \"OmsCompanyAddressController\")\n@Tag(name = \"OmsCompanyAddressController\", description = \"收货地址管理\")\n@RequestMapping(\"/companyAddress\")\npublic class OmsCompanyAddressController {\n    @Autowired\n    private OmsCompanyAddressService companyAddressService;\n\n    @ApiOperation(\"获取所有收货地址\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<OmsCompanyAddress>> list() {\n        List<OmsCompanyAddress> companyAddressList = companyAddressService.list();\n        return CommonResult.success(companyAddressList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/OmsOrderController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.*;\nimport com.macro.mall.model.OmsOrder;\nimport com.macro.mall.service.OmsOrderService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 订单管理Controller\n * Created by macro on 2018/10/11.\n */\n@Controller\n@Api(tags = \"OmsOrderController\")\n@Tag(name = \"OmsOrderController\", description = \"订单管理\")\n@RequestMapping(\"/order\")\npublic class OmsOrderController {\n    @Autowired\n    private OmsOrderService orderService;\n\n    @ApiOperation(\"查询订单\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<OmsOrder>> list(OmsOrderQueryParam queryParam,\n                                                   @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                   @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<OmsOrder> orderList = orderService.list(queryParam, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(orderList));\n    }\n\n    @ApiOperation(\"批量发货\")\n    @RequestMapping(value = \"/update/delivery\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delivery(@RequestBody List<OmsOrderDeliveryParam> deliveryParamList) {\n        int count = orderService.delivery(deliveryParamList);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量关闭订单\")\n    @RequestMapping(value = \"/update/close\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult close(@RequestParam(\"ids\") List<Long> ids, @RequestParam String note) {\n        int count = orderService.close(ids, note);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除订单\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = orderService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取订单详情：订单信息、商品信息、操作记录\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<OmsOrderDetail> detail(@PathVariable Long id) {\n        OmsOrderDetail orderDetailResult = orderService.detail(id);\n        return CommonResult.success(orderDetailResult);\n    }\n\n    @ApiOperation(\"修改收货人信息\")\n    @RequestMapping(value = \"/update/receiverInfo\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateReceiverInfo(@RequestBody OmsReceiverInfoParam receiverInfoParam) {\n        int count = orderService.updateReceiverInfo(receiverInfoParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改订单费用信息\")\n    @RequestMapping(value = \"/update/moneyInfo\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateReceiverInfo(@RequestBody OmsMoneyInfoParam moneyInfoParam) {\n        int count = orderService.updateMoneyInfo(moneyInfoParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"备注订单\")\n    @RequestMapping(value = \"/update/note\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateNote(@RequestParam(\"id\") Long id,\n                                   @RequestParam(\"note\") String note,\n                                   @RequestParam(\"status\") Integer status) {\n        int count = orderService.updateNote(id, note, status);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/OmsOrderReturnApplyController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.OmsOrderReturnApplyResult;\nimport com.macro.mall.dto.OmsReturnApplyQueryParam;\nimport com.macro.mall.dto.OmsUpdateStatusParam;\nimport com.macro.mall.model.OmsOrderReturnApply;\nimport com.macro.mall.service.OmsOrderReturnApplyService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 订单退货申请管理Controller\n * Created by macro on 2018/10/18.\n */\n@Controller\n@Api(tags = \"OmsOrderReturnApplyController\")\n@Tag(name = \"OmsOrderReturnApplyController\", description = \"订单退货申请管理\")\n@RequestMapping(\"/returnApply\")\npublic class OmsOrderReturnApplyController {\n    @Autowired\n    private OmsOrderReturnApplyService returnApplyService;\n\n    @ApiOperation(\"分页查询退货申请\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<OmsOrderReturnApply>> list(OmsReturnApplyQueryParam queryParam,\n                                                              @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                              @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<OmsOrderReturnApply> returnApplyList = returnApplyService.list(queryParam, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(returnApplyList));\n    }\n\n    @ApiOperation(\"批量删除退货申请\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = returnApplyService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取退货申请详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult getItem(@PathVariable Long id) {\n        OmsOrderReturnApplyResult result = returnApplyService.getItem(id);\n        return CommonResult.success(result);\n    }\n\n    @ApiOperation(\"修改退货申请状态\")\n    @RequestMapping(value = \"/update/status/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateStatus(@PathVariable Long id, @RequestBody OmsUpdateStatusParam statusParam) {\n        int count = returnApplyService.updateStatus(id, statusParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/OmsOrderReturnReasonController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.OmsOrderReturnReason;\nimport com.macro.mall.service.OmsOrderReturnReasonService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 退货原因管理Controller\n * Created by macro on 2018/10/17.\n */\n@Controller\n@Api(tags = \"OmsOrderReturnReasonController\")\n@Tag(name = \"OmsOrderReturnReasonController\", description = \"退货原因管理\")\n@RequestMapping(\"/returnReason\")\npublic class OmsOrderReturnReasonController {\n    @Autowired\n    private OmsOrderReturnReasonService orderReturnReasonService;\n\n    @ApiOperation(\"添加退货原因\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody OmsOrderReturnReason returnReason) {\n        int count = orderReturnReasonService.create(returnReason);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改退货原因\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody OmsOrderReturnReason returnReason) {\n        int count = orderReturnReasonService.update(id, returnReason);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除退货原因\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = orderReturnReasonService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"分页查询退货原因\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<OmsOrderReturnReason>> list(@RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                               @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<OmsOrderReturnReason> reasonList = orderReturnReasonService.list(pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(reasonList));\n    }\n\n    @ApiOperation(\"获取单个退货原因详情信息\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<OmsOrderReturnReason> getItem(@PathVariable Long id) {\n        OmsOrderReturnReason reason = orderReturnReasonService.getItem(id);\n        return CommonResult.success(reason);\n    }\n\n    @ApiOperation(\"修改退货原因启用状态\")\n    @RequestMapping(value = \"/update/status\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateStatus(@RequestParam(value = \"status\") Integer status,\n                                     @RequestParam(\"ids\") List<Long> ids) {\n        int count = orderReturnReasonService.updateStatus(ids, status);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/OmsOrderSettingController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.OmsOrderSetting;\nimport com.macro.mall.service.OmsOrderSettingService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\n/**\n * 订单设置管理Controller\n * Created by macro on 2018/10/16.\n */\n@Controller\n@Api(tags = \"OmsOrderSettingController\")\n@Tag(name = \"OmsOrderSettingController\", description = \"订单设置管理\")\n@RequestMapping(\"/orderSetting\")\npublic class OmsOrderSettingController {\n    @Autowired\n    private OmsOrderSettingService orderSettingService;\n\n    @ApiOperation(\"获取指定订单设置\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<OmsOrderSetting> getItem(@PathVariable Long id) {\n        OmsOrderSetting orderSetting = orderSettingService.getItem(id);\n        return CommonResult.success(orderSetting);\n    }\n\n    @ApiOperation(\"修改指定订单设置\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody OmsOrderSetting orderSetting) {\n        int count = orderSettingService.update(id,orderSetting);\n        if(count>0){\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/OssController.java",
    "content": "package com.macro.mall.controller;\n\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.OssCallbackResult;\nimport com.macro.mall.dto.OssPolicyResult;\nimport com.macro.mall.service.OssService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport javax.servlet.http.HttpServletRequest;\n\n/**\n * Oss对象存储管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"OssController\")\n@Tag(name = \"OssController\", description = \"Oss对象存储管理\")\n@RequestMapping(\"/aliyun/oss\")\npublic class OssController {\n    @Autowired\n    private OssService ossService;\n\n    @ApiOperation(value = \"Oss上传签名生成\")\n    @RequestMapping(value = \"/policy\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<OssPolicyResult> policy() {\n        OssPolicyResult result = ossService.policy();\n        return CommonResult.success(result);\n    }\n\n    @ApiOperation(value = \"Oss上传成功回调\")\n    @RequestMapping(value = \"callback\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult<OssCallbackResult> callback(HttpServletRequest request) {\n        OssCallbackResult ossCallbackResult = ossService.callback(request);\n        return CommonResult.success(ossCallbackResult);\n    }\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.PmsBrandParam;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.service.PmsBrandService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 商品品牌管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"PmsBrandController\")\n@Tag(name = \"PmsBrandController\", description = \"商品品牌管理\")\n@RequestMapping(\"/brand\")\npublic class PmsBrandController {\n    @Autowired\n    private PmsBrandService brandService;\n\n    @ApiOperation(value = \"获取全部品牌列表\")\n    @RequestMapping(value = \"/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsBrand>> getList() {\n        return CommonResult.success(brandService.listAllBrand());\n    }\n\n    @ApiOperation(value = \"添加品牌\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@Validated @RequestBody PmsBrandParam pmsBrand) {\n        CommonResult commonResult;\n        int count = brandService.createBrand(pmsBrand);\n        if (count == 1) {\n            commonResult = CommonResult.success(count);\n        } else {\n            commonResult = CommonResult.failed();\n        }\n        return commonResult;\n    }\n\n    @ApiOperation(value = \"更新品牌\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable(\"id\") Long id,\n                               @Validated @RequestBody PmsBrandParam pmsBrandParam) {\n        CommonResult commonResult;\n        int count = brandService.updateBrand(id, pmsBrandParam);\n        if (count == 1) {\n            commonResult = CommonResult.success(count);\n        } else {\n            commonResult = CommonResult.failed();\n        }\n        return commonResult;\n    }\n\n    @ApiOperation(value = \"删除品牌\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult delete(@PathVariable(\"id\") Long id) {\n        int count = brandService.deleteBrand(id);\n        if (count == 1) {\n            return CommonResult.success(null);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(value = \"根据品牌名称分页获取品牌列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsBrand>> getList(@RequestParam(value = \"keyword\", required = false) String keyword,\n                                                      @RequestParam(value = \"showStatus\",required = false) Integer showStatus,\n                                                      @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                      @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize) {\n        List<PmsBrand> brandList = brandService.listBrand(keyword,showStatus,pageNum, pageSize);\n        return CommonResult.success(CommonPage.restPage(brandList));\n    }\n\n    @ApiOperation(value = \"根据编号查询品牌信息\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsBrand> getItem(@PathVariable(\"id\") Long id) {\n        return CommonResult.success(brandService.getBrand(id));\n    }\n\n    @ApiOperation(value = \"批量删除品牌\")\n    @RequestMapping(value = \"/delete/batch\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult deleteBatch(@RequestParam(\"ids\") List<Long> ids) {\n        int count = brandService.deleteBrand(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(value = \"批量更新显示状态\")\n    @RequestMapping(value = \"/update/showStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateShowStatus(@RequestParam(\"ids\") List<Long> ids,\n                                   @RequestParam(\"showStatus\") Integer showStatus) {\n        int count = brandService.updateShowStatus(ids, showStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(value = \"批量更新厂家制造商状态\")\n    @RequestMapping(value = \"/update/factoryStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateFactoryStatus(@RequestParam(\"ids\") List<Long> ids,\n                                      @RequestParam(\"factoryStatus\") Integer factoryStatus) {\n        int count = brandService.updateFactoryStatus(ids, factoryStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeCategoryController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.PmsProductAttributeCategoryItem;\nimport com.macro.mall.model.PmsProductAttributeCategory;\nimport com.macro.mall.service.PmsProductAttributeCategoryService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 商品属性分类管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"PmsProductAttributeCategoryController\")\n@Tag(name = \"PmsProductAttributeCategoryController\", description = \"商品属性分类管理\")\n@RequestMapping(\"/productAttribute/category\")\npublic class PmsProductAttributeCategoryController {\n    @Autowired\n    private PmsProductAttributeCategoryService productAttributeCategoryService;\n\n    @ApiOperation(\"添加商品属性分类\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestParam String name) {\n        int count = productAttributeCategoryService.create(name);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"修改商品属性分类\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestParam String name) {\n        int count = productAttributeCategoryService.update(id, name);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"删除单个商品属性分类\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = productAttributeCategoryService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"获取单个商品属性分类信息\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsProductAttributeCategory> getItem(@PathVariable Long id) {\n        PmsProductAttributeCategory productAttributeCategory = productAttributeCategoryService.getItem(id);\n        return CommonResult.success(productAttributeCategory);\n    }\n\n    @ApiOperation(\"分页获取所有商品属性分类\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsProductAttributeCategory>> getList(@RequestParam(defaultValue = \"5\") Integer pageSize, @RequestParam(defaultValue = \"1\") Integer pageNum) {\n        List<PmsProductAttributeCategory> productAttributeCategoryList = productAttributeCategoryService.getList(pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(productAttributeCategoryList));\n    }\n\n    @ApiOperation(\"获取所有商品属性分类及其下属性\")\n    @RequestMapping(value = \"/list/withAttr\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProductAttributeCategoryItem>> getListWithAttr() {\n        List<PmsProductAttributeCategoryItem> productAttributeCategoryResultList = productAttributeCategoryService.getListWithAttr();\n        return CommonResult.success(productAttributeCategoryResultList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.PmsProductAttributeParam;\nimport com.macro.mall.dto.ProductAttrInfo;\nimport com.macro.mall.model.PmsProductAttribute;\nimport com.macro.mall.service.PmsProductAttributeService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiImplicitParam;\nimport io.swagger.annotations.ApiImplicitParams;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 商品属性管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"PmsProductAttributeController\")\n@Tag(name = \"PmsProductAttributeController\", description = \"商品属性管理\")\n@RequestMapping(\"/productAttribute\")\npublic class PmsProductAttributeController {\n    @Autowired\n    private PmsProductAttributeService productAttributeService;\n\n    @ApiOperation(\"根据分类ID查询属性列表或参数列表\")\n    @ApiImplicitParams({@ApiImplicitParam(name = \"type\", value = \"0表示属性，1表示参数\", required = true, paramType = \"query\", dataType = \"integer\")})\n    @RequestMapping(value = \"/list/{cid}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsProductAttribute>> getList(@PathVariable Long cid,\n                                                                 @RequestParam(value = \"type\") Integer type,\n                                                                 @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                                 @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<PmsProductAttribute> productAttributeList = productAttributeService.getList(cid, type, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(productAttributeList));\n    }\n\n    @ApiOperation(\"添加商品属性信息\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody PmsProductAttributeParam productAttributeParam) {\n        int count = productAttributeService.create(productAttributeParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"修改商品属性信息\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody PmsProductAttributeParam productAttributeParam) {\n        int count = productAttributeService.update(id, productAttributeParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据ID查询商品属性\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsProductAttribute> getItem(@PathVariable Long id) {\n        PmsProductAttribute productAttribute = productAttributeService.getItem(id);\n        return CommonResult.success(productAttribute);\n    }\n\n    @ApiOperation(\"批量删除商品属性\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = productAttributeService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据商品分类的ID获取商品属性及属性分类ID\")\n    @RequestMapping(value = \"/attrInfo/{productCategoryId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<ProductAttrInfo>> getAttrInfo(@PathVariable Long productCategoryId) {\n        List<ProductAttrInfo> productAttrInfoList = productAttributeService.getProductAttrInfo(productCategoryId);\n        return CommonResult.success(productAttrInfoList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.PmsProductCategoryParam;\nimport com.macro.mall.dto.PmsProductCategoryWithChildrenItem;\nimport com.macro.mall.model.PmsProductCategory;\nimport com.macro.mall.service.PmsProductCategoryService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 商品分类管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"PmsProductCategoryController\")\n@Tag(name = \"PmsProductCategoryController\", description = \"商品分类管理\")\n@RequestMapping(\"/productCategory\")\npublic class PmsProductCategoryController {\n    @Autowired\n    private PmsProductCategoryService productCategoryService;\n\n    @ApiOperation(\"添加商品分类\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@Validated @RequestBody PmsProductCategoryParam productCategoryParam) {\n        int count = productCategoryService.create(productCategoryParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"修改商品分类\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id,\n                         @Validated\n                         @RequestBody PmsProductCategoryParam productCategoryParam) {\n        int count = productCategoryService.update(id, productCategoryParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"分页查询商品分类\")\n    @RequestMapping(value = \"/list/{parentId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsProductCategory>> getList(@PathVariable Long parentId,\n                                                                @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                                @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<PmsProductCategory> productCategoryList = productCategoryService.getList(parentId, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(productCategoryList));\n    }\n\n    @ApiOperation(\"根据ID获取商品分类\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsProductCategory> getItem(@PathVariable Long id) {\n        PmsProductCategory productCategory = productCategoryService.getItem(id);\n        return CommonResult.success(productCategory);\n    }\n\n    @ApiOperation(\"根据ID删除商品分类\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = productCategoryService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"批量修改导航栏显示状态\")\n    @RequestMapping(value = \"/update/navStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateNavStatus(@RequestParam(\"ids\") List<Long> ids, @RequestParam(\"navStatus\") Integer navStatus) {\n        int count = productCategoryService.updateNavStatus(ids, navStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"批量修改显示状态\")\n    @RequestMapping(value = \"/update/showStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateShowStatus(@RequestParam(\"ids\") List<Long> ids, @RequestParam(\"showStatus\") Integer showStatus) {\n        int count = productCategoryService.updateShowStatus(ids, showStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"查询所有一级分类及子分类\")\n    @RequestMapping(value = \"/list/withChildren\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProductCategoryWithChildrenItem>> listWithChildren() {\n        List<PmsProductCategoryWithChildrenItem> list = productCategoryService.listWithChildren();\n        return CommonResult.success(list);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/PmsProductController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.PmsProductParam;\nimport com.macro.mall.dto.PmsProductQueryParam;\nimport com.macro.mall.dto.PmsProductResult;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.service.PmsProductService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 商品管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"PmsProductController\")\n@Tag(name = \"PmsProductController\", description = \"商品管理\")\n@RequestMapping(\"/product\")\npublic class PmsProductController {\n    @Autowired\n    private PmsProductService productService;\n\n    @ApiOperation(\"创建商品\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody PmsProductParam productParam) {\n        int count = productService.create(productParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据商品id获取商品编辑信息\")\n    @RequestMapping(value = \"/updateInfo/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsProductResult> getUpdateInfo(@PathVariable Long id) {\n        PmsProductResult productResult = productService.getUpdateInfo(id);\n        return CommonResult.success(productResult);\n    }\n\n    @ApiOperation(\"根据ID修改商品信息\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody PmsProductParam productParam) {\n        int count = productService.update(id, productParam);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"查询商品\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsProduct>> getList(PmsProductQueryParam productQueryParam,\n                                                        @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                        @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<PmsProduct> productList = productService.list(productQueryParam, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(productList));\n    }\n\n    @ApiOperation(\"根据商品名称或货号模糊查询\")\n    @RequestMapping(value = \"/simpleList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProduct>> getList(String keyword) {\n        List<PmsProduct> productList = productService.list(keyword);\n        return CommonResult.success(productList);\n    }\n\n    @ApiOperation(\"批量修改审核状态\")\n    @RequestMapping(value = \"/update/verifyStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateVerifyStatus(@RequestParam(\"ids\") List<Long> ids,\n                                           @RequestParam(\"verifyStatus\") Integer verifyStatus,\n                                           @RequestParam(\"detail\") String detail) {\n        int count = productService.updateVerifyStatus(ids, verifyStatus, detail);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"批量上下架商品\")\n    @RequestMapping(value = \"/update/publishStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updatePublishStatus(@RequestParam(\"ids\") List<Long> ids,\n                                            @RequestParam(\"publishStatus\") Integer publishStatus) {\n        int count = productService.updatePublishStatus(ids, publishStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"批量推荐商品\")\n    @RequestMapping(value = \"/update/recommendStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateRecommendStatus(@RequestParam(\"ids\") List<Long> ids,\n                                              @RequestParam(\"recommendStatus\") Integer recommendStatus) {\n        int count = productService.updateRecommendStatus(ids, recommendStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"批量设为新品\")\n    @RequestMapping(value = \"/update/newStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateNewStatus(@RequestParam(\"ids\") List<Long> ids,\n                                        @RequestParam(\"newStatus\") Integer newStatus) {\n        int count = productService.updateNewStatus(ids, newStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"批量修改删除状态\")\n    @RequestMapping(value = \"/update/deleteStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateDeleteStatus(@RequestParam(\"ids\") List<Long> ids,\n                                           @RequestParam(\"deleteStatus\") Integer deleteStatus) {\n        int count = productService.updateDeleteStatus(ids, deleteStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/PmsSkuStockController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.PmsSkuStock;\nimport com.macro.mall.service.PmsSkuStockService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 商品SKU库存管理Controller\n * Created by macro on 2018/4/27.\n */\n@Controller\n@Api(tags = \"PmsSkuStockController\")\n@Tag(name = \"PmsSkuStockController\", description = \"sku商品库存管理\")\n@RequestMapping(\"/sku\")\npublic class PmsSkuStockController {\n    @Autowired\n    private PmsSkuStockService skuStockService;\n\n    @ApiOperation(\"根据商品ID及sku编码模糊搜索sku库存\")\n    @RequestMapping(value = \"/{pid}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsSkuStock>> getList(@PathVariable Long pid, @RequestParam(value = \"keyword\",required = false) String keyword) {\n        List<PmsSkuStock> skuStockList = skuStockService.getList(pid, keyword);\n        return CommonResult.success(skuStockList);\n    }\n    @ApiOperation(\"根据商品ID批量更新sku库存信息\")\n    @RequestMapping(value =\"/update/{pid}\",method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long pid,@RequestBody List<PmsSkuStock> skuStockList){\n        int count = skuStockService.update(pid,skuStockList);\n        if(count>0){\n            return CommonResult.success(count);\n        }else{\n            return CommonResult.failed();\n        }\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsCouponController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.SmsCouponParam;\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.service.SmsCouponService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 优惠券管理Controller\n * Created by macro on 2018/8/28.\n */\n@Controller\n@Api(tags = \"SmsCouponController\")\n@Tag(name = \"SmsCouponController\", description = \"优惠券管理\")\n@RequestMapping(\"/coupon\")\npublic class SmsCouponController {\n    @Autowired\n    private SmsCouponService couponService;\n    @ApiOperation(\"添加优惠券\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult add(@RequestBody SmsCouponParam couponParam) {\n        int count = couponService.create(couponParam);\n        if(count>0){\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据ID删除优惠券\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = couponService.delete(id);\n        if(count>0){\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据ID修改优惠券\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id,@RequestBody SmsCouponParam couponParam) {\n        int count = couponService.update(id,couponParam);\n        if(count>0){\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据优惠券名称和类型分页获取优惠券列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsCoupon>> list(\n            @RequestParam(value = \"name\",required = false) String name,\n            @RequestParam(value = \"type\",required = false) Integer type,\n            @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n            @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsCoupon> couponList = couponService.list(name,type,pageSize,pageNum);\n        return CommonResult.success(CommonPage.restPage(couponList));\n    }\n\n    @ApiOperation(\"获取单个优惠券的详细信息\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<SmsCouponParam> getItem(@PathVariable Long id) {\n        SmsCouponParam couponParam = couponService.getItem(id);\n        return CommonResult.success(couponParam);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsCouponHistoryController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsCouponHistory;\nimport com.macro.mall.service.SmsCouponHistoryService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport java.util.List;\n\n/**\n * 优惠券领取记录管理Controller\n * Created by macro on 2018/11/6.\n */\n@Controller\n@Api(tags = \"SmsCouponHistoryController\")\n@Tag(name = \"SmsCouponHistoryController\", description = \"优惠券领取记录管理\")\n@RequestMapping(\"/couponHistory\")\npublic class SmsCouponHistoryController {\n    @Autowired\n    private SmsCouponHistoryService historyService;\n\n    @ApiOperation(\"根据优惠券id，使用状态，订单编号分页获取领取记录\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsCouponHistory>> list(@RequestParam(value = \"couponId\", required = false) Long couponId,\n                                                           @RequestParam(value = \"useStatus\", required = false) Integer useStatus,\n                                                           @RequestParam(value = \"orderSn\", required = false) String orderSn,\n                                                           @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                           @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsCouponHistory> historyList = historyService.list(couponId, useStatus, orderSn, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(historyList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsFlashPromotionController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsFlashPromotion;\nimport com.macro.mall.service.SmsFlashPromotionService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 限时购活动管理Controller\n * Created by macro on 2018/11/16.\n */\n@Controller\n@Api(tags = \"SmsFlashPromotionController\")\n@Tag(name = \"SmsFlashPromotionController\", description = \"限时购活动管理\")\n@RequestMapping(\"/flash\")\npublic class SmsFlashPromotionController {\n    @Autowired\n    private SmsFlashPromotionService flashPromotionService;\n\n    @ApiOperation(\"添加活动\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody SmsFlashPromotion flashPromotion) {\n        int count = flashPromotionService.create(flashPromotion);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"编辑活动\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody SmsFlashPromotion flashPromotion) {\n        int count = flashPromotionService.update(id, flashPromotion);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"删除活动\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = flashPromotionService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改活动上下线状态\")\n    @RequestMapping(value = \"/update/status/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, Integer status) {\n        int count = flashPromotionService.updateStatus(id, status);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取活动详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<SmsFlashPromotion> getItem(@PathVariable Long id) {\n        SmsFlashPromotion flashPromotion = flashPromotionService.getItem(id);\n        return CommonResult.success(flashPromotion);\n    }\n\n    @ApiOperation(\"根据活动名称分页查询活动\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsFlashPromotion>> getItem(@RequestParam(value = \"keyword\", required = false) String keyword,\n                          @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                          @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsFlashPromotion> flashPromotionList = flashPromotionService.list(keyword, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(flashPromotionList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsFlashPromotionProductRelationController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.SmsFlashPromotionProduct;\nimport com.macro.mall.model.SmsFlashPromotionProductRelation;\nimport com.macro.mall.service.SmsFlashPromotionProductRelationService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 限时购和商品关系管理Controller\n * Created by macro on 2018/11/16.\n */\n@Controller\n@Api(tags = \"SmsFlashPromotionProductRelationController\")\n@Tag(name = \"SmsFlashPromotionProductRelationController\", description = \"限时购和商品关系管理\")\n@RequestMapping(\"/flashProductRelation\")\npublic class SmsFlashPromotionProductRelationController {\n    @Autowired\n    private SmsFlashPromotionProductRelationService relationService;\n\n    @ApiOperation(\"批量选择商品添加关联\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody List<SmsFlashPromotionProductRelation> relationList) {\n        int count = relationService.create(relationList);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据ID修改关联信息\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody SmsFlashPromotionProductRelation relation) {\n        int count = relationService.update(id, relation);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据ID删除关联信息\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = relationService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取关联商品促销信息\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<SmsFlashPromotionProductRelation> getItem(@PathVariable Long id) {\n        SmsFlashPromotionProductRelation relation = relationService.getItem(id);\n        return CommonResult.success(relation);\n    }\n\n    @ApiOperation(\"分页查询不同场次关联及商品信息\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsFlashPromotionProduct>> list(@RequestParam(value = \"flashPromotionId\") Long flashPromotionId,\n                                                                   @RequestParam(value = \"flashPromotionSessionId\") Long flashPromotionSessionId,\n                                                                   @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                                   @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsFlashPromotionProduct> flashPromotionProductList = relationService.list(flashPromotionId, flashPromotionSessionId, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(flashPromotionProductList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsFlashPromotionSessionController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.SmsFlashPromotionSessionDetail;\nimport com.macro.mall.model.SmsFlashPromotionSession;\nimport com.macro.mall.service.SmsFlashPromotionSessionService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 限时购场次管理Controller\n * Created by macro on 2018/11/16.\n */\n@Controller\n@Api(tags = \"SmsFlashPromotionSessionController\")\n@Tag(name = \"SmsFlashPromotionSessionController\", description = \"限时购场次管理\")\n@RequestMapping(\"/flashSession\")\npublic class SmsFlashPromotionSessionController {\n    @Autowired\n    private SmsFlashPromotionSessionService flashPromotionSessionService;\n\n    @ApiOperation(\"添加场次\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody SmsFlashPromotionSession promotionSession) {\n        int count = flashPromotionSessionService.create(promotionSession);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改场次\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody SmsFlashPromotionSession promotionSession) {\n        int count = flashPromotionSessionService.update(id, promotionSession);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据ID修改场次启用状态\")\n    @RequestMapping(value = \"/update/status/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateStatus(@PathVariable Long id, Integer status) {\n        int count = flashPromotionSessionService.updateStatus(id, status);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"删除场次\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = flashPromotionSessionService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取场次详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<SmsFlashPromotionSession> getItem(@PathVariable Long id) {\n        SmsFlashPromotionSession promotionSession = flashPromotionSessionService.getItem(id);\n        return CommonResult.success(promotionSession);\n    }\n\n    @ApiOperation(\"获取全部场次\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<SmsFlashPromotionSession>> list() {\n        List<SmsFlashPromotionSession> promotionSessionList = flashPromotionSessionService.list();\n        return CommonResult.success(promotionSessionList);\n    }\n\n    @ApiOperation(\"获取全部可选场次及其数量\")\n    @RequestMapping(value = \"/selectList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<SmsFlashPromotionSessionDetail>> selectList(Long flashPromotionId) {\n        List<SmsFlashPromotionSessionDetail> promotionSessionList = flashPromotionSessionService.selectList(flashPromotionId);\n        return CommonResult.success(promotionSessionList);\n    }\n}"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsHomeAdvertiseController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsHomeAdvertise;\nimport com.macro.mall.service.SmsHomeAdvertiseService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页轮播广告管理Controller\n * Created by macro on 2018/11/7.\n */\n@Controller\n@Api(tags = \"SmsHomeAdvertiseController\")\n@Tag(name = \"SmsHomeAdvertiseController\", description = \"首页轮播广告管理\")\n@RequestMapping(\"/home/advertise\")\npublic class SmsHomeAdvertiseController {\n    @Autowired\n    private SmsHomeAdvertiseService advertiseService;\n\n    @ApiOperation(\"添加广告\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody SmsHomeAdvertise advertise) {\n        int count = advertiseService.create(advertise);\n        if (count > 0)\n            return CommonResult.success(count);\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除广告\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = advertiseService.delete(ids);\n        if (count > 0)\n            return CommonResult.success(count);\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改上下线状态\")\n    @RequestMapping(value = \"/update/status/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateStatus(@PathVariable Long id, Integer status) {\n        int count = advertiseService.updateStatus(id, status);\n        if (count > 0)\n            return CommonResult.success(count);\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据ID获取广告详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<SmsHomeAdvertise> getItem(@PathVariable Long id) {\n        SmsHomeAdvertise advertise = advertiseService.getItem(id);\n        return CommonResult.success(advertise);\n    }\n\n    @ApiOperation(\"根据ID修改广告\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody SmsHomeAdvertise advertise) {\n        int count = advertiseService.update(id, advertise);\n        if (count > 0)\n            return CommonResult.success(count);\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"分页查询首页广告\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsHomeAdvertise>> list(@RequestParam(value = \"name\", required = false) String name,\n                                                           @RequestParam(value = \"type\", required = false) Integer type,\n                                                           @RequestParam(value = \"endTime\", required = false) String endTime,\n                                                           @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                           @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsHomeAdvertise> advertiseList = advertiseService.list(name, type, endTime, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(advertiseList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsHomeBrandController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsHomeBrand;\nimport com.macro.mall.service.SmsHomeBrandService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页品牌管理Controller\n * Created by macro on 2018/11/6.\n */\n@Controller\n@Api(tags = \"SmsHomeBrandController\")\n@Tag(name = \"SmsHomeBrandController\", description = \"首页品牌管理\")\n@RequestMapping(\"/home/brand\")\npublic class SmsHomeBrandController {\n    @Autowired\n    private SmsHomeBrandService homeBrandService;\n\n    @ApiOperation(\"添加首页推荐品牌\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody List<SmsHomeBrand> homeBrandList) {\n        int count = homeBrandService.create(homeBrandList);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改推荐品牌排序\")\n    @RequestMapping(value = \"/update/sort/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateSort(@PathVariable Long id, Integer sort) {\n        int count = homeBrandService.updateSort(id, sort);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除推荐品牌\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = homeBrandService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量修改推荐品牌状态\")\n    @RequestMapping(value = \"/update/recommendStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateRecommendStatus(@RequestParam(\"ids\") List<Long> ids, @RequestParam Integer recommendStatus) {\n        int count = homeBrandService.updateRecommendStatus(ids, recommendStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"分页查询推荐品牌\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsHomeBrand>> list(@RequestParam(value = \"brandName\", required = false) String brandName,\n                                                       @RequestParam(value = \"recommendStatus\", required = false) Integer recommendStatus,\n                                                       @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                       @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsHomeBrand> homeBrandList = homeBrandService.list(brandName, recommendStatus, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(homeBrandList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsHomeNewProductController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsHomeNewProduct;\nimport com.macro.mall.service.SmsHomeNewProductService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页新品管理Controller\n * Created by macro on 2018/11/6.\n */\n@Controller\n@Api(tags = \"SmsHomeNewProductController\")\n@Tag(name = \"SmsHomeNewProductController\", description = \"首页新品管理\")\n@RequestMapping(\"/home/newProduct\")\npublic class SmsHomeNewProductController {\n    @Autowired\n    private SmsHomeNewProductService homeNewProductService;\n\n    @ApiOperation(\"批量添加首页新品\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody List<SmsHomeNewProduct> homeNewProductList) {\n        int count = homeNewProductService.create(homeNewProductList);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改首页新品排序\")\n    @RequestMapping(value = \"/update/sort/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateSort(@PathVariable Long id, Integer sort) {\n        int count = homeNewProductService.updateSort(id, sort);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除首页新品\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = homeNewProductService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量修改首页新品状态\")\n    @RequestMapping(value = \"/update/recommendStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateRecommendStatus(@RequestParam(\"ids\") List<Long> ids, @RequestParam Integer recommendStatus) {\n        int count = homeNewProductService.updateRecommendStatus(ids, recommendStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"分页查询首页新品\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsHomeNewProduct>> list(@RequestParam(value = \"productName\", required = false) String productName,\n                                                            @RequestParam(value = \"recommendStatus\", required = false) Integer recommendStatus,\n                                                            @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                            @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsHomeNewProduct> homeNewProductList = homeNewProductService.list(productName, recommendStatus, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(homeNewProductList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsHomeRecommendProductController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsHomeRecommendProduct;\nimport com.macro.mall.service.SmsHomeRecommendProductService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页人气推荐管理Controller\n * Created by macro on 2018/11/6.\n */\n@Controller\n@Api(tags = \"SmsHomeRecommendProductController\")\n@Tag(name = \"SmsHomeRecommendProductController\", description = \"首页人气推荐管理\")\n@RequestMapping(\"/home/recommendProduct\")\npublic class SmsHomeRecommendProductController {\n    @Autowired\n    private SmsHomeRecommendProductService recommendProductService;\n\n    @ApiOperation(\"添加首页推荐\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody List<SmsHomeRecommendProduct> homeRecommendProductList) {\n        int count = recommendProductService.create(homeRecommendProductList);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改推荐排序\")\n    @RequestMapping(value = \"/update/sort/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateSort(@PathVariable Long id, Integer sort) {\n        int count = recommendProductService.updateSort(id, sort);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除推荐\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = recommendProductService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量修改推荐状态\")\n    @RequestMapping(value = \"/update/recommendStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateRecommendStatus(@RequestParam(\"ids\") List<Long> ids, @RequestParam Integer recommendStatus) {\n        int count = recommendProductService.updateRecommendStatus(ids, recommendStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"分页查询推荐\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsHomeRecommendProduct>> list(@RequestParam(value = \"productName\", required = false) String productName,\n                                                                  @RequestParam(value = \"recommendStatus\", required = false) Integer recommendStatus,\n                                                                  @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                                  @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsHomeRecommendProduct> homeRecommendProductList = recommendProductService.list(productName, recommendStatus, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(homeRecommendProductList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/SmsHomeRecommendSubjectController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsHomeRecommendSubject;\nimport com.macro.mall.service.SmsHomeRecommendSubjectService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页专题推荐管理Controller\n * Created by macro on 2018/11/6.\n */\n@Controller\n@Api(tags = \"SmsHomeRecommendSubjectController\")\n@Tag(name = \"SmsHomeRecommendSubjectController\", description = \"首页专题推荐管理\")\n@RequestMapping(\"/home/recommendSubject\")\npublic class SmsHomeRecommendSubjectController {\n    @Autowired\n    private SmsHomeRecommendSubjectService recommendSubjectService;\n\n    @ApiOperation(\"批量添加首页专题推荐\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody List<SmsHomeRecommendSubject> homeRecommendSubjectList) {\n        int count = recommendSubjectService.create(homeRecommendSubjectList);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改专题推荐排序\")\n    @RequestMapping(value = \"/update/sort/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateSort(@PathVariable Long id, Integer sort) {\n        int count = recommendSubjectService.updateSort(id, sort);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除专题推荐\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = recommendSubjectService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量修改专题推荐状态\")\n    @RequestMapping(value = \"/update/recommendStatus\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateRecommendStatus(@RequestParam(\"ids\") List<Long> ids, @RequestParam Integer recommendStatus) {\n        int count = recommendSubjectService.updateRecommendStatus(ids, recommendStatus);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"分页查询专题推荐\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<SmsHomeRecommendSubject>> list(@RequestParam(value = \"subjectName\", required = false) String subjectName,\n                                                                  @RequestParam(value = \"recommendStatus\", required = false) Integer recommendStatus,\n                                                                  @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                                  @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<SmsHomeRecommendSubject> homeRecommendSubjectList = recommendSubjectService.list(subjectName, recommendStatus, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(homeRecommendSubjectList));\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java",
    "content": "package com.macro.mall.controller;\n\nimport cn.hutool.core.collection.CollUtil;\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.UmsAdminLoginParam;\nimport com.macro.mall.dto.UmsAdminParam;\nimport com.macro.mall.dto.UpdateAdminPasswordParam;\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsRole;\nimport com.macro.mall.service.UmsAdminService;\nimport com.macro.mall.service.UmsRoleService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport javax.servlet.http.HttpServletRequest;\nimport java.security.Principal;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Collectors;\n\n/**\n * 后台用户管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"UmsAdminController\")\n@Tag(name = \"UmsAdminController\", description = \"后台用户管理\")\n@RequestMapping(\"/admin\")\npublic class UmsAdminController {\n    @Value(\"${jwt.tokenHeader}\")\n    private String tokenHeader;\n    @Value(\"${jwt.tokenHead}\")\n    private String tokenHead;\n    @Autowired\n    private UmsAdminService adminService;\n    @Autowired\n    private UmsRoleService roleService;\n\n    @ApiOperation(value = \"用户注册\")\n    @RequestMapping(value = \"/register\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult<UmsAdmin> register(@Validated @RequestBody UmsAdminParam umsAdminParam) {\n        UmsAdmin umsAdmin = adminService.register(umsAdminParam);\n        if (umsAdmin == null) {\n            return CommonResult.failed();\n        }\n        return CommonResult.success(umsAdmin);\n    }\n\n    @ApiOperation(value = \"登录以后返回token\")\n    @RequestMapping(value = \"/login\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult login(@Validated @RequestBody UmsAdminLoginParam umsAdminLoginParam) {\n        String token = adminService.login(umsAdminLoginParam.getUsername(), umsAdminLoginParam.getPassword());\n        if (token == null) {\n            return CommonResult.validateFailed(\"用户名或密码错误\");\n        }\n        Map<String, String> tokenMap = new HashMap<>();\n        tokenMap.put(\"token\", token);\n        tokenMap.put(\"tokenHead\", tokenHead);\n        return CommonResult.success(tokenMap);\n    }\n\n    @ApiOperation(value = \"刷新token\")\n    @RequestMapping(value = \"/refreshToken\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult refreshToken(HttpServletRequest request) {\n        String token = request.getHeader(tokenHeader);\n        String refreshToken = adminService.refreshToken(token);\n        if (refreshToken == null) {\n            return CommonResult.failed(\"token已经过期！\");\n        }\n        Map<String, String> tokenMap = new HashMap<>();\n        tokenMap.put(\"token\", refreshToken);\n        tokenMap.put(\"tokenHead\", tokenHead);\n        return CommonResult.success(tokenMap);\n    }\n\n    @ApiOperation(value = \"获取当前登录用户信息\")\n    @RequestMapping(value = \"/info\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult getAdminInfo(Principal principal) {\n        if(principal==null){\n            return CommonResult.unauthorized(null);\n        }\n        String username = principal.getName();\n        UmsAdmin umsAdmin = adminService.getAdminByUsername(username);\n        Map<String, Object> data = new HashMap<>();\n        data.put(\"username\", umsAdmin.getUsername());\n        data.put(\"menus\", roleService.getMenuList(umsAdmin.getId()));\n        data.put(\"icon\", umsAdmin.getIcon());\n        List<UmsRole> roleList = adminService.getRoleList(umsAdmin.getId());\n        if(CollUtil.isNotEmpty(roleList)){\n            List<String> roles = roleList.stream().map(UmsRole::getName).collect(Collectors.toList());\n            data.put(\"roles\",roles);\n        }\n        return CommonResult.success(data);\n    }\n\n    @ApiOperation(value = \"登出功能\")\n    @RequestMapping(value = \"/logout\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult logout(Principal principal) {\n        adminService.logout(principal.getName());\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(\"根据用户名或姓名分页获取用户列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<UmsAdmin>> list(@RequestParam(value = \"keyword\", required = false) String keyword,\n                                                   @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                   @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<UmsAdmin> adminList = adminService.list(keyword, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(adminList));\n    }\n\n    @ApiOperation(\"获取指定用户信息\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<UmsAdmin> getItem(@PathVariable Long id) {\n        UmsAdmin admin = adminService.getItem(id);\n        return CommonResult.success(admin);\n    }\n\n    @ApiOperation(\"修改指定用户信息\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody UmsAdmin admin) {\n        int count = adminService.update(id, admin);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改指定用户密码\")\n    @RequestMapping(value = \"/updatePassword\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updatePassword(@Validated @RequestBody UpdateAdminPasswordParam updatePasswordParam) {\n        int status = adminService.updatePassword(updatePasswordParam);\n        if (status > 0) {\n            return CommonResult.success(status);\n        } else if (status == -1) {\n            return CommonResult.failed(\"提交参数不合法\");\n        } else if (status == -2) {\n            return CommonResult.failed(\"找不到该用户\");\n        } else if (status == -3) {\n            return CommonResult.failed(\"旧密码错误\");\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"删除指定用户信息\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = adminService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改帐号状态\")\n    @RequestMapping(value = \"/updateStatus/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateStatus(@PathVariable Long id,@RequestParam(value = \"status\") Integer status) {\n        UmsAdmin umsAdmin = new UmsAdmin();\n        umsAdmin.setStatus(status);\n        int count = adminService.update(id,umsAdmin);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"给用户分配角色\")\n    @RequestMapping(value = \"/role/update\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateRole(@RequestParam(\"adminId\") Long adminId,\n                                   @RequestParam(\"roleIds\") List<Long> roleIds) {\n        int count = adminService.updateRole(adminId, roleIds);\n        if (count >= 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取指定用户的角色\")\n    @RequestMapping(value = \"/role/{adminId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsRole>> getRoleList(@PathVariable Long adminId) {\n        List<UmsRole> roleList = adminService.getRoleList(adminId);\n        return CommonResult.success(roleList);\n    }\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/UmsMemberLevelController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.UmsMemberLevel;\nimport com.macro.mall.service.UmsMemberLevelService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport java.util.List;\n\n/**\n * 会员等级管理Controller\n * Created by macro on 2018/4/26.\n */\n@Controller\n@Api(tags = \"UmsMemberLevelController\")\n@Tag(name = \"UmsMemberLevelController\", description = \"会员等级管理\")\n@RequestMapping(\"/memberLevel\")\npublic class UmsMemberLevelController {\n    @Autowired\n    private UmsMemberLevelService memberLevelService;\n\n    @ApiOperation(\"查询所有会员等级\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsMemberLevel>> list(@RequestParam(\"defaultStatus\") Integer defaultStatus) {\n        List<UmsMemberLevel> memberLevelList = memberLevelService.list(defaultStatus);\n        return CommonResult.success(memberLevelList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/UmsMenuController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.dto.UmsMenuNode;\nimport com.macro.mall.model.UmsMenu;\nimport com.macro.mall.service.UmsMenuService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 后台菜单管理Controller\n * Created by macro on 2020/2/4.\n */\n@Controller\n@Api(tags = \"UmsMenuController\")\n@Tag(name = \"UmsMenuController\", description = \"后台菜单管理\")\n@RequestMapping(\"/menu\")\npublic class UmsMenuController {\n\n    @Autowired\n    private UmsMenuService menuService;\n\n    @ApiOperation(\"添加后台菜单\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody UmsMenu umsMenu) {\n        int count = menuService.create(umsMenu);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"修改后台菜单\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id,\n                               @RequestBody UmsMenu umsMenu) {\n        int count = menuService.update(id, umsMenu);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据ID获取菜单详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<UmsMenu> getItem(@PathVariable Long id) {\n        UmsMenu umsMenu = menuService.getItem(id);\n        return CommonResult.success(umsMenu);\n    }\n\n    @ApiOperation(\"根据ID删除后台菜单\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = menuService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据上级菜单ID分页查询菜单\")\n    @RequestMapping(value = \"/list/{parentId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<UmsMenu>> list(@PathVariable Long parentId,\n                                                  @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                  @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<UmsMenu> menuList = menuService.list(parentId, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(menuList));\n    }\n\n    @ApiOperation(\"树形结构返回所有菜单列表\")\n    @RequestMapping(value = \"/treeList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsMenuNode>> treeList() {\n        List<UmsMenuNode> list = menuService.treeList();\n        return CommonResult.success(list);\n    }\n\n    @ApiOperation(\"根据ID修改菜单显示状态\")\n    @RequestMapping(value = \"/updateHidden/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateHidden(@PathVariable Long id, @RequestParam(\"hidden\") Integer hidden) {\n        int count = menuService.updateHidden(id, hidden);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/UmsResourceCategoryController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.UmsResourceCategory;\nimport com.macro.mall.service.UmsResourceCategoryService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 后台资源分类管理Controller\n * Created by macro on 2020/2/5.\n */\n@Controller\n@Api(tags = \"UmsResourceCategoryController\")\n@Tag(name = \"UmsResourceCategoryController\", description = \"后台资源分类管理\")\n@RequestMapping(\"/resourceCategory\")\npublic class UmsResourceCategoryController {\n    @Autowired\n    private UmsResourceCategoryService resourceCategoryService;\n\n    @ApiOperation(\"查询所有后台资源分类\")\n    @RequestMapping(value = \"/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsResourceCategory>> listAll() {\n        List<UmsResourceCategory> resourceList = resourceCategoryService.listAll();\n        return CommonResult.success(resourceList);\n    }\n\n    @ApiOperation(\"添加后台资源分类\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody UmsResourceCategory umsResourceCategory) {\n        int count = resourceCategoryService.create(umsResourceCategory);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"修改后台资源分类\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id,\n                               @RequestBody UmsResourceCategory umsResourceCategory) {\n        int count = resourceCategoryService.update(id, umsResourceCategory);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据ID删除后台资源分类\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = resourceCategoryService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/UmsResourceController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.security.component.DynamicSecurityMetadataSource;\nimport com.macro.mall.service.UmsResourceService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 后台资源管理Controller\n * Created by macro on 2020/2/4.\n */\n@Controller\n@Api(tags = \"UmsResourceController\")\n@Tag(name = \"UmsResourceController\", description = \"后台资源管理\")\n@RequestMapping(\"/resource\")\npublic class UmsResourceController {\n\n    @Autowired\n    private UmsResourceService resourceService;\n    @Autowired\n    private DynamicSecurityMetadataSource dynamicSecurityMetadataSource;\n\n    @ApiOperation(\"添加后台资源\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody UmsResource umsResource) {\n        int count = resourceService.create(umsResource);\n        dynamicSecurityMetadataSource.clearDataSource();\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"修改后台资源\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id,\n                               @RequestBody UmsResource umsResource) {\n        int count = resourceService.update(id, umsResource);\n        dynamicSecurityMetadataSource.clearDataSource();\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"根据ID获取资源详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<UmsResource> getItem(@PathVariable Long id) {\n        UmsResource umsResource = resourceService.getItem(id);\n        return CommonResult.success(umsResource);\n    }\n\n    @ApiOperation(\"根据ID删除后台资源\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = resourceService.delete(id);\n        dynamicSecurityMetadataSource.clearDataSource();\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"分页模糊查询后台资源\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<UmsResource>> list(@RequestParam(required = false) Long categoryId,\n                                                      @RequestParam(required = false) String nameKeyword,\n                                                      @RequestParam(required = false) String urlKeyword,\n                                                      @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                      @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<UmsResource> resourceList = resourceService.list(categoryId,nameKeyword, urlKeyword, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(resourceList));\n    }\n\n    @ApiOperation(\"查询所有后台资源\")\n    @RequestMapping(value = \"/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsResource>> listAll() {\n        List<UmsResource> resourceList = resourceService.listAll();\n        return CommonResult.success(resourceList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/controller/UmsRoleController.java",
    "content": "package com.macro.mall.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.*;\nimport com.macro.mall.service.UmsRoleService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 后台用户角色管理Controller\n * Created by macro on 2018/9/30.\n */\n@Controller\n@Api(tags = \"UmsRoleController\")\n@Tag(name = \"UmsRoleController\", description = \"后台用户角色管理\")\n@RequestMapping(\"/role\")\npublic class UmsRoleController {\n    @Autowired\n    private UmsRoleService roleService;\n\n    @ApiOperation(\"添加角色\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody UmsRole role) {\n        int count = roleService.create(role);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改角色\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody UmsRole role) {\n        int count = roleService.update(id, role);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"批量删除角色\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = roleService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取所有角色\")\n    @RequestMapping(value = \"/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsRole>> listAll() {\n        List<UmsRole> roleList = roleService.list();\n        return CommonResult.success(roleList);\n    }\n\n    @ApiOperation(\"根据角色名称分页获取角色列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<UmsRole>> list(@RequestParam(value = \"keyword\", required = false) String keyword,\n                                                  @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize,\n                                                  @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<UmsRole> roleList = roleService.list(keyword, pageSize, pageNum);\n        return CommonResult.success(CommonPage.restPage(roleList));\n    }\n\n    @ApiOperation(\"修改角色状态\")\n    @RequestMapping(value = \"/updateStatus/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateStatus(@PathVariable Long id, @RequestParam(value = \"status\") Integer status) {\n        UmsRole umsRole = new UmsRole();\n        umsRole.setStatus(status);\n        int count = roleService.update(id, umsRole);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"根据角色ID获取菜单列表\")\n    @RequestMapping(value = \"/listMenu/{roleId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsMenu>> listMenu(@PathVariable Long roleId) {\n        List<UmsMenu> roleList = roleService.listMenu(roleId);\n        return CommonResult.success(roleList);\n    }\n\n    @ApiOperation(\"获取角色相关资源\")\n    @RequestMapping(value = \"/listResource/{roleId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsResource>> listResource(@PathVariable Long roleId) {\n        List<UmsResource> roleList = roleService.listResource(roleId);\n        return CommonResult.success(roleList);\n    }\n\n    @ApiOperation(\"给角色分配菜单\")\n    @RequestMapping(value = \"/allocMenu\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult allocMenu(@RequestParam Long roleId, @RequestParam List<Long> menuIds) {\n        int count = roleService.allocMenu(roleId, menuIds);\n        return CommonResult.success(count);\n    }\n\n    @ApiOperation(\"给角色分配资源\")\n    @RequestMapping(value = \"/allocResource\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult allocResource(@RequestParam Long roleId, @RequestParam List<Long> resourceIds) {\n        int count = roleService.allocResource(roleId, resourceIds);\n        return CommonResult.success(count);\n    }\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/CmsPrefrenceAreaProductRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.CmsPrefrenceAreaProductRelation;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 优选和商品关系自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface CmsPrefrenceAreaProductRelationDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<CmsPrefrenceAreaProductRelation> prefrenceAreaProductRelationList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/CmsSubjectProductRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.CmsSubjectProductRelation;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品和专题关系自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface CmsSubjectProductRelationDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<CmsSubjectProductRelation> subjectProductRelationList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/OmsOrderDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.OmsOrderDeliveryParam;\nimport com.macro.mall.dto.OmsOrderDetail;\nimport com.macro.mall.dto.OmsOrderQueryParam;\nimport com.macro.mall.model.OmsOrder;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 订单查询自定义Dao\n * Created by macro on 2018/10/12.\n */\npublic interface OmsOrderDao {\n    /**\n     * 条件查询订单\n     */\n    List<OmsOrder> getList(@Param(\"queryParam\") OmsOrderQueryParam queryParam);\n\n    /**\n     * 批量发货\n     */\n    int delivery(@Param(\"list\") List<OmsOrderDeliveryParam> deliveryParamList);\n\n    /**\n     * 获取订单详情\n     */\n    OmsOrderDetail getDetail(@Param(\"id\") Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/OmsOrderOperateHistoryDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.OmsOrderOperateHistory;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 订单操作记录自定义Dao\n * Created by macro on 2018/10/12.\n */\npublic interface OmsOrderOperateHistoryDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<OmsOrderOperateHistory> orderOperateHistoryList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/OmsOrderReturnApplyDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.OmsOrderReturnApplyResult;\nimport com.macro.mall.dto.OmsReturnApplyQueryParam;\nimport com.macro.mall.model.OmsOrderReturnApply;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 订单退货申请管理自定义Dao\n * Created by macro on 2018/10/18.\n */\npublic interface OmsOrderReturnApplyDao {\n    /**\n     * 查询申请列表\n     */\n    List<OmsOrderReturnApply> getList(@Param(\"queryParam\") OmsReturnApplyQueryParam queryParam);\n\n    /**\n     * 获取申请详情\n     */\n    OmsOrderReturnApplyResult getDetail(@Param(\"id\")Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsMemberPriceDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsMemberPrice;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 会员价格管理自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface PmsMemberPriceDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<PmsMemberPrice> memberPriceList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeCategoryDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.PmsProductAttributeCategoryItem;\n\nimport java.util.List;\n\n/**\n * 商品属性分类管理自定义Dao\n * Created by macro on 2018/5/24.\n */\npublic interface PmsProductAttributeCategoryDao {\n    /**\n     * 获取包含属性的商品属性分类\n     */\n    List<PmsProductAttributeCategoryItem> getListWithAttr();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.ProductAttrInfo;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品属性管理自定义Dao\n * Created by macro on 2018/5/23.\n */\npublic interface PmsProductAttributeDao {\n    /**\n     * 获取商品属性信息\n     */\n    List<ProductAttrInfo> getProductAttrInfo(@Param(\"id\") Long productCategoryId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeValueDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsProductAttributeValue;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品属性值管理自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductAttributeValueDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\")List<PmsProductAttributeValue> productAttributeValueList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductCategoryAttributeRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsProductCategoryAttributeRelation;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品分类和属性关系自定义Dao\n * Created by macro on 2018/5/23.\n */\npublic interface PmsProductCategoryAttributeRelationDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<PmsProductCategoryAttributeRelation> productCategoryAttributeRelationList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductCategoryDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.PmsProductCategoryWithChildrenItem;\n\nimport java.util.List;\n\n/**\n * 商品分类自定义Dao\n * Created by macro on 2018/5/25.\n */\npublic interface PmsProductCategoryDao {\n    /**\n     * 获取商品分类及其子分类\n     */\n    List<PmsProductCategoryWithChildrenItem> listWithChildren();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.PmsProductResult;\nimport org.apache.ibatis.annotations.Param;\n\n\n/**\n * 商品管理自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductDao {\n    /**\n     * 获取商品编辑信息\n     */\n    PmsProductResult getUpdateInfo(@Param(\"id\") Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductFullReductionDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsProductFullReduction;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品满减自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductFullReductionDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<PmsProductFullReduction> productFullReductionList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductLadderDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsProductLadder;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 会员阶梯价格自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductLadderDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<PmsProductLadder> productLadderList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsProductVertifyRecordDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsProductVertifyRecord;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品审核日志管理自定义Dao\n * Created by macro on 2018/4/27.\n */\npublic interface PmsProductVertifyRecordDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\") List<PmsProductVertifyRecord> list);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/PmsSkuStockDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.PmsSkuStock;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 商品SKU管理自定义Dao\n * Created by macro on 2018/4/26.\n */\npublic interface PmsSkuStockDao {\n    /**\n     * 批量插入操作\n     */\n    int insertList(@Param(\"list\")List<PmsSkuStock> skuStockList);\n\n    /**\n     * 批量插入或替换操作\n     */\n    int replaceList(@Param(\"list\")List<PmsSkuStock> skuStockList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/SmsCouponDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.SmsCouponParam;\nimport org.apache.ibatis.annotations.Param;\n\n/**\n * 优惠券管理自定义Dao\n * Created by macro on 2018/8/29.\n */\npublic interface SmsCouponDao {\n    /**\n     * 获取优惠券详情包括绑定关系\n     */\n    SmsCouponParam getItem(@Param(\"id\") Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/SmsCouponProductCategoryRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.SmsCouponProductCategoryRelation;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 优惠券和商品分类关系管理自定义Dao\n * Created by macro on 2018/8/28.\n */\npublic interface SmsCouponProductCategoryRelationDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\")List<SmsCouponProductCategoryRelation> productCategoryRelationList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/SmsCouponProductRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.SmsCouponProductRelation;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 优惠券和商品关系自定义Dao\n * Created by macro on 2018/8/28.\n */\npublic interface SmsCouponProductRelationDao {\n    /**\n     * 批量创建\n     */\n    int insertList(@Param(\"list\")List<SmsCouponProductRelation> productRelationList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/SmsFlashPromotionProductRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.dto.SmsFlashPromotionProduct;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 限时购商品关系管理自定义Dao\n * Created by macro on 2018/11/16.\n */\npublic interface SmsFlashPromotionProductRelationDao {\n    /**\n     * 获取限时购及相关商品信息\n     */\n    List<SmsFlashPromotionProduct> getList(@Param(\"flashPromotionId\") Long flashPromotionId, @Param(\"flashPromotionSessionId\") Long flashPromotionSessionId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/UmsAdminRoleRelationDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.UmsAdminRoleRelation;\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.model.UmsRole;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 后台用户与角色关系管理自定义Dao\n * Created by macro on 2018/10/8.\n */\npublic interface UmsAdminRoleRelationDao {\n    /**\n     * 批量插入用户角色关系\n     */\n    int insertList(@Param(\"list\") List<UmsAdminRoleRelation> adminRoleRelationList);\n\n    /**\n     * 获取用于所有角色\n     */\n    List<UmsRole> getRoleList(@Param(\"adminId\") Long adminId);\n\n    /**\n     * 获取用户所有可访问资源\n     */\n    List<UmsResource> getResourceList(@Param(\"adminId\") Long adminId);\n\n    /**\n     * 获取资源相关用户ID列表\n     */\n    List<Long> getAdminIdList(@Param(\"resourceId\") Long resourceId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dao/UmsRoleDao.java",
    "content": "package com.macro.mall.dao;\n\nimport com.macro.mall.model.UmsMenu;\nimport com.macro.mall.model.UmsResource;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 后台角色管理自定义Dao\n * Created by macro on 2020/2/2.\n */\npublic interface UmsRoleDao {\n    /**\n     * 根据后台用户ID获取菜单\n     */\n    List<UmsMenu> getMenuList(@Param(\"adminId\") Long adminId);\n    /**\n     * 根据角色ID获取菜单\n     */\n    List<UmsMenu> getMenuListByRoleId(@Param(\"roleId\") Long roleId);\n    /**\n     * 根据角色ID获取资源\n     */\n    List<UmsResource> getResourceListByRoleId(@Param(\"roleId\") Long roleId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/BucketPolicyConfigDto.java",
    "content": "package com.macro.mall.dto;\n\nimport lombok.Builder;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport java.util.List;\n\n/**\n * Minio Bucket访问策略配置\n * Created by macro on 2020/8/11.\n */\n@Data\n@EqualsAndHashCode\n@Builder\npublic class BucketPolicyConfigDto {\n\n    private String Version;\n    private List<Statement> Statement;\n\n    @Data\n    @EqualsAndHashCode\n    @Builder\n    public static class Statement {\n        private String Effect;\n        private String Principal;\n        private String Action;\n        private String Resource;\n\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/MinioUploadDto.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * 文件上传返回结果\n * Created by macro on 2019/12/25.\n */\n@Data\n@EqualsAndHashCode\npublic class MinioUploadDto {\n    @ApiModelProperty(\"文件访问URL\")\n    private String url;\n    @ApiModelProperty(\"文件名称\")\n    private String name;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsMoneyInfoParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.math.BigDecimal;\n\n/**\n * 修改订单费用信息参数\n * Created by macro on 2018/10/29.\n */\n@Getter\n@Setter\npublic class OmsMoneyInfoParam {\n    @ApiModelProperty(\"订单ID\")\n    private Long orderId;\n    @ApiModelProperty(\"运费金额\")\n    private BigDecimal freightAmount;\n    @ApiModelProperty(\"管理员后台调整订单所使用的折扣金额\")\n    private BigDecimal discountAmount;\n    @ApiModelProperty(\"订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单\")\n    private Integer status;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsOrderDeliveryParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 订单发货参数\n * Created by macro on 2018/10/12.\n */\n@Getter\n@Setter\npublic class OmsOrderDeliveryParam {\n    @ApiModelProperty(\"订单id\")\n    private Long orderId;\n    @ApiModelProperty(\"物流公司\")\n    private String deliveryCompany;\n    @ApiModelProperty(\"物流单号\")\n    private String deliverySn;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsOrderDetail.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.OmsOrder;\nimport com.macro.mall.model.OmsOrderItem;\nimport com.macro.mall.model.OmsOrderOperateHistory;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 订单详情信息\n * Created by macro on 2018/10/11.\n */\npublic class OmsOrderDetail extends OmsOrder {\n    @Getter\n    @Setter\n    @ApiModelProperty(\"订单商品列表\")\n    private List<OmsOrderItem> orderItemList;\n    @Getter\n    @Setter\n    @ApiModelProperty(\"订单操作记录列表\")\n    private List<OmsOrderOperateHistory> historyList;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsOrderQueryParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 订单查询参数\n * Created by macro on 2018/10/11.\n */\n@Getter\n@Setter\npublic class OmsOrderQueryParam {\n    @ApiModelProperty(value = \"订单编号\")\n    private String orderSn;\n    @ApiModelProperty(value = \"收货人姓名/号码\")\n    private String receiverKeyword;\n    @ApiModelProperty(value = \"订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单\")\n    private Integer status;\n    @ApiModelProperty(value = \"订单类型：0->正常订单；1->秒杀订单\")\n    private Integer orderType;\n    @ApiModelProperty(value = \"订单来源：0->PC订单；1->app订单\")\n    private Integer sourceType;\n    @ApiModelProperty(value = \"订单提交时间\")\n    private String createTime;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsOrderReturnApplyResult.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.OmsCompanyAddress;\nimport com.macro.mall.model.OmsOrderReturnApply;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 订单退货申请结果封装\n * Created by macro on 2018/10/18.\n */\npublic class OmsOrderReturnApplyResult extends OmsOrderReturnApply {\n    @Getter\n    @Setter\n    @ApiModelProperty(value = \"公司收货地址\")\n    private OmsCompanyAddress companyAddress;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsReceiverInfoParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 订单修改收货人信息参数\n * Created by macro on 2018/10/29.\n */\n@Getter\n@Setter\npublic class OmsReceiverInfoParam {\n    @ApiModelProperty(value = \"订单ID\")\n    private Long orderId;\n    @ApiModelProperty(value = \"收货人姓名\")\n    private String receiverName;\n    @ApiModelProperty(value = \"收货人电话\")\n    private String receiverPhone;\n    @ApiModelProperty(value = \"收货人邮编\")\n    private String receiverPostCode;\n    @ApiModelProperty(value = \"详细地址\")\n    private String receiverDetailAddress;\n    @ApiModelProperty(value = \"省份/直辖市\")\n    private String receiverProvince;\n    @ApiModelProperty(value = \"城市\")\n    private String receiverCity;\n    @ApiModelProperty(value = \"区\")\n    private String receiverRegion;\n    @ApiModelProperty(value = \"订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单\")\n    private Integer status;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsReturnApplyQueryParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 订单退货申请查询参数\n * Created by macro on 2018/10/18.\n */\n@Getter\n@Setter\npublic class OmsReturnApplyQueryParam {\n    @ApiModelProperty(\"服务单号\")\n    private Long id;\n    @ApiModelProperty(value = \"收货人姓名/号码\")\n    private String receiverKeyword;\n    @ApiModelProperty(value = \"申请状态：0->待处理；1->退货中；2->已完成；3->已拒绝\")\n    private Integer status;\n    @ApiModelProperty(value = \"申请时间\")\n    private String createTime;\n    @ApiModelProperty(value = \"处理人员\")\n    private String handleMan;\n    @ApiModelProperty(value = \"处理时间\")\n    private String handleTime;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OmsUpdateStatusParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.math.BigDecimal;\n\n/**\n * 确认收货请求参数\n * Created by macro on 2018/10/18.\n */\n@Getter\n@Setter\npublic class OmsUpdateStatusParam {\n    @ApiModelProperty(\"服务单号\")\n    private Long id;\n    @ApiModelProperty(\"收货地址关联id\")\n    private Long companyAddressId;\n    @ApiModelProperty(\"确认退款金额\")\n    private BigDecimal returnAmount;\n    @ApiModelProperty(\"处理备注\")\n    private String handleNote;\n    @ApiModelProperty(\"处理人\")\n    private String handleMan;\n    @ApiModelProperty(\"收货备注\")\n    private String receiveNote;\n    @ApiModelProperty(\"收货人\")\n    private String receiveMan;\n    @ApiModelProperty(\"申请状态：1->退货中；2->已完成；3->已拒绝\")\n    private Integer status;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OssCallbackParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * OSS上传成功后的回调参数\n * Created by macro on 2018/5/17.\n */\n@Data\n@EqualsAndHashCode\npublic class OssCallbackParam {\n    @ApiModelProperty(\"请求的回调地址\")\n    private String callbackUrl;\n    @ApiModelProperty(\"回调是传入request中的参数\")\n    private String callbackBody;\n    @ApiModelProperty(\"回调时传入参数的格式，比如表单提交形式\")\n    private String callbackBodyType;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OssCallbackResult.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * OSS上传文件的回调结果\n * Created by macro on 2018/5/17.\n */\n@Data\n@EqualsAndHashCode\npublic class OssCallbackResult {\n    @ApiModelProperty(\"文件名称\")\n    private String filename;\n    @ApiModelProperty(\"文件大小\")\n    private String size;\n    @ApiModelProperty(\"文件的mimeType\")\n    private String mimeType;\n    @ApiModelProperty(\"图片文件的宽\")\n    private String width;\n    @ApiModelProperty(\"图片文件的高\")\n    private String height;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/OssPolicyResult.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * 获取OSS上传文件授权返回结果\n * Created by macro on 2018/5/17.\n */\n@Data\n@EqualsAndHashCode\npublic class OssPolicyResult {\n    @ApiModelProperty(\"访问身份验证中用到用户标识\")\n    private String accessKeyId;\n    @ApiModelProperty(\"用户表单上传的策略,经过base64编码过的字符串\")\n    private String policy;\n    @ApiModelProperty(\"对policy签名后的字符串\")\n    private String signature;\n    @ApiModelProperty(\"上传文件夹路径前缀\")\n    private String dir;\n    @ApiModelProperty(\"oss对外服务的访问域名\")\n    private String host;\n    @ApiModelProperty(\"上传成功后的回调设置\")\n    private String callback;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsBrandParam.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.validator.FlagValidator;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport javax.validation.constraints.Min;\nimport javax.validation.constraints.NotEmpty;\n\n/**\n * 品牌请求参数\n * Created by macro on 2018/4/26.\n */\n@Data\n@EqualsAndHashCode\npublic class PmsBrandParam {\n    @NotEmpty\n    @ApiModelProperty(value = \"品牌名称\",required = true)\n    private String name;\n    @ApiModelProperty(value = \"品牌首字母\")\n    private String firstLetter;\n    @Min(value = 0)\n    @ApiModelProperty(value = \"排序字段\")\n    private Integer sort;\n    @FlagValidator(value = {\"0\",\"1\"}, message = \"厂家状态不正确\")\n    @ApiModelProperty(value = \"是否为厂家制造商\")\n    private Integer factoryStatus;\n    @FlagValidator(value = {\"0\",\"1\"}, message = \"显示状态不正确\")\n    @ApiModelProperty(value = \"是否进行显示\")\n    private Integer showStatus;\n    @NotEmpty\n    @ApiModelProperty(value = \"品牌logo\",required = true)\n    private String logo;\n    @ApiModelProperty(value = \"品牌大图\")\n    private String bigPic;\n    @ApiModelProperty(value = \"品牌故事\")\n    private String brandStory;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductAttributeCategoryItem.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.PmsProductAttribute;\nimport com.macro.mall.model.PmsProductAttributeCategory;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 带有属性的商品属性分类\n * Created by macro on 2018/5/24.\n */\npublic class PmsProductAttributeCategoryItem extends PmsProductAttributeCategory {\n    @Getter\n    @Setter\n    @ApiModelProperty(value = \"商品属性列表\")\n    private List<PmsProductAttribute> productAttributeList;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductAttributeParam.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.validator.FlagValidator;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport javax.validation.constraints.NotEmpty;\n\n/**\n * 商品属性参数\n * Created by macro on 2018/4/26.\n */\n@Data\n@EqualsAndHashCode\npublic class PmsProductAttributeParam {\n    @NotEmpty\n    @ApiModelProperty(\"属性分类ID\")\n    private Long productAttributeCategoryId;\n    @NotEmpty\n    @ApiModelProperty(\"属性名称\")\n    private String name;\n    @FlagValidator({\"0\",\"1\",\"2\"})\n    @ApiModelProperty(\"属性选择类型：0->唯一；1->单选；2->多选\")\n    private Integer selectType;\n    @FlagValidator({\"0\",\"1\"})\n    @ApiModelProperty(\"属性录入方式：0->手工录入；1->从列表中选取\")\n    private Integer inputType;\n    @ApiModelProperty(\"可选值列表，以逗号隔开\")\n    private String inputList;\n    private Integer sort;\n    @ApiModelProperty(\"分类筛选样式：0->普通；1->颜色\")\n    @FlagValidator({\"0\",\"1\"})\n    private Integer filterType;\n    @ApiModelProperty(\"检索类型；0->不需要进行检索；1->关键字检索；2->范围检索\")\n    @FlagValidator({\"0\",\"1\",\"2\"})\n    private Integer searchType;\n    @ApiModelProperty(\"相同属性商品是否关联；0->不关联；1->关联\")\n    @FlagValidator({\"0\",\"1\"})\n    private Integer relatedStatus;\n    @ApiModelProperty(\"是否支持手动新增；0->不支持；1->支持\")\n    @FlagValidator({\"0\",\"1\"})\n    private Integer handAddStatus;\n    @ApiModelProperty(\"属性的类型；0->规格；1->参数\")\n    @FlagValidator({\"0\",\"1\"})\n    private Integer type;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductCategoryParam.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.validator.FlagValidator;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport javax.validation.constraints.Min;\nimport javax.validation.constraints.NotEmpty;\nimport java.util.List;\n\n/**\n * 添加更新商品分类的参数\n * Created by macro on 2018/4/26.\n */\n@Data\n@EqualsAndHashCode\npublic class PmsProductCategoryParam {\n    @ApiModelProperty(\"父分类的编号\")\n    private Long parentId;\n    @NotEmpty\n    @ApiModelProperty(value = \"商品分类名称\",required = true)\n    private String name;\n    @ApiModelProperty(\"分类单位\")\n    private String productUnit;\n    @FlagValidator(value = {\"0\",\"1\"},message = \"状态只能为0或1\")\n    @ApiModelProperty(\"是否在导航栏显示\")\n    private Integer navStatus;\n    @FlagValidator(value = {\"0\",\"1\"},message = \"状态只能为0或1\")\n    @ApiModelProperty(\"是否进行显示\")\n    private Integer showStatus;\n    @Min(value = 0)\n    @ApiModelProperty(\"排序\")\n    private Integer sort;\n    @ApiModelProperty(\"图标\")\n    private String icon;\n    @ApiModelProperty(\"关键字\")\n    private String keywords;\n    @ApiModelProperty(\"描述\")\n    private String description;\n    @ApiModelProperty(\"商品相关筛选属性集合\")\n    private List<Long> productAttributeIdList;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductCategoryWithChildrenItem.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.PmsProductCategory;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 包含子级分类的商品分类\n * Created by macro on 2018/5/25.\n */\npublic class PmsProductCategoryWithChildrenItem extends PmsProductCategory {\n    @Getter\n    @Setter\n    @ApiModelProperty(\"子级分类\")\n    private List<PmsProductCategory> children;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductParam.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.*;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport java.util.List;\n\n/**\n * 创建和修改商品的请求参数\n * Created by macro on 2018/4/26.\n */\n@Data\n@EqualsAndHashCode\npublic class PmsProductParam extends PmsProduct{\n    @ApiModelProperty(\"商品阶梯价格设置\")\n    private List<PmsProductLadder> productLadderList;\n    @ApiModelProperty(\"商品满减价格设置\")\n    private List<PmsProductFullReduction> productFullReductionList;\n    @ApiModelProperty(\"商品会员价格设置\")\n    private List<PmsMemberPrice> memberPriceList;\n    @ApiModelProperty(\"商品的sku库存信息\")\n    private List<PmsSkuStock> skuStockList;\n    @ApiModelProperty(\"商品参数及自定义规格属性\")\n    private List<PmsProductAttributeValue> productAttributeValueList;\n    @ApiModelProperty(\"专题和商品关系\")\n    private List<CmsSubjectProductRelation> subjectProductRelationList;\n    @ApiModelProperty(\"优选专区和商品的关系\")\n    private List<CmsPrefrenceAreaProductRelation> prefrenceAreaProductRelationList;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductQueryParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * 商品查询参数\n * Created by macro on 2018/4/27.\n */\n@Data\n@EqualsAndHashCode\npublic class PmsProductQueryParam {\n    @ApiModelProperty(\"上架状态\")\n    private Integer publishStatus;\n    @ApiModelProperty(\"审核状态\")\n    private Integer verifyStatus;\n    @ApiModelProperty(\"商品名称模糊关键字\")\n    private String keyword;\n    @ApiModelProperty(\"商品货号\")\n    private String productSn;\n    @ApiModelProperty(\"商品分类编号\")\n    private Long productCategoryId;\n    @ApiModelProperty(\"商品品牌编号\")\n    private Long brandId;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/PmsProductResult.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 查询单个商品修改后返回的结果\n * Created by macro on 2018/4/26.\n */\npublic class PmsProductResult extends PmsProductParam {\n    @Getter\n    @Setter\n    @ApiModelProperty(\"商品所选分类的父id\")\n    private Long cateParentId;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/ProductAttrInfo.java",
    "content": "package com.macro.mall.dto;\n\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * 商品分类对应属性信息\n * Created by macro on 2018/5/23.\n */\n@Data\n@EqualsAndHashCode\npublic class ProductAttrInfo {\n    @ApiModelProperty(\"商品属性ID\")\n    private Long attributeId;\n    @ApiModelProperty(\"商品属性分类ID\")\n    private Long attributeCategoryId;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/SmsCouponParam.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.model.SmsCouponProductCategoryRelation;\nimport com.macro.mall.model.SmsCouponProductRelation;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 优惠券信息封装，包括绑定商品和分类\n * Created by macro on 2018/8/28.\n */\npublic class SmsCouponParam extends SmsCoupon {\n    @Getter\n    @Setter\n    @ApiModelProperty(\"优惠券绑定的商品\")\n    private List<SmsCouponProductRelation> productRelationList;\n    @Getter\n    @Setter\n    @ApiModelProperty(\"优惠券绑定的商品分类\")\n    private List<SmsCouponProductCategoryRelation> productCategoryRelationList;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/SmsFlashPromotionProduct.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.SmsFlashPromotionProductRelation;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 限时购商品信息封装\n * Created by macro on 2018/11/16.\n */\npublic class SmsFlashPromotionProduct extends SmsFlashPromotionProductRelation{\n    @Getter\n    @Setter\n    @ApiModelProperty(\"关联商品\")\n    private PmsProduct product;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/SmsFlashPromotionSessionDetail.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.SmsFlashPromotionSession;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * 包含商品数量的场次信息\n * Created by macro on 2018/11/19.\n */\npublic class SmsFlashPromotionSessionDetail extends SmsFlashPromotionSession {\n    @Setter\n    @Getter\n    @ApiModelProperty(\"商品数量\")\n    private Long productCount;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/UmsAdminLoginParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport javax.validation.constraints.NotEmpty;\n\n/**\n * 用户登录参数\n * Created by macro on 2018/4/26.\n */\n@Data\n@EqualsAndHashCode\npublic class UmsAdminLoginParam {\n    @NotEmpty\n    @ApiModelProperty(value = \"用户名\",required = true)\n    private String username;\n    @NotEmpty\n    @ApiModelProperty(value = \"密码\",required = true)\n    private String password;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/UmsAdminParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport javax.validation.constraints.Email;\nimport javax.validation.constraints.NotEmpty;\n\n/**\n * 用户注册参数\n * Created by macro on 2018/4/26.\n */\n@Getter\n@Setter\npublic class UmsAdminParam {\n    @NotEmpty\n    @ApiModelProperty(value = \"用户名\", required = true)\n    private String username;\n    @NotEmpty\n    @ApiModelProperty(value = \"密码\", required = true)\n    private String password;\n    @ApiModelProperty(value = \"用户头像\")\n    private String icon;\n    @Email\n    @ApiModelProperty(value = \"邮箱\")\n    private String email;\n    @ApiModelProperty(value = \"用户昵称\")\n    private String nickName;\n    @ApiModelProperty(value = \"备注\")\n    private String note;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/UmsMenuNode.java",
    "content": "package com.macro.mall.dto;\n\nimport com.macro.mall.model.UmsMenu;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 后台菜单节点封装\n * Created by macro on 2020/2/4.\n */\n@Getter\n@Setter\npublic class UmsMenuNode extends UmsMenu {\n    @ApiModelProperty(value = \"子级菜单\")\n    private List<UmsMenuNode> children;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/dto/UpdateAdminPasswordParam.java",
    "content": "package com.macro.mall.dto;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport javax.validation.constraints.NotEmpty;\n\n/**\n * 修改用户名密码参数\n * Created by macro on 2019/10/9.\n */\n@Getter\n@Setter\npublic class UpdateAdminPasswordParam {\n    @NotEmpty\n    @ApiModelProperty(value = \"用户名\", required = true)\n    private String username;\n    @NotEmpty\n    @ApiModelProperty(value = \"旧密码\", required = true)\n    private String oldPassword;\n    @NotEmpty\n    @ApiModelProperty(value = \"新密码\", required = true)\n    private String newPassword;\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/CmsPrefrenceAreaService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.CmsPrefrenceArea;\n\nimport java.util.List;\n\n/**\n * 优选专区管理Service\n * Created by macro on 2018/6/1.\n */\npublic interface CmsPrefrenceAreaService {\n    /**\n     * 获取所有优选专区\n     */\n    List<CmsPrefrenceArea> listAll();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/CmsSubjectService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.CmsSubject;\n\nimport java.util.List;\n\n/**\n * 商品专题管理Service\n * Created by macro on 2018/6/1.\n */\npublic interface CmsSubjectService {\n    /**\n     * 查询所有专题\n     */\n    List<CmsSubject> listAll();\n\n    /**\n     * 分页查询专题\n     */\n    List<CmsSubject> list(String keyword, Integer pageNum, Integer pageSize);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/OmsCompanyAddressService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.OmsCompanyAddress;\n\nimport java.util.List;\n\n/**\n * 收货地址管理Service\n * Created by macro on 2018/10/18.\n */\npublic interface OmsCompanyAddressService {\n    /**\n     * 获取全部收货地址\n     */\n    List<OmsCompanyAddress> list();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/OmsOrderReturnApplyService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.OmsOrderReturnApplyResult;\nimport com.macro.mall.dto.OmsReturnApplyQueryParam;\nimport com.macro.mall.dto.OmsUpdateStatusParam;\nimport com.macro.mall.model.OmsOrderReturnApply;\n\nimport java.util.List;\n\n/**\n * 退货申请管理Service\n * Created by macro on 2018/10/18.\n */\npublic interface OmsOrderReturnApplyService {\n    /**\n     * 分页查询申请\n     */\n    List<OmsOrderReturnApply> list(OmsReturnApplyQueryParam queryParam, Integer pageSize, Integer pageNum);\n\n    /**\n     * 批量删除申请\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 修改指定申请状态\n     */\n    int updateStatus(Long id, OmsUpdateStatusParam statusParam);\n\n    /**\n     * 获取指定申请详情\n     */\n    OmsOrderReturnApplyResult getItem(Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/OmsOrderReturnReasonService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.OmsOrderReturnReason;\n\nimport java.util.List;\n\n/**\n * 退货原因管理Service\n * Created by macro on 2018/10/17.\n */\npublic interface OmsOrderReturnReasonService {\n    /**\n     * 添加退货原因\n     */\n    int create(OmsOrderReturnReason returnReason);\n\n    /**\n     * 修改退货原因\n     */\n    int update(Long id, OmsOrderReturnReason returnReason);\n\n    /**\n     * 批量删除退货原因\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 分页获取退货原因\n     */\n    List<OmsOrderReturnReason> list(Integer pageSize, Integer pageNum);\n\n    /**\n     * 批量修改退货原因状态\n     */\n    int updateStatus(List<Long> ids, Integer status);\n\n    /**\n     * 获取单个退货原因详情信息\n     */\n    OmsOrderReturnReason getItem(Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/OmsOrderService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.*;\nimport com.macro.mall.model.OmsOrder;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 订单管理Service\n * Created by macro on 2018/10/11.\n */\npublic interface OmsOrderService {\n    /**\n     * 分页查询订单\n     */\n    List<OmsOrder> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum);\n\n    /**\n     * 批量发货\n     */\n    @Transactional\n    int delivery(List<OmsOrderDeliveryParam> deliveryParamList);\n\n    /**\n     * 批量关闭订单\n     */\n    @Transactional\n    int close(List<Long> ids, String note);\n\n    /**\n     * 批量删除订单\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 获取指定订单详情\n     */\n    OmsOrderDetail detail(Long id);\n\n    /**\n     * 修改订单收货人信息\n     */\n    @Transactional\n    int updateReceiverInfo(OmsReceiverInfoParam receiverInfoParam);\n\n    /**\n     * 修改订单费用信息\n     */\n    @Transactional\n    int updateMoneyInfo(OmsMoneyInfoParam moneyInfoParam);\n\n    /**\n     * 修改订单备注\n     */\n    @Transactional\n    int updateNote(Long id, String note, Integer status);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/OmsOrderSettingService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.OmsOrderSetting;\n\n/**\n * 订单设置管理Service\n * Created by macro on 2018/10/16.\n */\npublic interface OmsOrderSettingService {\n    /**\n     * 获取指定订单设置\n     */\n    OmsOrderSetting getItem(Long id);\n\n    /**\n     * 修改指定订单设置\n     */\n    int update(Long id, OmsOrderSetting orderSetting);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/OssService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.OssCallbackResult;\nimport com.macro.mall.dto.OssPolicyResult;\n\nimport javax.servlet.http.HttpServletRequest;\n\n/**\n * Oss对象存储管理Service\n * Created by macro on 2018/5/17.\n */\npublic interface OssService {\n    /**\n     * Oss上传策略生成\n     */\n    OssPolicyResult policy();\n    /**\n     * Oss上传成功回调\n     */\n    OssCallbackResult callback(HttpServletRequest request);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/PmsBrandService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.PmsBrandParam;\nimport com.macro.mall.model.PmsBrand;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 商品品牌管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface PmsBrandService {\n    /**\n     * 获取所有品牌\n     */\n    List<PmsBrand> listAllBrand();\n\n    /**\n     * 创建品牌\n     */\n    int createBrand(PmsBrandParam pmsBrandParam);\n\n    /**\n     * 修改品牌\n     */\n    @Transactional\n    int updateBrand(Long id, PmsBrandParam pmsBrandParam);\n\n    /**\n     * 删除品牌\n     */\n    int deleteBrand(Long id);\n\n    /**\n     * 批量删除品牌\n     */\n    int deleteBrand(List<Long> ids);\n\n    /**\n     * 分页查询品牌\n     */\n    List<PmsBrand> listBrand(String keyword, Integer showStatus, int pageNum, int pageSize);\n\n    /**\n     * 获取品牌详情\n     */\n    PmsBrand getBrand(Long id);\n\n    /**\n     * 修改显示状态\n     */\n    int updateShowStatus(List<Long> ids, Integer showStatus);\n\n    /**\n     * 修改厂家制造商状态\n     */\n    int updateFactoryStatus(List<Long> ids, Integer factoryStatus);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/PmsProductAttributeCategoryService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.PmsProductAttributeCategoryItem;\nimport com.macro.mall.model.PmsProductAttributeCategory;\n\nimport java.util.List;\n\n/**\n * 商品属性分类管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductAttributeCategoryService {\n    /**\n     * 创建属性分类\n     */\n    int create(String name);\n\n    /**\n     * 修改属性分类\n     */\n    int update(Long id, String name);\n\n    /**\n     * 删除属性分类\n     */\n    int delete(Long id);\n\n    /**\n     * 获取属性分类详情\n     */\n    PmsProductAttributeCategory getItem(Long id);\n\n    /**\n     * 分页查询属性分类\n     */\n    List<PmsProductAttributeCategory> getList(Integer pageSize, Integer pageNum);\n\n    /**\n     * 获取包含属性的属性分类\n     */\n    List<PmsProductAttributeCategoryItem> getListWithAttr();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/PmsProductAttributeService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.PmsProductAttributeParam;\nimport com.macro.mall.dto.ProductAttrInfo;\nimport com.macro.mall.model.PmsProductAttribute;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 商品属性管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductAttributeService {\n    /**\n     * 根据分类ID和类型分页获取商品属性\n     * @param cid 分类id\n     * @param type 0->规格；1->参数\n     */\n    List<PmsProductAttribute> getList(Long cid, Integer type, Integer pageSize, Integer pageNum);\n\n    /**\n     * 添加商品属性\n     */\n    @Transactional\n    int create(PmsProductAttributeParam pmsProductAttributeParam);\n\n    /**\n     * 修改商品属性\n     */\n    int update(Long id, PmsProductAttributeParam productAttributeParam);\n\n    /**\n     * 获取单个商品属性信息\n     */\n    PmsProductAttribute getItem(Long id);\n\n    /**\n     * 批量删除商品属性\n     */\n    @Transactional\n    int delete(List<Long> ids);\n\n    /**\n     * 获取商品分类对应属性列表\n     */\n    List<ProductAttrInfo> getProductAttrInfo(Long productCategoryId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/PmsProductCategoryService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.PmsProductCategoryParam;\nimport com.macro.mall.dto.PmsProductCategoryWithChildrenItem;\nimport com.macro.mall.model.PmsProductCategory;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 商品分类管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductCategoryService {\n    /**\n     * 创建商品分类\n     */\n    @Transactional\n    int create(PmsProductCategoryParam pmsProductCategoryParam);\n\n    /**\n     * 修改商品分类\n     */\n    @Transactional\n    int update(Long id, PmsProductCategoryParam pmsProductCategoryParam);\n\n    /**\n     * 分页获取商品分类\n     */\n    List<PmsProductCategory> getList(Long parentId, Integer pageSize, Integer pageNum);\n\n    /**\n     * 删除商品分类\n     */\n    int delete(Long id);\n\n    /**\n     * 根据ID获取商品分类\n     */\n    PmsProductCategory getItem(Long id);\n\n    /**\n     * 批量修改导航状态\n     */\n    int updateNavStatus(List<Long> ids, Integer navStatus);\n\n    /**\n     * 批量修改显示状态\n     */\n    int updateShowStatus(List<Long> ids, Integer showStatus);\n\n    /**\n     * 以层级形式获取商品分类\n     */\n    List<PmsProductCategoryWithChildrenItem> listWithChildren();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/PmsProductService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.PmsProductParam;\nimport com.macro.mall.dto.PmsProductQueryParam;\nimport com.macro.mall.dto.PmsProductResult;\nimport com.macro.mall.model.PmsProduct;\nimport org.springframework.transaction.annotation.Isolation;\nimport org.springframework.transaction.annotation.Propagation;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 商品管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface PmsProductService {\n    /**\n     * 创建商品\n     */\n    @Transactional(isolation = Isolation.DEFAULT,propagation = Propagation.REQUIRED)\n    int create(PmsProductParam productParam);\n\n    /**\n     * 根据商品ID获取商品信息（用于更新商品）\n     */\n    PmsProductResult getUpdateInfo(Long id);\n\n    /**\n     * 更新商品\n     */\n    @Transactional\n    int update(Long id, PmsProductParam productParam);\n\n    /**\n     * 分页查询商品\n     */\n    List<PmsProduct> list(PmsProductQueryParam productQueryParam, Integer pageSize, Integer pageNum);\n\n    /**\n     * 批量修改审核状态\n     * @param ids 商品ID列表\n     * @param verifyStatus 审核状态\n     * @param detail 审核详情\n     */\n    @Transactional\n    int updateVerifyStatus(List<Long> ids, Integer verifyStatus, String detail);\n\n    /**\n     * 批量修改商品上架状态\n     */\n    int updatePublishStatus(List<Long> ids, Integer publishStatus);\n\n    /**\n     * 批量修改商品推荐状态\n     */\n    int updateRecommendStatus(List<Long> ids, Integer recommendStatus);\n\n    /**\n     * 批量修改新品状态\n     */\n    int updateNewStatus(List<Long> ids, Integer newStatus);\n\n    /**\n     * 批量删除商品\n     */\n    int updateDeleteStatus(List<Long> ids, Integer deleteStatus);\n\n    /**\n     * 根据商品名称或者货号模糊查询\n     */\n    List<PmsProduct> list(String keyword);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/PmsSkuStockService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.PmsSkuStock;\n\nimport java.util.List;\n\n/**\n * 商品SKU库存管理Service\n * Created by macro on 2018/4/27.\n */\npublic interface PmsSkuStockService {\n    /**\n     * 根据商品id和skuCode关键字模糊搜索\n     */\n    List<PmsSkuStock> getList(Long pid, String keyword);\n\n    /**\n     * 批量更新商品库存信息\n     */\n    int update(Long pid, List<PmsSkuStock> skuStockList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsCouponHistoryService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsCouponHistory;\n\nimport java.util.List;\n\n/**\n * 优惠券领取记录管理Service\n * Created by macro on 2018/11/6.\n */\npublic interface SmsCouponHistoryService {\n    /**\n     * 分页查询优惠券领取记录\n     * @param couponId 优惠券id\n     * @param useStatus 使用状态\n     * @param orderSn 使用订单号码\n     */\n    List<SmsCouponHistory> list(Long couponId, Integer useStatus, String orderSn, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsCouponService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.SmsCouponParam;\nimport com.macro.mall.model.SmsCoupon;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 优惠券管理Service\n * Created by macro on 2018/8/28.\n */\npublic interface SmsCouponService {\n    /**\n     * 添加优惠券\n     */\n    @Transactional\n    int create(SmsCouponParam couponParam);\n\n    /**\n     * 根据优惠券id删除优惠券\n     */\n    @Transactional\n    int delete(Long id);\n\n    /**\n     * 根据优惠券id更新优惠券信息\n     */\n    @Transactional\n    int update(Long id, SmsCouponParam couponParam);\n\n    /**\n     * 分页获取优惠券列表\n     */\n    List<SmsCoupon> list(String name, Integer type, Integer pageSize, Integer pageNum);\n\n    /**\n     * 获取优惠券详情\n     * @param id 优惠券表id\n     */\n    SmsCouponParam getItem(Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsFlashPromotionProductRelationService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.SmsFlashPromotionProduct;\nimport com.macro.mall.model.SmsFlashPromotionProductRelation;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 限时购商品关联管理Service\n * Created by macro on 2018/11/16.\n */\npublic interface SmsFlashPromotionProductRelationService {\n    /**\n     * 批量添加关联\n     */\n    @Transactional\n    int create(List<SmsFlashPromotionProductRelation> relationList);\n\n    /**\n     * 修改关联信息\n     */\n    int update(Long id, SmsFlashPromotionProductRelation relation);\n\n    /**\n     * 删除关联\n     */\n    int delete(Long id);\n\n    /**\n     * 获取关联详情\n     */\n    SmsFlashPromotionProductRelation getItem(Long id);\n\n    /**\n     * 根据限时购和场次id分页查询限时购商品信息\n     *\n     * @param flashPromotionId        限时购id\n     * @param flashPromotionSessionId 限时购场次id\n     */\n    List<SmsFlashPromotionProduct> list(Long flashPromotionId, Long flashPromotionSessionId, Integer pageSize, Integer pageNum);\n\n    /**\n     * 根据限时购和场次id获取商品关系数量\n     * @param flashPromotionId        限时购id\n     * @param flashPromotionSessionId 限时购场次id\n     */\n    long getCount(Long flashPromotionId,Long flashPromotionSessionId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsFlashPromotionService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsFlashPromotion;\n\nimport java.util.List;\n\n/**\n * 限时购活动管理Service\n * Created by macro on 2018/11/16.\n */\npublic interface SmsFlashPromotionService {\n    /**\n     * 添加活动\n     */\n    int create(SmsFlashPromotion flashPromotion);\n\n    /**\n     * 修改指定活动\n     */\n    int update(Long id, SmsFlashPromotion flashPromotion);\n\n    /**\n     * 删除单个活动\n     */\n    int delete(Long id);\n\n    /**\n     * 修改活动上下线状态\n     */\n    int updateStatus(Long id, Integer status);\n\n    /**\n     * 获取活动详情\n     */\n    SmsFlashPromotion getItem(Long id);\n\n    /**\n     * 根据关键字分页查询活动\n     */\n    List<SmsFlashPromotion> list(String keyword, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsFlashPromotionSessionService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.SmsFlashPromotionSessionDetail;\nimport com.macro.mall.model.SmsFlashPromotionSession;\n\nimport java.util.List;\n\n/**\n * 限时购场次管理Service\n * Created by macro on 2018/11/16.\n */\npublic interface SmsFlashPromotionSessionService {\n    /**\n     * 添加场次\n     */\n    int create(SmsFlashPromotionSession promotionSession);\n\n    /**\n     * 修改场次\n     */\n    int update(Long id, SmsFlashPromotionSession promotionSession);\n\n    /**\n     * 修改场次启用状态\n     */\n    int updateStatus(Long id, Integer status);\n\n    /**\n     * 删除场次\n     */\n    int delete(Long id);\n\n    /**\n     * 获取场次详情\n     */\n    SmsFlashPromotionSession getItem(Long id);\n\n    /**\n     * 获取全部场次列表\n     */\n    List<SmsFlashPromotionSession> list();\n\n    /**\n     * 获取全部可选场次及其数量\n     */\n    List<SmsFlashPromotionSessionDetail> selectList(Long flashPromotionId);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsHomeAdvertiseService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsHomeAdvertise;\n\nimport java.util.List;\n\n/**\n * 首页广告管理Service\n * Created by macro on 2018/11/7.\n */\npublic interface SmsHomeAdvertiseService {\n    /**\n     * 添加广告\n     */\n    int create(SmsHomeAdvertise advertise);\n\n    /**\n     * 批量删除广告\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 修改广告上、下线状态\n     */\n    int updateStatus(Long id, Integer status);\n\n    /**\n     * 获取广告详情\n     */\n    SmsHomeAdvertise getItem(Long id);\n\n    /**\n     * 更新广告\n     */\n    int update(Long id, SmsHomeAdvertise advertise);\n\n    /**\n     * 分页查询广告\n     */\n    List<SmsHomeAdvertise> list(String name, Integer type, String endTime, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsHomeBrandService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsHomeBrand;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 首页品牌管理Service\n * Created by macro on 2018/11/6.\n */\npublic interface SmsHomeBrandService {\n    /**\n     * 添加品牌推荐\n     */\n    @Transactional\n    int create(List<SmsHomeBrand> homeBrandList);\n\n    /**\n     * 修改品牌推荐排序\n     */\n    int updateSort(Long id, Integer sort);\n\n    /**\n     * 批量删除品牌推荐\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 批量更新品牌推荐状态\n     */\n    int updateRecommendStatus(List<Long> ids, Integer recommendStatus);\n\n    /**\n     * 分页查询品牌推荐\n     */\n    List<SmsHomeBrand> list(String brandName, Integer recommendStatus, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsHomeNewProductService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsHomeNewProduct;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 首页新品推荐管理Service\n * Created by macro on 2018/11/6.\n */\npublic interface SmsHomeNewProductService {\n    /**\n     * 添加新品推荐\n     */\n    @Transactional\n    int create(List<SmsHomeNewProduct> homeNewProductList);\n\n    /**\n     * 修改新品推荐排序\n     */\n    int updateSort(Long id, Integer sort);\n\n    /**\n     * 批量删除新品推荐\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 批量更新新品推荐状态\n     */\n    int updateRecommendStatus(List<Long> ids, Integer recommendStatus);\n\n    /**\n     * 分页查询新品推荐\n     */\n    List<SmsHomeNewProduct> list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsHomeRecommendProductService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsHomeRecommendProduct;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 首页人气推荐管理Service\n * Created by macro on 2018/11/7.\n */\npublic interface SmsHomeRecommendProductService {\n    /**\n     * 添加人气推荐\n     */\n    @Transactional\n    int create(List<SmsHomeRecommendProduct> homeRecommendProductList);\n\n    /**\n     * 修改人气推荐排序\n     */\n    int updateSort(Long id, Integer sort);\n\n    /**\n     * 批量删除人气推荐\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 批量更新人气推荐状态\n     */\n    int updateRecommendStatus(List<Long> ids, Integer recommendStatus);\n\n    /**\n     * 分页查询人气推荐\n     */\n    List<SmsHomeRecommendProduct> list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/SmsHomeRecommendSubjectService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.SmsHomeRecommendSubject;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 首页专题推荐管理Service\n * Created by macro on 2018/11/7.\n */\npublic interface SmsHomeRecommendSubjectService {\n    /**\n     * 添加专题推荐\n     */\n    @Transactional\n    int create(List<SmsHomeRecommendSubject> recommendSubjectList);\n\n    /**\n     * 修改专题推荐排序\n     */\n    int updateSort(Long id, Integer sort);\n\n    /**\n     * 批量删除专题推荐\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 批量更新专题推荐状态\n     */\n    int updateRecommendStatus(List<Long> ids, Integer recommendStatus);\n\n    /**\n     * 分页查询专题推荐\n     */\n    List<SmsHomeRecommendSubject> list(String subjectName, Integer recommendStatus, Integer pageSize, Integer pageNum);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsAdminCacheService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsResource;\n\nimport java.util.List;\n\n/**\n * 后台用户缓存管理Service\n * Created by macro on 2020/3/13.\n */\npublic interface UmsAdminCacheService {\n    /**\n     * 删除后台用户缓存\n     */\n    void delAdmin(Long adminId);\n\n    /**\n     * 删除后台用户资源列表缓存\n     */\n    void delResourceList(Long adminId);\n\n    /**\n     * 当角色相关资源信息改变时删除相关后台用户缓存\n     */\n    void delResourceListByRole(Long roleId);\n\n    /**\n     * 当角色相关资源信息改变时删除相关后台用户缓存\n     */\n    void delResourceListByRoleIds(List<Long> roleIds);\n\n    /**\n     * 当资源信息改变时，删除资源相关后台用户缓存\n     */\n    void delResourceListByResource(Long resourceId);\n\n    /**\n     * 获取缓存后台用户信息\n     */\n    UmsAdmin getAdmin(String username);\n\n    /**\n     * 设置缓存后台用户信息\n     */\n    void setAdmin(UmsAdmin admin);\n\n    /**\n     * 获取缓存后台用户资源列表\n     */\n    List<UmsResource> getResourceList(Long adminId);\n\n    /**\n     * 设置缓存后台用户资源列表\n     */\n    void setResourceList(Long adminId, List<UmsResource> resourceList);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.UmsAdminParam;\nimport com.macro.mall.dto.UpdateAdminPasswordParam;\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.model.UmsRole;\nimport org.springframework.security.core.userdetails.UserDetails;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 后台用户管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface UmsAdminService {\n    /**\n     * 根据用户名获取后台管理员\n     */\n    UmsAdmin getAdminByUsername(String username);\n\n    /**\n     * 注册功能\n     */\n    UmsAdmin register(UmsAdminParam umsAdminParam);\n\n    /**\n     * 登录功能\n     * @param username 用户名\n     * @param password 密码\n     * @return 生成的JWT的token\n     */\n    String login(String username,String password);\n\n    /**\n     * 刷新token的功能\n     * @param oldToken 旧的token\n     */\n    String refreshToken(String oldToken);\n\n    /**\n     * 根据用户id获取用户\n     */\n    UmsAdmin getItem(Long id);\n\n    /**\n     * 根据用户名或昵称分页查询用户\n     */\n    List<UmsAdmin> list(String keyword, Integer pageSize, Integer pageNum);\n\n    /**\n     * 修改指定用户信息\n     */\n    int update(Long id, UmsAdmin admin);\n\n    /**\n     * 删除指定用户\n     */\n    int delete(Long id);\n\n    /**\n     * 修改用户角色关系\n     */\n    @Transactional\n    int updateRole(Long adminId, List<Long> roleIds);\n\n    /**\n     * 获取用户对应角色\n     */\n    List<UmsRole> getRoleList(Long adminId);\n\n    /**\n     * 获取指定用户的可访问资源\n     */\n    List<UmsResource> getResourceList(Long adminId);\n\n    /**\n     * 修改密码\n     */\n    int updatePassword(UpdateAdminPasswordParam updatePasswordParam);\n\n    /**\n     * 获取用户信息\n     */\n    UserDetails loadUserByUsername(String username);\n\n    /**\n     * 获取缓存服务\n     */\n    UmsAdminCacheService getCacheService();\n\n    /**\n     * 登出功能\n     * @param username 用户名\n     */\n    void logout(String username);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsMemberLevelService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.UmsMemberLevel;\n\nimport java.util.List;\n\n/**\n * 会员等级管理Service\n * Created by macro on 2018/4/26.\n */\npublic interface UmsMemberLevelService {\n    /**\n     * 获取所有会员等级\n     * @param defaultStatus 是否为默认会员\n     */\n    List<UmsMemberLevel> list(Integer defaultStatus);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsMenuService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.dto.UmsMenuNode;\nimport com.macro.mall.model.UmsMenu;\n\nimport java.util.List;\n\n/**\n * 后台菜单管理Service\n * Created by macro on 2020/2/2.\n */\npublic interface UmsMenuService {\n    /**\n     * 创建后台菜单\n     */\n    int create(UmsMenu umsMenu);\n\n    /**\n     * 修改后台菜单\n     */\n    int update(Long id, UmsMenu umsMenu);\n\n    /**\n     * 根据ID获取菜单详情\n     */\n    UmsMenu getItem(Long id);\n\n    /**\n     * 根据ID删除菜单\n     */\n    int delete(Long id);\n\n    /**\n     * 分页查询后台菜单\n     */\n    List<UmsMenu> list(Long parentId, Integer pageSize, Integer pageNum);\n\n    /**\n     * 树形结构返回所有菜单列表\n     */\n    List<UmsMenuNode> treeList();\n\n    /**\n     * 修改菜单显示状态\n     */\n    int updateHidden(Long id, Integer hidden);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsResourceCategoryService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.UmsResourceCategory;\n\nimport java.util.List;\n\n/**\n * 后台资源分类管理Service\n * Created by macro on 2020/2/5.\n */\npublic interface UmsResourceCategoryService {\n\n    /**\n     * 获取所有资源分类\n     */\n    List<UmsResourceCategory> listAll();\n\n    /**\n     * 创建资源分类\n     */\n    int create(UmsResourceCategory umsResourceCategory);\n\n    /**\n     * 修改资源分类\n     */\n    int update(Long id, UmsResourceCategory umsResourceCategory);\n\n    /**\n     * 删除资源分类\n     */\n    int delete(Long id);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsResourceService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.UmsResource;\n\nimport java.util.List;\n\n/**\n * 后台资源管理Service\n * Created by macro on 2020/2/2.\n */\npublic interface UmsResourceService {\n    /**\n     * 添加资源\n     */\n    int create(UmsResource umsResource);\n\n    /**\n     * 修改资源\n     */\n    int update(Long id, UmsResource umsResource);\n\n    /**\n     * 获取资源详情\n     */\n    UmsResource getItem(Long id);\n\n    /**\n     * 删除资源\n     */\n    int delete(Long id);\n\n    /**\n     * 分页查询资源\n     */\n    List<UmsResource> list(Long categoryId, String nameKeyword, String urlKeyword, Integer pageSize, Integer pageNum);\n\n    /**\n     * 查询全部资源\n     */\n    List<UmsResource> listAll();\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/UmsRoleService.java",
    "content": "package com.macro.mall.service;\n\nimport com.macro.mall.model.UmsMenu;\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.model.UmsRole;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 后台角色管理Service\n * Created by macro on 2018/9/30.\n */\npublic interface UmsRoleService {\n    /**\n     * 添加角色\n     */\n    int create(UmsRole role);\n\n    /**\n     * 修改角色信息\n     */\n    int update(Long id, UmsRole role);\n\n    /**\n     * 批量删除角色\n     */\n    int delete(List<Long> ids);\n\n    /**\n     * 获取所有角色列表\n     */\n    List<UmsRole> list();\n\n    /**\n     * 分页获取角色列表\n     */\n    List<UmsRole> list(String keyword, Integer pageSize, Integer pageNum);\n\n    /**\n     * 根据管理员ID获取对应菜单\n     */\n    List<UmsMenu> getMenuList(Long adminId);\n\n    /**\n     * 获取角色相关菜单\n     */\n    List<UmsMenu> listMenu(Long roleId);\n\n    /**\n     * 获取角色相关资源\n     */\n    List<UmsResource> listResource(Long roleId);\n\n    /**\n     * 给角色分配菜单\n     */\n    @Transactional\n    int allocMenu(Long roleId, List<Long> menuIds);\n\n    /**\n     * 给角色分配资源\n     */\n    @Transactional\n    int allocResource(Long roleId, List<Long> resourceIds);\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/CmsPrefrenceAreaServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.macro.mall.mapper.CmsPrefrenceAreaMapper;\nimport com.macro.mall.model.CmsPrefrenceArea;\nimport com.macro.mall.model.CmsPrefrenceAreaExample;\nimport com.macro.mall.service.CmsPrefrenceAreaService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 商品优选管理Service实现类\n * Created by macro on 2018/6/1.\n */\n@Service\npublic class CmsPrefrenceAreaServiceImpl implements CmsPrefrenceAreaService {\n    @Autowired\n    private CmsPrefrenceAreaMapper prefrenceAreaMapper;\n\n    @Override\n    public List<CmsPrefrenceArea> listAll() {\n        return prefrenceAreaMapper.selectByExample(new CmsPrefrenceAreaExample());\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/CmsSubjectServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.CmsSubjectMapper;\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.model.CmsSubjectExample;\nimport com.macro.mall.service.CmsSubjectService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 商品专题管理Service实现类\n * Created by macro on 2018/6/1.\n */\n@Service\npublic class CmsSubjectServiceImpl implements CmsSubjectService {\n    @Autowired\n    private CmsSubjectMapper subjectMapper;\n\n    @Override\n    public List<CmsSubject> listAll() {\n        return subjectMapper.selectByExample(new CmsSubjectExample());\n    }\n\n    @Override\n    public List<CmsSubject> list(String keyword, Integer pageNum, Integer pageSize) {\n        PageHelper.startPage(pageNum, pageSize);\n        CmsSubjectExample example = new CmsSubjectExample();\n        CmsSubjectExample.Criteria criteria = example.createCriteria();\n        if (!StrUtil.isEmpty(keyword)) {\n            criteria.andTitleLike(\"%\" + keyword + \"%\");\n        }\n        return subjectMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/OmsCompanyAddressServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.macro.mall.mapper.OmsCompanyAddressMapper;\nimport com.macro.mall.model.OmsCompanyAddress;\nimport com.macro.mall.model.OmsCompanyAddressExample;\nimport com.macro.mall.service.OmsCompanyAddressService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 收货地址管理Service实现类\n * Created by macro on 2018/10/18.\n */\n@Service\npublic class OmsCompanyAddressServiceImpl implements OmsCompanyAddressService {\n    @Autowired\n    private OmsCompanyAddressMapper companyAddressMapper;\n    @Override\n    public List<OmsCompanyAddress> list() {\n        return companyAddressMapper.selectByExample(new OmsCompanyAddressExample());\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderReturnApplyServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.OmsOrderReturnApplyDao;\nimport com.macro.mall.dto.OmsOrderReturnApplyResult;\nimport com.macro.mall.dto.OmsReturnApplyQueryParam;\nimport com.macro.mall.dto.OmsUpdateStatusParam;\nimport com.macro.mall.mapper.OmsOrderReturnApplyMapper;\nimport com.macro.mall.model.OmsOrderReturnApply;\nimport com.macro.mall.model.OmsOrderReturnApplyExample;\nimport com.macro.mall.service.OmsOrderReturnApplyService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 订单退货管理Service实现类\n * Created by macro on 2018/10/18.\n */\n@Service\npublic class OmsOrderReturnApplyServiceImpl implements OmsOrderReturnApplyService {\n    @Autowired\n    private OmsOrderReturnApplyDao returnApplyDao;\n    @Autowired\n    private OmsOrderReturnApplyMapper returnApplyMapper;\n    @Override\n    public List<OmsOrderReturnApply> list(OmsReturnApplyQueryParam queryParam, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        return returnApplyDao.getList(queryParam);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        OmsOrderReturnApplyExample example = new OmsOrderReturnApplyExample();\n        example.createCriteria().andIdIn(ids).andStatusEqualTo(3);\n        return returnApplyMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int updateStatus(Long id, OmsUpdateStatusParam statusParam) {\n        Integer status = statusParam.getStatus();\n        OmsOrderReturnApply returnApply = new OmsOrderReturnApply();\n        if(status.equals(1)){\n            //确认退货\n            returnApply.setId(id);\n            returnApply.setStatus(1);\n            returnApply.setReturnAmount(statusParam.getReturnAmount());\n            returnApply.setCompanyAddressId(statusParam.getCompanyAddressId());\n            returnApply.setHandleTime(new Date());\n            returnApply.setHandleMan(statusParam.getHandleMan());\n            returnApply.setHandleNote(statusParam.getHandleNote());\n        }else if(status.equals(2)){\n            //完成退货\n            returnApply.setId(id);\n            returnApply.setStatus(2);\n            returnApply.setReceiveTime(new Date());\n            returnApply.setReceiveMan(statusParam.getReceiveMan());\n            returnApply.setReceiveNote(statusParam.getReceiveNote());\n        }else if(status.equals(3)){\n            //拒绝退货\n            returnApply.setId(id);\n            returnApply.setStatus(3);\n            returnApply.setHandleTime(new Date());\n            returnApply.setHandleMan(statusParam.getHandleMan());\n            returnApply.setHandleNote(statusParam.getHandleNote());\n        }else{\n            return 0;\n        }\n        return returnApplyMapper.updateByPrimaryKeySelective(returnApply);\n    }\n\n    @Override\n    public OmsOrderReturnApplyResult getItem(Long id) {\n        return returnApplyDao.getDetail(id);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderReturnReasonServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.OmsOrderReturnReasonMapper;\nimport com.macro.mall.model.OmsOrderReturnReason;\nimport com.macro.mall.model.OmsOrderReturnReasonExample;\nimport com.macro.mall.service.OmsOrderReturnReasonService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 订单原因管理Service实现类\n * Created by macro on 2018/10/17.\n */\n@Service\npublic class OmsOrderReturnReasonServiceImpl implements OmsOrderReturnReasonService {\n    @Autowired\n    private OmsOrderReturnReasonMapper returnReasonMapper;\n    @Override\n    public int create(OmsOrderReturnReason returnReason) {\n        returnReason.setCreateTime(new Date());\n        return returnReasonMapper.insert(returnReason);\n    }\n\n    @Override\n    public int update(Long id, OmsOrderReturnReason returnReason) {\n        returnReason.setId(id);\n        return returnReasonMapper.updateByPrimaryKey(returnReason);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        OmsOrderReturnReasonExample example = new OmsOrderReturnReasonExample();\n        example.createCriteria().andIdIn(ids);\n        return returnReasonMapper.deleteByExample(example);\n    }\n\n    @Override\n    public List<OmsOrderReturnReason> list(Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        OmsOrderReturnReasonExample example = new OmsOrderReturnReasonExample();\n        example.setOrderByClause(\"sort desc\");\n        return returnReasonMapper.selectByExample(example);\n    }\n\n    @Override\n    public int updateStatus(List<Long> ids, Integer status) {\n        if(!status.equals(0)&&!status.equals(1)){\n            return 0;\n        }\n        OmsOrderReturnReason record = new OmsOrderReturnReason();\n        record.setStatus(status);\n        OmsOrderReturnReasonExample example = new OmsOrderReturnReasonExample();\n        example.createCriteria().andIdIn(ids);\n        return returnReasonMapper.updateByExampleSelective(record,example);\n    }\n\n    @Override\n    public OmsOrderReturnReason getItem(Long id) {\n        return returnReasonMapper.selectByPrimaryKey(id);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.OmsOrderDao;\nimport com.macro.mall.dao.OmsOrderOperateHistoryDao;\nimport com.macro.mall.dto.*;\nimport com.macro.mall.mapper.OmsOrderMapper;\nimport com.macro.mall.mapper.OmsOrderOperateHistoryMapper;\nimport com.macro.mall.model.OmsOrder;\nimport com.macro.mall.model.OmsOrderExample;\nimport com.macro.mall.model.OmsOrderOperateHistory;\nimport com.macro.mall.service.OmsOrderService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 订单管理Service实现类\n * Created by macro on 2018/10/11.\n */\n@Service\npublic class OmsOrderServiceImpl implements OmsOrderService {\n    @Autowired\n    private OmsOrderMapper orderMapper;\n    @Autowired\n    private OmsOrderDao orderDao;\n    @Autowired\n    private OmsOrderOperateHistoryDao orderOperateHistoryDao;\n    @Autowired\n    private OmsOrderOperateHistoryMapper orderOperateHistoryMapper;\n\n    @Override\n    public List<OmsOrder> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        return orderDao.getList(queryParam);\n    }\n\n    @Override\n    public int delivery(List<OmsOrderDeliveryParam> deliveryParamList) {\n        //批量发货\n        int count = orderDao.delivery(deliveryParamList);\n        //添加操作记录\n        List<OmsOrderOperateHistory> operateHistoryList = deliveryParamList.stream()\n                .map(omsOrderDeliveryParam -> {\n                    OmsOrderOperateHistory history = new OmsOrderOperateHistory();\n                    history.setOrderId(omsOrderDeliveryParam.getOrderId());\n                    history.setCreateTime(new Date());\n                    history.setOperateMan(\"后台管理员\");\n                    history.setOrderStatus(2);\n                    history.setNote(\"完成发货\");\n                    return history;\n                }).collect(Collectors.toList());\n        orderOperateHistoryDao.insertList(operateHistoryList);\n        return count;\n    }\n\n    @Override\n    public int close(List<Long> ids, String note) {\n        OmsOrder record = new OmsOrder();\n        record.setStatus(4);\n        OmsOrderExample example = new OmsOrderExample();\n        example.createCriteria().andDeleteStatusEqualTo(0).andIdIn(ids);\n        int count = orderMapper.updateByExampleSelective(record, example);\n        List<OmsOrderOperateHistory> historyList = ids.stream().map(orderId -> {\n            OmsOrderOperateHistory history = new OmsOrderOperateHistory();\n            history.setOrderId(orderId);\n            history.setCreateTime(new Date());\n            history.setOperateMan(\"后台管理员\");\n            history.setOrderStatus(4);\n            history.setNote(\"订单关闭:\"+note);\n            return history;\n        }).collect(Collectors.toList());\n        orderOperateHistoryDao.insertList(historyList);\n        return count;\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        OmsOrder record = new OmsOrder();\n        record.setDeleteStatus(1);\n        OmsOrderExample example = new OmsOrderExample();\n        example.createCriteria().andDeleteStatusEqualTo(0).andIdIn(ids);\n        return orderMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public OmsOrderDetail detail(Long id) {\n        return orderDao.getDetail(id);\n    }\n\n    @Override\n    public int updateReceiverInfo(OmsReceiverInfoParam receiverInfoParam) {\n        OmsOrder order = new OmsOrder();\n        order.setId(receiverInfoParam.getOrderId());\n        order.setReceiverName(receiverInfoParam.getReceiverName());\n        order.setReceiverPhone(receiverInfoParam.getReceiverPhone());\n        order.setReceiverPostCode(receiverInfoParam.getReceiverPostCode());\n        order.setReceiverDetailAddress(receiverInfoParam.getReceiverDetailAddress());\n        order.setReceiverProvince(receiverInfoParam.getReceiverProvince());\n        order.setReceiverCity(receiverInfoParam.getReceiverCity());\n        order.setReceiverRegion(receiverInfoParam.getReceiverRegion());\n        order.setModifyTime(new Date());\n        int count = orderMapper.updateByPrimaryKeySelective(order);\n        //插入操作记录\n        OmsOrderOperateHistory history = new OmsOrderOperateHistory();\n        history.setOrderId(receiverInfoParam.getOrderId());\n        history.setCreateTime(new Date());\n        history.setOperateMan(\"后台管理员\");\n        history.setOrderStatus(receiverInfoParam.getStatus());\n        history.setNote(\"修改收货人信息\");\n        orderOperateHistoryMapper.insert(history);\n        return count;\n    }\n\n    @Override\n    public int updateMoneyInfo(OmsMoneyInfoParam moneyInfoParam) {\n        OmsOrder order = new OmsOrder();\n        order.setId(moneyInfoParam.getOrderId());\n        order.setFreightAmount(moneyInfoParam.getFreightAmount());\n        order.setDiscountAmount(moneyInfoParam.getDiscountAmount());\n        order.setModifyTime(new Date());\n        int count = orderMapper.updateByPrimaryKeySelective(order);\n        //插入操作记录\n        OmsOrderOperateHistory history = new OmsOrderOperateHistory();\n        history.setOrderId(moneyInfoParam.getOrderId());\n        history.setCreateTime(new Date());\n        history.setOperateMan(\"后台管理员\");\n        history.setOrderStatus(moneyInfoParam.getStatus());\n        history.setNote(\"修改费用信息\");\n        orderOperateHistoryMapper.insert(history);\n        return count;\n    }\n\n    @Override\n    public int updateNote(Long id, String note, Integer status) {\n        OmsOrder order = new OmsOrder();\n        order.setId(id);\n        order.setNote(note);\n        order.setModifyTime(new Date());\n        int count = orderMapper.updateByPrimaryKeySelective(order);\n        OmsOrderOperateHistory history = new OmsOrderOperateHistory();\n        history.setOrderId(id);\n        history.setCreateTime(new Date());\n        history.setOperateMan(\"后台管理员\");\n        history.setOrderStatus(status);\n        history.setNote(\"修改备注信息：\"+note);\n        orderOperateHistoryMapper.insert(history);\n        return count;\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderSettingServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.macro.mall.mapper.OmsOrderSettingMapper;\nimport com.macro.mall.model.OmsOrderSetting;\nimport com.macro.mall.service.OmsOrderSettingService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n/**\n * 订单设置管理Service实现类\n * Created by macro on 2018/10/16.\n */\n@Service\npublic class OmsOrderSettingServiceImpl implements OmsOrderSettingService {\n    @Autowired\n    private OmsOrderSettingMapper orderSettingMapper;\n\n    @Override\n    public OmsOrderSetting getItem(Long id) {\n        return orderSettingMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int update(Long id, OmsOrderSetting orderSetting) {\n        orderSetting.setId(id);\n        return orderSettingMapper.updateByPrimaryKey(orderSetting);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/OssServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.json.JSONUtil;\nimport com.aliyun.oss.OSSClient;\nimport com.aliyun.oss.common.utils.BinaryUtil;\nimport com.aliyun.oss.model.MatchMode;\nimport com.aliyun.oss.model.PolicyConditions;\nimport com.macro.mall.dto.OssCallbackParam;\nimport com.macro.mall.dto.OssCallbackResult;\nimport com.macro.mall.dto.OssPolicyResult;\nimport com.macro.mall.service.OssService;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Service;\n\nimport javax.servlet.http.HttpServletRequest;\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\n\n/**\n * Oss对象存储管理Service实现类\n * Created by macro on 2018/5/17.\n */\n@Service\npublic class OssServiceImpl implements OssService {\n\n\tprivate static final Logger LOGGER = LoggerFactory.getLogger(OssServiceImpl.class);\n\t@Value(\"${aliyun.oss.policy.expire}\")\n\tprivate int ALIYUN_OSS_EXPIRE;\n\t@Value(\"${aliyun.oss.maxSize}\")\n\tprivate int ALIYUN_OSS_MAX_SIZE;\n\t@Value(\"${aliyun.oss.callback}\")\n\tprivate String ALIYUN_OSS_CALLBACK;\n\t@Value(\"${aliyun.oss.bucketName}\")\n\tprivate String ALIYUN_OSS_BUCKET_NAME;\n\t@Value(\"${aliyun.oss.endpoint}\")\n\tprivate String ALIYUN_OSS_ENDPOINT;\n\t@Value(\"${aliyun.oss.dir.prefix}\")\n\tprivate String ALIYUN_OSS_DIR_PREFIX;\n\n\t@Autowired\n\tprivate OSSClient ossClient;\n\n\t/**\n\t * 签名生成\n\t */\n\t@Override\n\tpublic OssPolicyResult policy() {\n\t\tOssPolicyResult result = new OssPolicyResult();\n\t\t// 存储目录\n\t\tSimpleDateFormat sdf = new SimpleDateFormat(\"yyyyMMdd\");\n\t\tString dir = ALIYUN_OSS_DIR_PREFIX+sdf.format(new Date());\n\t\t// 签名有效期\n\t\tlong expireEndTime = System.currentTimeMillis() + ALIYUN_OSS_EXPIRE * 1000;\n\t\tDate expiration = new Date(expireEndTime);\n\t\t// 文件大小\n\t\tlong maxSize = ALIYUN_OSS_MAX_SIZE * 1024 * 1024;\n\t\t// 回调\n\t\tOssCallbackParam callback = new OssCallbackParam();\n\t\tcallback.setCallbackUrl(ALIYUN_OSS_CALLBACK);\n\t\tcallback.setCallbackBody(\"filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}\");\n\t\tcallback.setCallbackBodyType(\"application/x-www-form-urlencoded\");\n\t\t// 提交节点\n\t\tString action = \"http://\" + ALIYUN_OSS_BUCKET_NAME + \".\" + ALIYUN_OSS_ENDPOINT;\n\t\ttry {\n\t\t\tPolicyConditions policyConds = new PolicyConditions();\n\t\t\tpolicyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, maxSize);\n\t\t\tpolicyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);\n\t\t\tString postPolicy = ossClient.generatePostPolicy(expiration, policyConds);\n\t\t\tbyte[] binaryData = postPolicy.getBytes(\"utf-8\");\n\t\t\tString policy = BinaryUtil.toBase64String(binaryData);\n\t\t\tString signature = ossClient.calculatePostSignature(postPolicy);\n\t\t\tString callbackData = BinaryUtil.toBase64String(JSONUtil.parse(callback).toString().getBytes(\"utf-8\"));\n\t\t\t// 返回结果\n\t\t\tresult.setAccessKeyId(ossClient.getCredentialsProvider().getCredentials().getAccessKeyId());\n\t\t\tresult.setPolicy(policy);\n\t\t\tresult.setSignature(signature);\n\t\t\tresult.setDir(dir);\n\t\t\tresult.setCallback(callbackData);\n\t\t\tresult.setHost(action);\n\t\t} catch (Exception e) {\n\t\t\tLOGGER.error(\"签名生成失败\", e);\n\t\t}\n\t\treturn result;\n\t}\n\n\t@Override\n\tpublic OssCallbackResult callback(HttpServletRequest request) {\n\t\tOssCallbackResult result= new OssCallbackResult();\n\t\tString filename = request.getParameter(\"filename\");\n\t\tfilename = \"http://\".concat(ALIYUN_OSS_BUCKET_NAME).concat(\".\").concat(ALIYUN_OSS_ENDPOINT).concat(\"/\").concat(filename);\n\t\tresult.setFilename(filename);\n\t\tresult.setSize(request.getParameter(\"size\"));\n\t\tresult.setMimeType(request.getParameter(\"mimeType\"));\n\t\tresult.setWidth(request.getParameter(\"width\"));\n\t\tresult.setHeight(request.getParameter(\"height\"));\n\t\treturn result;\n\t}\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/PmsBrandServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dto.PmsBrandParam;\nimport com.macro.mall.mapper.PmsBrandMapper;\nimport com.macro.mall.mapper.PmsProductMapper;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsBrandExample;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductExample;\nimport com.macro.mall.service.PmsBrandService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 商品品牌管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class PmsBrandServiceImpl implements PmsBrandService {\n    @Autowired\n    private PmsBrandMapper brandMapper;\n    @Autowired\n    private PmsProductMapper productMapper;\n\n    @Override\n    public List<PmsBrand> listAllBrand() {\n        return brandMapper.selectByExample(new PmsBrandExample());\n    }\n\n    @Override\n    public int createBrand(PmsBrandParam pmsBrandParam) {\n        PmsBrand pmsBrand = new PmsBrand();\n        BeanUtils.copyProperties(pmsBrandParam, pmsBrand);\n        //如果创建时首字母为空，取名称的第一个为首字母\n        if (StrUtil.isEmpty(pmsBrand.getFirstLetter())) {\n            pmsBrand.setFirstLetter(pmsBrand.getName().substring(0, 1));\n        }\n        return brandMapper.insertSelective(pmsBrand);\n    }\n\n    @Override\n    public int updateBrand(Long id, PmsBrandParam pmsBrandParam) {\n        PmsBrand pmsBrand = new PmsBrand();\n        BeanUtils.copyProperties(pmsBrandParam, pmsBrand);\n        pmsBrand.setId(id);\n        //如果创建时首字母为空，取名称的第一个为首字母\n        if (StrUtil.isEmpty(pmsBrand.getFirstLetter())) {\n            pmsBrand.setFirstLetter(pmsBrand.getName().substring(0, 1));\n        }\n        //更新品牌时要更新商品中的品牌名称\n        PmsProduct product = new PmsProduct();\n        product.setBrandName(pmsBrand.getName());\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andBrandIdEqualTo(id);\n        productMapper.updateByExampleSelective(product,example);\n        return brandMapper.updateByPrimaryKeySelective(pmsBrand);\n    }\n\n    @Override\n    public int deleteBrand(Long id) {\n        return brandMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public int deleteBrand(List<Long> ids) {\n        PmsBrandExample pmsBrandExample = new PmsBrandExample();\n        pmsBrandExample.createCriteria().andIdIn(ids);\n        return brandMapper.deleteByExample(pmsBrandExample);\n    }\n\n    @Override\n    public List<PmsBrand> listBrand(String keyword, Integer showStatus, int pageNum, int pageSize) {\n        PageHelper.startPage(pageNum, pageSize);\n        PmsBrandExample pmsBrandExample = new PmsBrandExample();\n        pmsBrandExample.setOrderByClause(\"sort desc\");\n        PmsBrandExample.Criteria criteria = pmsBrandExample.createCriteria();\n        if (!StrUtil.isEmpty(keyword)) {\n            criteria.andNameLike(\"%\" + keyword + \"%\");\n        }\n        if(showStatus!=null){\n            criteria.andShowStatusEqualTo(showStatus);\n        }\n        return brandMapper.selectByExample(pmsBrandExample);\n    }\n\n    @Override\n    public PmsBrand getBrand(Long id) {\n        return brandMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int updateShowStatus(List<Long> ids, Integer showStatus) {\n        PmsBrand pmsBrand = new PmsBrand();\n        pmsBrand.setShowStatus(showStatus);\n        PmsBrandExample pmsBrandExample = new PmsBrandExample();\n        pmsBrandExample.createCriteria().andIdIn(ids);\n        return brandMapper.updateByExampleSelective(pmsBrand, pmsBrandExample);\n    }\n\n    @Override\n    public int updateFactoryStatus(List<Long> ids, Integer factoryStatus) {\n        PmsBrand pmsBrand = new PmsBrand();\n        pmsBrand.setFactoryStatus(factoryStatus);\n        PmsBrandExample pmsBrandExample = new PmsBrandExample();\n        pmsBrandExample.createCriteria().andIdIn(ids);\n        return brandMapper.updateByExampleSelective(pmsBrand, pmsBrandExample);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductAttributeCategoryServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.PmsProductAttributeCategoryDao;\nimport com.macro.mall.dto.PmsProductAttributeCategoryItem;\nimport com.macro.mall.mapper.PmsProductAttributeCategoryMapper;\nimport com.macro.mall.model.PmsProductAttributeCategory;\nimport com.macro.mall.model.PmsProductAttributeCategoryExample;\nimport com.macro.mall.service.PmsProductAttributeCategoryService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 商品属性分类管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class PmsProductAttributeCategoryServiceImpl implements PmsProductAttributeCategoryService {\n    @Autowired\n    private PmsProductAttributeCategoryMapper productAttributeCategoryMapper;\n    @Autowired\n    private PmsProductAttributeCategoryDao productAttributeCategoryDao;\n\n    @Override\n    public int create(String name) {\n        PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory();\n        productAttributeCategory.setName(name);\n        return productAttributeCategoryMapper.insertSelective(productAttributeCategory);\n    }\n\n    @Override\n    public int update(Long id, String name) {\n        PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory();\n        productAttributeCategory.setName(name);\n        productAttributeCategory.setId(id);\n        return productAttributeCategoryMapper.updateByPrimaryKeySelective(productAttributeCategory);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return productAttributeCategoryMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public PmsProductAttributeCategory getItem(Long id) {\n        return productAttributeCategoryMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public List<PmsProductAttributeCategory> getList(Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        return productAttributeCategoryMapper.selectByExample(new PmsProductAttributeCategoryExample());\n    }\n\n    @Override\n    public List<PmsProductAttributeCategoryItem> getListWithAttr() {\n        return productAttributeCategoryDao.getListWithAttr();\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductAttributeServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.PmsProductAttributeDao;\nimport com.macro.mall.dto.PmsProductAttributeParam;\nimport com.macro.mall.dto.ProductAttrInfo;\nimport com.macro.mall.mapper.PmsProductAttributeCategoryMapper;\nimport com.macro.mall.mapper.PmsProductAttributeMapper;\nimport com.macro.mall.model.PmsProductAttribute;\nimport com.macro.mall.model.PmsProductAttributeCategory;\nimport com.macro.mall.model.PmsProductAttributeExample;\nimport com.macro.mall.service.PmsProductAttributeService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 商品属性管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class PmsProductAttributeServiceImpl implements PmsProductAttributeService {\n    @Autowired\n    private PmsProductAttributeMapper productAttributeMapper;\n    @Autowired\n    private PmsProductAttributeCategoryMapper productAttributeCategoryMapper;\n    @Autowired\n    private PmsProductAttributeDao productAttributeDao;\n\n    @Override\n    public List<PmsProductAttribute> getList(Long cid, Integer type, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        PmsProductAttributeExample example = new PmsProductAttributeExample();\n        example.setOrderByClause(\"sort desc\");\n        example.createCriteria().andProductAttributeCategoryIdEqualTo(cid).andTypeEqualTo(type);\n        return productAttributeMapper.selectByExample(example);\n    }\n\n    @Override\n    public int create(PmsProductAttributeParam pmsProductAttributeParam) {\n        PmsProductAttribute pmsProductAttribute = new PmsProductAttribute();\n        BeanUtils.copyProperties(pmsProductAttributeParam, pmsProductAttribute);\n        int count = productAttributeMapper.insertSelective(pmsProductAttribute);\n        //新增商品属性以后需要更新商品属性分类数量\n        PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectByPrimaryKey(pmsProductAttribute.getProductAttributeCategoryId());\n        if(pmsProductAttribute.getType()==0){\n            pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount()+1);\n        }else if(pmsProductAttribute.getType()==1){\n            pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount()+1);\n        }\n        productAttributeCategoryMapper.updateByPrimaryKey(pmsProductAttributeCategory);\n        return count;\n    }\n\n    @Override\n    public int update(Long id, PmsProductAttributeParam productAttributeParam) {\n        PmsProductAttribute pmsProductAttribute = new PmsProductAttribute();\n        pmsProductAttribute.setId(id);\n        BeanUtils.copyProperties(productAttributeParam, pmsProductAttribute);\n        return productAttributeMapper.updateByPrimaryKeySelective(pmsProductAttribute);\n    }\n\n    @Override\n    public PmsProductAttribute getItem(Long id) {\n        return productAttributeMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        //获取分类\n        PmsProductAttribute pmsProductAttribute = productAttributeMapper.selectByPrimaryKey(ids.get(0));\n        Integer type = pmsProductAttribute.getType();\n        PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectByPrimaryKey(pmsProductAttribute.getProductAttributeCategoryId());\n        PmsProductAttributeExample example = new PmsProductAttributeExample();\n        example.createCriteria().andIdIn(ids);\n        int count = productAttributeMapper.deleteByExample(example);\n        //删除完成后修改数量\n        if(type==0){\n            if(pmsProductAttributeCategory.getAttributeCount()>=count){\n                pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount()-count);\n            }else{\n                pmsProductAttributeCategory.setAttributeCount(0);\n            }\n        }else if(type==1){\n            if(pmsProductAttributeCategory.getParamCount()>=count){\n                pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount()-count);\n            }else{\n                pmsProductAttributeCategory.setParamCount(0);\n            }\n        }\n        productAttributeCategoryMapper.updateByPrimaryKey(pmsProductAttributeCategory);\n        return count;\n    }\n\n    @Override\n    public List<ProductAttrInfo> getProductAttrInfo(Long productCategoryId) {\n        return productAttributeDao.getProductAttrInfo(productCategoryId);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.PmsProductCategoryAttributeRelationDao;\nimport com.macro.mall.dao.PmsProductCategoryDao;\nimport com.macro.mall.dto.PmsProductCategoryParam;\nimport com.macro.mall.dto.PmsProductCategoryWithChildrenItem;\nimport com.macro.mall.mapper.PmsProductCategoryAttributeRelationMapper;\nimport com.macro.mall.mapper.PmsProductCategoryMapper;\nimport com.macro.mall.mapper.PmsProductMapper;\nimport com.macro.mall.model.*;\nimport com.macro.mall.service.PmsProductCategoryService;\nimport org.apache.commons.collections.CollectionUtils;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * 商品分类管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class PmsProductCategoryServiceImpl implements PmsProductCategoryService {\n    @Autowired\n    private PmsProductCategoryMapper productCategoryMapper;\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Autowired\n    private PmsProductCategoryAttributeRelationDao productCategoryAttributeRelationDao;\n    @Autowired\n    private PmsProductCategoryAttributeRelationMapper productCategoryAttributeRelationMapper;\n    @Autowired\n    private PmsProductCategoryDao productCategoryDao;\n    @Override\n    public int create(PmsProductCategoryParam pmsProductCategoryParam) {\n        PmsProductCategory productCategory = new PmsProductCategory();\n        productCategory.setProductCount(0);\n        BeanUtils.copyProperties(pmsProductCategoryParam, productCategory);\n        //没有父分类时为一级分类\n        setCategoryLevel(productCategory);\n        int count = productCategoryMapper.insertSelective(productCategory);\n        //创建筛选属性关联\n        List<Long> productAttributeIdList = pmsProductCategoryParam.getProductAttributeIdList();\n        if(!CollectionUtils.isEmpty(productAttributeIdList)){\n            insertRelationList(productCategory.getId(), productAttributeIdList);\n        }\n        return count;\n    }\n\n    /**\n     * 批量插入商品分类与筛选属性关系表\n     * @param productCategoryId 商品分类id\n     * @param productAttributeIdList 相关商品筛选属性id集合\n     */\n    private void insertRelationList(Long productCategoryId, List<Long> productAttributeIdList) {\n        List<PmsProductCategoryAttributeRelation> relationList = new ArrayList<>();\n        for (Long productAttrId : productAttributeIdList) {\n            PmsProductCategoryAttributeRelation relation = new PmsProductCategoryAttributeRelation();\n            relation.setProductAttributeId(productAttrId);\n            relation.setProductCategoryId(productCategoryId);\n            relationList.add(relation);\n        }\n        productCategoryAttributeRelationDao.insertList(relationList);\n    }\n\n    @Override\n    public int update(Long id, PmsProductCategoryParam pmsProductCategoryParam) {\n        PmsProductCategory productCategory = new PmsProductCategory();\n        productCategory.setId(id);\n        BeanUtils.copyProperties(pmsProductCategoryParam, productCategory);\n        setCategoryLevel(productCategory);\n        //更新商品分类时要更新商品中的名称\n        PmsProduct product = new PmsProduct();\n        product.setProductCategoryName(productCategory.getName());\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andProductCategoryIdEqualTo(id);\n        productMapper.updateByExampleSelective(product,example);\n        //同时更新筛选属性的信息\n        if(!CollectionUtils.isEmpty(pmsProductCategoryParam.getProductAttributeIdList())){\n            PmsProductCategoryAttributeRelationExample relationExample = new PmsProductCategoryAttributeRelationExample();\n            relationExample.createCriteria().andProductCategoryIdEqualTo(id);\n            productCategoryAttributeRelationMapper.deleteByExample(relationExample);\n            insertRelationList(id,pmsProductCategoryParam.getProductAttributeIdList());\n        }else{\n            PmsProductCategoryAttributeRelationExample relationExample = new PmsProductCategoryAttributeRelationExample();\n            relationExample.createCriteria().andProductCategoryIdEqualTo(id);\n            productCategoryAttributeRelationMapper.deleteByExample(relationExample);\n        }\n        return productCategoryMapper.updateByPrimaryKeySelective(productCategory);\n    }\n\n    @Override\n    public List<PmsProductCategory> getList(Long parentId, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        PmsProductCategoryExample example = new PmsProductCategoryExample();\n        example.setOrderByClause(\"sort desc\");\n        example.createCriteria().andParentIdEqualTo(parentId);\n        return productCategoryMapper.selectByExample(example);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return productCategoryMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public PmsProductCategory getItem(Long id) {\n        return productCategoryMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int updateNavStatus(List<Long> ids, Integer navStatus) {\n        PmsProductCategory productCategory = new PmsProductCategory();\n        productCategory.setNavStatus(navStatus);\n        PmsProductCategoryExample example = new PmsProductCategoryExample();\n        example.createCriteria().andIdIn(ids);\n        return productCategoryMapper.updateByExampleSelective(productCategory, example);\n    }\n\n    @Override\n    public int updateShowStatus(List<Long> ids, Integer showStatus) {\n        PmsProductCategory productCategory = new PmsProductCategory();\n        productCategory.setShowStatus(showStatus);\n        PmsProductCategoryExample example = new PmsProductCategoryExample();\n        example.createCriteria().andIdIn(ids);\n        return productCategoryMapper.updateByExampleSelective(productCategory, example);\n    }\n\n    @Override\n    public List<PmsProductCategoryWithChildrenItem> listWithChildren() {\n        return productCategoryDao.listWithChildren();\n    }\n\n    /**\n     * 根据分类的parentId设置分类的level\n     */\n    private void setCategoryLevel(PmsProductCategory productCategory) {\n        //没有父分类时为一级分类\n        if (productCategory.getParentId() == 0) {\n            productCategory.setLevel(0);\n        } else {\n            //有父分类时选择根据父分类level设置\n            PmsProductCategory parentCategory = productCategoryMapper.selectByPrimaryKey(productCategory.getParentId());\n            if (parentCategory != null) {\n                productCategory.setLevel(parentCategory.getLevel() + 1);\n            } else {\n                productCategory.setLevel(0);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.collection.CollUtil;\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.*;\nimport com.macro.mall.dto.PmsProductParam;\nimport com.macro.mall.dto.PmsProductQueryParam;\nimport com.macro.mall.dto.PmsProductResult;\nimport com.macro.mall.mapper.*;\nimport com.macro.mall.model.*;\nimport com.macro.mall.service.PmsProductService;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.lang.reflect.Method;\nimport java.text.SimpleDateFormat;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 商品管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class PmsProductServiceImpl implements PmsProductService {\n    private static final Logger LOGGER = LoggerFactory.getLogger(PmsProductServiceImpl.class);\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Autowired\n    private PmsMemberPriceDao memberPriceDao;\n    @Autowired\n    private PmsMemberPriceMapper memberPriceMapper;\n    @Autowired\n    private PmsProductLadderDao productLadderDao;\n    @Autowired\n    private PmsProductLadderMapper productLadderMapper;\n    @Autowired\n    private PmsProductFullReductionDao productFullReductionDao;\n    @Autowired\n    private PmsProductFullReductionMapper productFullReductionMapper;\n    @Autowired\n    private PmsSkuStockDao skuStockDao;\n    @Autowired\n    private PmsSkuStockMapper skuStockMapper;\n    @Autowired\n    private PmsProductAttributeValueDao productAttributeValueDao;\n    @Autowired\n    private PmsProductAttributeValueMapper productAttributeValueMapper;\n    @Autowired\n    private CmsSubjectProductRelationDao subjectProductRelationDao;\n    @Autowired\n    private CmsSubjectProductRelationMapper subjectProductRelationMapper;\n    @Autowired\n    private CmsPrefrenceAreaProductRelationDao prefrenceAreaProductRelationDao;\n    @Autowired\n    private CmsPrefrenceAreaProductRelationMapper prefrenceAreaProductRelationMapper;\n    @Autowired\n    private PmsProductDao productDao;\n    @Autowired\n    private PmsProductVertifyRecordDao productVertifyRecordDao;\n\n    @Override\n    public int create(PmsProductParam productParam) {\n        int count;\n        //创建商品\n        PmsProduct product = productParam;\n        product.setId(null);\n        productMapper.insertSelective(product);\n        //根据促销类型设置价格：会员价格、阶梯价格、满减价格\n        Long productId = product.getId();\n        //会员价格\n        relateAndInsertList(memberPriceDao, productParam.getMemberPriceList(), productId);\n        //阶梯价格\n        relateAndInsertList(productLadderDao, productParam.getProductLadderList(), productId);\n        //满减价格\n        relateAndInsertList(productFullReductionDao, productParam.getProductFullReductionList(), productId);\n        //处理sku的编码\n        handleSkuStockCode(productParam.getSkuStockList(),productId);\n        //添加sku库存信息\n        relateAndInsertList(skuStockDao, productParam.getSkuStockList(), productId);\n        //添加商品参数,添加自定义商品规格\n        relateAndInsertList(productAttributeValueDao, productParam.getProductAttributeValueList(), productId);\n        //关联专题\n        relateAndInsertList(subjectProductRelationDao, productParam.getSubjectProductRelationList(), productId);\n        //关联优选\n        relateAndInsertList(prefrenceAreaProductRelationDao, productParam.getPrefrenceAreaProductRelationList(), productId);\n        count = 1;\n        return count;\n    }\n\n    private void handleSkuStockCode(List<PmsSkuStock> skuStockList, Long productId) {\n        if(CollectionUtils.isEmpty(skuStockList))return;\n        for(int i=0;i<skuStockList.size();i++){\n            PmsSkuStock skuStock = skuStockList.get(i);\n            if(StrUtil.isEmpty(skuStock.getSkuCode())){\n                SimpleDateFormat sdf = new SimpleDateFormat(\"yyyyMMdd\");\n                StringBuilder sb = new StringBuilder();\n                //日期\n                sb.append(sdf.format(new Date()));\n                //四位商品id\n                sb.append(String.format(\"%04d\", productId));\n                //三位索引id\n                sb.append(String.format(\"%03d\", i+1));\n                skuStock.setSkuCode(sb.toString());\n            }\n        }\n    }\n\n    @Override\n    public PmsProductResult getUpdateInfo(Long id) {\n        return productDao.getUpdateInfo(id);\n    }\n\n    @Override\n    public int update(Long id, PmsProductParam productParam) {\n        int count;\n        //更新商品信息\n        PmsProduct product = productParam;\n        product.setId(id);\n        productMapper.updateByPrimaryKeySelective(product);\n        //会员价格\n        PmsMemberPriceExample pmsMemberPriceExample = new PmsMemberPriceExample();\n        pmsMemberPriceExample.createCriteria().andProductIdEqualTo(id);\n        memberPriceMapper.deleteByExample(pmsMemberPriceExample);\n        relateAndInsertList(memberPriceDao, productParam.getMemberPriceList(), id);\n        //阶梯价格\n        PmsProductLadderExample ladderExample = new PmsProductLadderExample();\n        ladderExample.createCriteria().andProductIdEqualTo(id);\n        productLadderMapper.deleteByExample(ladderExample);\n        relateAndInsertList(productLadderDao, productParam.getProductLadderList(), id);\n        //满减价格\n        PmsProductFullReductionExample fullReductionExample = new PmsProductFullReductionExample();\n        fullReductionExample.createCriteria().andProductIdEqualTo(id);\n        productFullReductionMapper.deleteByExample(fullReductionExample);\n        relateAndInsertList(productFullReductionDao, productParam.getProductFullReductionList(), id);\n        //修改sku库存信息\n        handleUpdateSkuStockList(id, productParam);\n        //修改商品参数,添加自定义商品规格\n        PmsProductAttributeValueExample productAttributeValueExample = new PmsProductAttributeValueExample();\n        productAttributeValueExample.createCriteria().andProductIdEqualTo(id);\n        productAttributeValueMapper.deleteByExample(productAttributeValueExample);\n        relateAndInsertList(productAttributeValueDao, productParam.getProductAttributeValueList(), id);\n        //关联专题\n        CmsSubjectProductRelationExample subjectProductRelationExample = new CmsSubjectProductRelationExample();\n        subjectProductRelationExample.createCriteria().andProductIdEqualTo(id);\n        subjectProductRelationMapper.deleteByExample(subjectProductRelationExample);\n        relateAndInsertList(subjectProductRelationDao, productParam.getSubjectProductRelationList(), id);\n        //关联优选\n        CmsPrefrenceAreaProductRelationExample prefrenceAreaExample = new CmsPrefrenceAreaProductRelationExample();\n        prefrenceAreaExample.createCriteria().andProductIdEqualTo(id);\n        prefrenceAreaProductRelationMapper.deleteByExample(prefrenceAreaExample);\n        relateAndInsertList(prefrenceAreaProductRelationDao, productParam.getPrefrenceAreaProductRelationList(), id);\n        count = 1;\n        return count;\n    }\n\n    private void handleUpdateSkuStockList(Long id, PmsProductParam productParam) {\n        //当前的sku信息\n        List<PmsSkuStock> currSkuList = productParam.getSkuStockList();\n        //当前没有sku直接删除\n        if(CollUtil.isEmpty(currSkuList)){\n            PmsSkuStockExample skuStockExample = new PmsSkuStockExample();\n            skuStockExample.createCriteria().andProductIdEqualTo(id);\n            skuStockMapper.deleteByExample(skuStockExample);\n            return;\n        }\n        //获取初始sku信息\n        PmsSkuStockExample skuStockExample = new PmsSkuStockExample();\n        skuStockExample.createCriteria().andProductIdEqualTo(id);\n        List<PmsSkuStock> oriStuList = skuStockMapper.selectByExample(skuStockExample);\n        //获取新增sku信息\n        List<PmsSkuStock> insertSkuList = currSkuList.stream().filter(item->item.getId()==null).collect(Collectors.toList());\n        //获取需要更新的sku信息\n        List<PmsSkuStock> updateSkuList = currSkuList.stream().filter(item->item.getId()!=null).collect(Collectors.toList());\n        List<Long> updateSkuIds = updateSkuList.stream().map(PmsSkuStock::getId).collect(Collectors.toList());\n        //获取需要删除的sku信息\n        List<PmsSkuStock> removeSkuList = oriStuList.stream().filter(item-> !updateSkuIds.contains(item.getId())).collect(Collectors.toList());\n        handleSkuStockCode(insertSkuList,id);\n        handleSkuStockCode(updateSkuList,id);\n        //新增sku\n        if(CollUtil.isNotEmpty(insertSkuList)){\n            relateAndInsertList(skuStockDao, insertSkuList, id);\n        }\n        //删除sku\n        if(CollUtil.isNotEmpty(removeSkuList)){\n            List<Long> removeSkuIds = removeSkuList.stream().map(PmsSkuStock::getId).collect(Collectors.toList());\n            PmsSkuStockExample removeExample = new PmsSkuStockExample();\n            removeExample.createCriteria().andIdIn(removeSkuIds);\n            skuStockMapper.deleteByExample(removeExample);\n        }\n        //修改sku\n        if(CollUtil.isNotEmpty(updateSkuList)){\n            for (PmsSkuStock pmsSkuStock : updateSkuList) {\n                skuStockMapper.updateByPrimaryKeySelective(pmsSkuStock);\n            }\n        }\n\n    }\n\n    @Override\n    public List<PmsProduct> list(PmsProductQueryParam productQueryParam, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        PmsProductExample productExample = new PmsProductExample();\n        PmsProductExample.Criteria criteria = productExample.createCriteria();\n        criteria.andDeleteStatusEqualTo(0);\n        if (productQueryParam.getPublishStatus() != null) {\n            criteria.andPublishStatusEqualTo(productQueryParam.getPublishStatus());\n        }\n        if (productQueryParam.getVerifyStatus() != null) {\n            criteria.andVerifyStatusEqualTo(productQueryParam.getVerifyStatus());\n        }\n        if (!StrUtil.isEmpty(productQueryParam.getKeyword())) {\n            criteria.andNameLike(\"%\" + productQueryParam.getKeyword() + \"%\");\n        }\n        if (!StrUtil.isEmpty(productQueryParam.getProductSn())) {\n            criteria.andProductSnEqualTo(productQueryParam.getProductSn());\n        }\n        if (productQueryParam.getBrandId() != null) {\n            criteria.andBrandIdEqualTo(productQueryParam.getBrandId());\n        }\n        if (productQueryParam.getProductCategoryId() != null) {\n            criteria.andProductCategoryIdEqualTo(productQueryParam.getProductCategoryId());\n        }\n        return productMapper.selectByExample(productExample);\n    }\n\n    @Override\n    public int updateVerifyStatus(List<Long> ids, Integer verifyStatus, String detail) {\n        PmsProduct product = new PmsProduct();\n        product.setVerifyStatus(verifyStatus);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andIdIn(ids);\n        List<PmsProductVertifyRecord> list = new ArrayList<>();\n        int count = productMapper.updateByExampleSelective(product, example);\n        //修改完审核状态后插入审核记录\n        for (Long id : ids) {\n            PmsProductVertifyRecord record = new PmsProductVertifyRecord();\n            record.setProductId(id);\n            record.setCreateTime(new Date());\n            record.setDetail(detail);\n            record.setStatus(verifyStatus);\n            record.setVertifyMan(\"test\");\n            list.add(record);\n        }\n        productVertifyRecordDao.insertList(list);\n        return count;\n    }\n\n    @Override\n    public int updatePublishStatus(List<Long> ids, Integer publishStatus) {\n        PmsProduct record = new PmsProduct();\n        record.setPublishStatus(publishStatus);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andIdIn(ids);\n        return productMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public int updateRecommendStatus(List<Long> ids, Integer recommendStatus) {\n        PmsProduct record = new PmsProduct();\n        record.setRecommandStatus(recommendStatus);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andIdIn(ids);\n        return productMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public int updateNewStatus(List<Long> ids, Integer newStatus) {\n        PmsProduct record = new PmsProduct();\n        record.setNewStatus(newStatus);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andIdIn(ids);\n        return productMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public int updateDeleteStatus(List<Long> ids, Integer deleteStatus) {\n        PmsProduct record = new PmsProduct();\n        record.setDeleteStatus(deleteStatus);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andIdIn(ids);\n        return productMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public List<PmsProduct> list(String keyword) {\n        PmsProductExample productExample = new PmsProductExample();\n        PmsProductExample.Criteria criteria = productExample.createCriteria();\n        criteria.andDeleteStatusEqualTo(0);\n        if(!StrUtil.isEmpty(keyword)){\n            criteria.andNameLike(\"%\" + keyword + \"%\");\n            productExample.or().andDeleteStatusEqualTo(0).andProductSnLike(\"%\" + keyword + \"%\");\n        }\n        return productMapper.selectByExample(productExample);\n    }\n\n    /**\n     * 建立和插入关系表操作\n     *\n     * @param dao       可以操作的dao\n     * @param dataList  要插入的数据\n     * @param productId 建立关系的id\n     */\n    private void relateAndInsertList(Object dao, List dataList, Long productId) {\n        try {\n            if (CollectionUtils.isEmpty(dataList)) return;\n            for (Object item : dataList) {\n                Method setId = item.getClass().getMethod(\"setId\", Long.class);\n                setId.invoke(item, (Long) null);\n                Method setProductId = item.getClass().getMethod(\"setProductId\", Long.class);\n                setProductId.invoke(item, productId);\n            }\n            Method insertList = dao.getClass().getMethod(\"insertList\", List.class);\n            insertList.invoke(dao, dataList);\n        } catch (Exception e) {\n            LOGGER.warn(\"创建商品出错:{}\", e.getMessage());\n            throw new RuntimeException(e.getMessage());\n        }\n    }\n\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/PmsSkuStockServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.macro.mall.dao.PmsSkuStockDao;\nimport com.macro.mall.mapper.PmsSkuStockMapper;\nimport com.macro.mall.model.PmsSkuStock;\nimport com.macro.mall.model.PmsSkuStockExample;\nimport com.macro.mall.service.PmsSkuStockService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 商品SKU库存管理Service实现类\n * Created by macro on 2018/4/27.\n */\n@Service\npublic class PmsSkuStockServiceImpl implements PmsSkuStockService {\n    @Autowired\n    private PmsSkuStockMapper skuStockMapper;\n    @Autowired\n    private PmsSkuStockDao skuStockDao;\n\n    @Override\n    public List<PmsSkuStock> getList(Long pid, String keyword) {\n        PmsSkuStockExample example = new PmsSkuStockExample();\n        PmsSkuStockExample.Criteria criteria = example.createCriteria().andProductIdEqualTo(pid);\n        if (!StrUtil.isEmpty(keyword)) {\n            criteria.andSkuCodeLike(\"%\" + keyword + \"%\");\n        }\n        return skuStockMapper.selectByExample(example);\n    }\n\n    @Override\n    public int update(Long pid, List<PmsSkuStock> skuStockList) {\n        List<PmsSkuStock> filterSkuList = skuStockList.stream()\n                .filter(item -> pid.equals(item.getProductId()))\n                .collect(Collectors.toList());\n        return skuStockDao.replaceList(filterSkuList);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsCouponHistoryServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsCouponHistoryMapper;\nimport com.macro.mall.model.SmsCouponHistory;\nimport com.macro.mall.model.SmsCouponHistoryExample;\nimport com.macro.mall.service.SmsCouponHistoryService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 优惠券领取记录管理Service实现类\n * Created by macro on 2018/11/6.\n */\n@Service\npublic class SmsCouponHistoryServiceImpl implements SmsCouponHistoryService {\n    @Autowired\n    private SmsCouponHistoryMapper historyMapper;\n    @Override\n    public List<SmsCouponHistory> list(Long couponId, Integer useStatus, String orderSn, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        SmsCouponHistoryExample example = new SmsCouponHistoryExample();\n        SmsCouponHistoryExample.Criteria criteria = example.createCriteria();\n        if(couponId!=null){\n            criteria.andCouponIdEqualTo(couponId);\n        }\n        if(useStatus!=null){\n            criteria.andUseStatusEqualTo(useStatus);\n        }\n        if(!StrUtil.isEmpty(orderSn)){\n            criteria.andOrderSnEqualTo(orderSn);\n        }\n        return historyMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsCouponServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.SmsCouponDao;\nimport com.macro.mall.dao.SmsCouponProductCategoryRelationDao;\nimport com.macro.mall.dao.SmsCouponProductRelationDao;\nimport com.macro.mall.dto.SmsCouponParam;\nimport com.macro.mall.mapper.SmsCouponMapper;\nimport com.macro.mall.mapper.SmsCouponProductCategoryRelationMapper;\nimport com.macro.mall.mapper.SmsCouponProductRelationMapper;\nimport com.macro.mall.model.*;\nimport com.macro.mall.service.SmsCouponService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 优惠券管理Service实现类\n * Created by macro on 2018/8/28.\n */\n@Service\npublic class SmsCouponServiceImpl implements SmsCouponService {\n    @Autowired\n    private SmsCouponMapper couponMapper;\n    @Autowired\n    private SmsCouponProductRelationMapper productRelationMapper;\n    @Autowired\n    private SmsCouponProductCategoryRelationMapper productCategoryRelationMapper;\n    @Autowired\n    private SmsCouponProductRelationDao productRelationDao;\n    @Autowired\n    private SmsCouponProductCategoryRelationDao productCategoryRelationDao;\n    @Autowired\n    private SmsCouponDao couponDao;\n    @Override\n    public int create(SmsCouponParam couponParam) {\n        couponParam.setCount(couponParam.getPublishCount());\n        couponParam.setUseCount(0);\n        couponParam.setReceiveCount(0);\n        //插入优惠券表\n        int count = couponMapper.insert(couponParam);\n        //插入优惠券和商品关系表\n        if(couponParam.getUseType().equals(2)){\n            for(SmsCouponProductRelation productRelation:couponParam.getProductRelationList()){\n                productRelation.setCouponId(couponParam.getId());\n            }\n            productRelationDao.insertList(couponParam.getProductRelationList());\n        }\n        //插入优惠券和商品分类关系表\n        if(couponParam.getUseType().equals(1)){\n            for (SmsCouponProductCategoryRelation couponProductCategoryRelation : couponParam.getProductCategoryRelationList()) {\n                couponProductCategoryRelation.setCouponId(couponParam.getId());\n            }\n            productCategoryRelationDao.insertList(couponParam.getProductCategoryRelationList());\n        }\n        return count;\n    }\n\n    @Override\n    public int delete(Long id) {\n        //删除优惠券\n        int count = couponMapper.deleteByPrimaryKey(id);\n        //删除商品关联\n        deleteProductRelation(id);\n        //删除商品分类关联\n        deleteProductCategoryRelation(id);\n        return count;\n    }\n\n    private void deleteProductCategoryRelation(Long id) {\n        SmsCouponProductCategoryRelationExample productCategoryRelationExample = new SmsCouponProductCategoryRelationExample();\n        productCategoryRelationExample.createCriteria().andCouponIdEqualTo(id);\n        productCategoryRelationMapper.deleteByExample(productCategoryRelationExample);\n    }\n\n    private void deleteProductRelation(Long id) {\n        SmsCouponProductRelationExample productRelationExample = new SmsCouponProductRelationExample();\n        productRelationExample.createCriteria().andCouponIdEqualTo(id);\n        productRelationMapper.deleteByExample(productRelationExample);\n    }\n\n    @Override\n    public int update(Long id, SmsCouponParam couponParam) {\n        couponParam.setId(id);\n        int count =couponMapper.updateByPrimaryKey(couponParam);\n        //删除后插入优惠券和商品关系表\n        if(couponParam.getUseType().equals(2)){\n            for(SmsCouponProductRelation productRelation:couponParam.getProductRelationList()){\n                productRelation.setCouponId(couponParam.getId());\n            }\n            deleteProductRelation(id);\n            productRelationDao.insertList(couponParam.getProductRelationList());\n        }\n        //删除后插入优惠券和商品分类关系表\n        if(couponParam.getUseType().equals(1)){\n            for (SmsCouponProductCategoryRelation couponProductCategoryRelation : couponParam.getProductCategoryRelationList()) {\n                couponProductCategoryRelation.setCouponId(couponParam.getId());\n            }\n            deleteProductCategoryRelation(id);\n            productCategoryRelationDao.insertList(couponParam.getProductCategoryRelationList());\n        }\n        return count;\n    }\n\n    @Override\n    public List<SmsCoupon> list(String name, Integer type, Integer pageSize, Integer pageNum) {\n        SmsCouponExample example = new SmsCouponExample();\n        SmsCouponExample.Criteria criteria = example.createCriteria();\n        if(!StrUtil.isEmpty(name)){\n            criteria.andNameLike(\"%\"+name+\"%\");\n        }\n        if(type!=null){\n            criteria.andTypeEqualTo(type);\n        }\n        PageHelper.startPage(pageNum,pageSize);\n        return couponMapper.selectByExample(example);\n    }\n\n    @Override\n    public SmsCouponParam getItem(Long id) {\n        return couponDao.getItem(id);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsFlashPromotionProductRelationServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.SmsFlashPromotionProductRelationDao;\nimport com.macro.mall.dto.SmsFlashPromotionProduct;\nimport com.macro.mall.mapper.SmsFlashPromotionProductRelationMapper;\nimport com.macro.mall.model.SmsFlashPromotionProductRelation;\nimport com.macro.mall.model.SmsFlashPromotionProductRelationExample;\nimport com.macro.mall.service.SmsFlashPromotionProductRelationService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 限时购商品关联管理Service实现类\n * Created by macro on 2018/11/16.\n */\n@Service\npublic class SmsFlashPromotionProductRelationServiceImpl implements SmsFlashPromotionProductRelationService {\n    @Autowired\n    private SmsFlashPromotionProductRelationMapper relationMapper;\n    @Autowired\n    private SmsFlashPromotionProductRelationDao relationDao;\n    @Override\n    public int create(List<SmsFlashPromotionProductRelation> relationList) {\n        for (SmsFlashPromotionProductRelation relation : relationList) {\n            relationMapper.insert(relation);\n        }\n        return relationList.size();\n    }\n\n    @Override\n    public int update(Long id, SmsFlashPromotionProductRelation relation) {\n        relation.setId(id);\n        return relationMapper.updateByPrimaryKey(relation);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return relationMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public SmsFlashPromotionProductRelation getItem(Long id) {\n        return relationMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public List<SmsFlashPromotionProduct> list(Long flashPromotionId, Long flashPromotionSessionId, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        return relationDao.getList(flashPromotionId,flashPromotionSessionId);\n    }\n\n    @Override\n    public long getCount(Long flashPromotionId, Long flashPromotionSessionId) {\n        SmsFlashPromotionProductRelationExample example = new SmsFlashPromotionProductRelationExample();\n        example.createCriteria()\n                .andFlashPromotionIdEqualTo(flashPromotionId)\n                .andFlashPromotionSessionIdEqualTo(flashPromotionSessionId);\n        return relationMapper.countByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsFlashPromotionServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsFlashPromotionMapper;\nimport com.macro.mall.model.SmsFlashPromotion;\nimport com.macro.mall.model.SmsFlashPromotionExample;\nimport com.macro.mall.service.SmsFlashPromotionService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 限时购活动管理Service实现类\n * Created by macro on 2018/11/16.\n */\n@Service\npublic class SmsFlashPromotionServiceImpl implements SmsFlashPromotionService {\n    @Autowired\n    private SmsFlashPromotionMapper flashPromotionMapper;\n\n    @Override\n    public int create(SmsFlashPromotion flashPromotion) {\n        flashPromotion.setCreateTime(new Date());\n        return flashPromotionMapper.insert(flashPromotion);\n    }\n\n    @Override\n    public int update(Long id, SmsFlashPromotion flashPromotion) {\n        flashPromotion.setId(id);\n        return flashPromotionMapper.updateByPrimaryKey(flashPromotion);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return flashPromotionMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public int updateStatus(Long id, Integer status) {\n        SmsFlashPromotion flashPromotion = new SmsFlashPromotion();\n        flashPromotion.setId(id);\n        flashPromotion.setStatus(status);\n        return flashPromotionMapper.updateByPrimaryKeySelective(flashPromotion);\n    }\n\n    @Override\n    public SmsFlashPromotion getItem(Long id) {\n        return flashPromotionMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public List<SmsFlashPromotion> list(String keyword, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        SmsFlashPromotionExample example = new SmsFlashPromotionExample();\n        if (!StrUtil.isEmpty(keyword)) {\n            example.createCriteria().andTitleLike(\"%\" + keyword + \"%\");\n        }\n        return flashPromotionMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsFlashPromotionSessionServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.macro.mall.dto.SmsFlashPromotionSessionDetail;\nimport com.macro.mall.mapper.SmsFlashPromotionSessionMapper;\nimport com.macro.mall.model.SmsFlashPromotionSession;\nimport com.macro.mall.model.SmsFlashPromotionSessionExample;\nimport com.macro.mall.service.SmsFlashPromotionProductRelationService;\nimport com.macro.mall.service.SmsFlashPromotionSessionService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 限时购场次管理Service实现类\n * Created by macro on 2018/11/16.\n */\n@Service\npublic class SmsFlashPromotionSessionServiceImpl implements SmsFlashPromotionSessionService {\n    @Autowired\n    private SmsFlashPromotionSessionMapper promotionSessionMapper;\n    @Autowired\n    private SmsFlashPromotionProductRelationService relationService;\n\n    @Override\n    public int create(SmsFlashPromotionSession promotionSession) {\n        promotionSession.setCreateTime(new Date());\n        return promotionSessionMapper.insert(promotionSession);\n    }\n\n    @Override\n    public int update(Long id, SmsFlashPromotionSession promotionSession) {\n        promotionSession.setId(id);\n        return promotionSessionMapper.updateByPrimaryKey(promotionSession);\n    }\n\n    @Override\n    public int updateStatus(Long id, Integer status) {\n        SmsFlashPromotionSession promotionSession = new SmsFlashPromotionSession();\n        promotionSession.setId(id);\n        promotionSession.setStatus(status);\n        return promotionSessionMapper.updateByPrimaryKeySelective(promotionSession);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return promotionSessionMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public SmsFlashPromotionSession getItem(Long id) {\n        return promotionSessionMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public List<SmsFlashPromotionSession> list() {\n        SmsFlashPromotionSessionExample example = new SmsFlashPromotionSessionExample();\n        return promotionSessionMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<SmsFlashPromotionSessionDetail> selectList(Long flashPromotionId) {\n        List<SmsFlashPromotionSessionDetail> result = new ArrayList<>();\n        SmsFlashPromotionSessionExample example = new SmsFlashPromotionSessionExample();\n        example.createCriteria().andStatusEqualTo(1);\n        List<SmsFlashPromotionSession> list = promotionSessionMapper.selectByExample(example);\n        for (SmsFlashPromotionSession promotionSession : list) {\n            SmsFlashPromotionSessionDetail detail = new SmsFlashPromotionSessionDetail();\n            BeanUtils.copyProperties(promotionSession, detail);\n            long count = relationService.getCount(flashPromotionId, promotionSession.getId());\n            detail.setProductCount(count);\n            result.add(detail);\n        }\n        return result;\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeAdvertiseServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsHomeAdvertiseMapper;\nimport com.macro.mall.model.SmsHomeAdvertise;\nimport com.macro.mall.model.SmsHomeAdvertiseExample;\nimport com.macro.mall.service.SmsHomeAdvertiseService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.text.ParseException;\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 首页广告管理Service实现类\n * Created by macro on 2018/11/7.\n */\n@Service\npublic class SmsHomeAdvertiseServiceImpl implements SmsHomeAdvertiseService {\n    @Autowired\n    private SmsHomeAdvertiseMapper advertiseMapper;\n\n    @Override\n    public int create(SmsHomeAdvertise advertise) {\n        advertise.setClickCount(0);\n        advertise.setOrderCount(0);\n        return advertiseMapper.insert(advertise);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample();\n        example.createCriteria().andIdIn(ids);\n        return advertiseMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int updateStatus(Long id, Integer status) {\n        SmsHomeAdvertise record = new SmsHomeAdvertise();\n        record.setId(id);\n        record.setStatus(status);\n        return advertiseMapper.updateByPrimaryKeySelective(record);\n    }\n\n    @Override\n    public SmsHomeAdvertise getItem(Long id) {\n        return advertiseMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int update(Long id, SmsHomeAdvertise advertise) {\n        advertise.setId(id);\n        return advertiseMapper.updateByPrimaryKeySelective(advertise);\n    }\n\n    @Override\n    public List<SmsHomeAdvertise> list(String name, Integer type, String endTime, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample();\n        SmsHomeAdvertiseExample.Criteria criteria = example.createCriteria();\n        if (!StrUtil.isEmpty(name)) {\n            criteria.andNameLike(\"%\" + name + \"%\");\n        }\n        if (type != null) {\n            criteria.andTypeEqualTo(type);\n        }\n        if (!StrUtil.isEmpty(endTime)) {\n            String startStr = endTime + \" 00:00:00\";\n            String endStr = endTime + \" 23:59:59\";\n            SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\");\n            Date start = null;\n            try {\n                start = sdf.parse(startStr);\n            } catch (ParseException e) {\n                e.printStackTrace();\n            }\n            Date end = null;\n            try {\n                end = sdf.parse(endStr);\n            } catch (ParseException e) {\n                e.printStackTrace();\n            }\n            if (start != null && end != null) {\n                criteria.andEndTimeBetween(start, end);\n            }\n        }\n        example.setOrderByClause(\"sort desc\");\n        return advertiseMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeBrandServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsHomeBrandMapper;\nimport com.macro.mall.model.SmsHomeBrand;\nimport com.macro.mall.model.SmsHomeBrandExample;\nimport com.macro.mall.service.SmsHomeBrandService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 首页品牌管理Service实现类\n * Created by macro on 2018/11/6.\n */\n@Service\npublic class SmsHomeBrandServiceImpl implements SmsHomeBrandService {\n    @Autowired\n    private SmsHomeBrandMapper homeBrandMapper;\n    @Override\n    public int create(List<SmsHomeBrand> homeBrandList) {\n        for (SmsHomeBrand smsHomeBrand : homeBrandList) {\n            smsHomeBrand.setRecommendStatus(1);\n            smsHomeBrand.setSort(0);\n            homeBrandMapper.insert(smsHomeBrand);\n        }\n        return homeBrandList.size();\n    }\n\n    @Override\n    public int updateSort(Long id, Integer sort) {\n        SmsHomeBrand homeBrand = new SmsHomeBrand();\n        homeBrand.setId(id);\n        homeBrand.setSort(sort);\n        return homeBrandMapper.updateByPrimaryKeySelective(homeBrand);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        SmsHomeBrandExample example = new SmsHomeBrandExample();\n        example.createCriteria().andIdIn(ids);\n        return homeBrandMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int updateRecommendStatus(List<Long> ids, Integer recommendStatus) {\n        SmsHomeBrandExample example = new SmsHomeBrandExample();\n        example.createCriteria().andIdIn(ids);\n        SmsHomeBrand record = new SmsHomeBrand();\n        record.setRecommendStatus(recommendStatus);\n        return homeBrandMapper.updateByExampleSelective(record,example);\n    }\n\n    @Override\n    public List<SmsHomeBrand> list(String brandName, Integer recommendStatus, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        SmsHomeBrandExample example = new SmsHomeBrandExample();\n        SmsHomeBrandExample.Criteria criteria = example.createCriteria();\n        if(!StrUtil.isEmpty(brandName)){\n            criteria.andBrandNameLike(\"%\"+brandName+\"%\");\n        }\n        if(recommendStatus!=null){\n            criteria.andRecommendStatusEqualTo(recommendStatus);\n        }\n        example.setOrderByClause(\"sort desc\");\n        return homeBrandMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeNewProductServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsHomeNewProductMapper;\nimport com.macro.mall.model.SmsHomeNewProduct;\nimport com.macro.mall.model.SmsHomeNewProductExample;\nimport com.macro.mall.service.SmsHomeNewProductService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 首页新品推荐管理Service实现类\n * Created by macro on 2018/11/6.\n */\n@Service\npublic class SmsHomeNewProductServiceImpl implements SmsHomeNewProductService {\n    @Autowired\n    private SmsHomeNewProductMapper homeNewProductMapper;\n    @Override\n    public int create(List<SmsHomeNewProduct> homeNewProductList) {\n        for (SmsHomeNewProduct SmsHomeNewProduct : homeNewProductList) {\n            SmsHomeNewProduct.setRecommendStatus(1);\n            SmsHomeNewProduct.setSort(0);\n            homeNewProductMapper.insert(SmsHomeNewProduct);\n        }\n        return homeNewProductList.size();\n    }\n\n    @Override\n    public int updateSort(Long id, Integer sort) {\n        SmsHomeNewProduct homeNewProduct = new SmsHomeNewProduct();\n        homeNewProduct.setId(id);\n        homeNewProduct.setSort(sort);\n        return homeNewProductMapper.updateByPrimaryKeySelective(homeNewProduct);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        SmsHomeNewProductExample example = new SmsHomeNewProductExample();\n        example.createCriteria().andIdIn(ids);\n        return homeNewProductMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int updateRecommendStatus(List<Long> ids, Integer recommendStatus) {\n        SmsHomeNewProductExample example = new SmsHomeNewProductExample();\n        example.createCriteria().andIdIn(ids);\n        SmsHomeNewProduct record = new SmsHomeNewProduct();\n        record.setRecommendStatus(recommendStatus);\n        return homeNewProductMapper.updateByExampleSelective(record,example);\n    }\n\n    @Override\n    public List<SmsHomeNewProduct> list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        SmsHomeNewProductExample example = new SmsHomeNewProductExample();\n        SmsHomeNewProductExample.Criteria criteria = example.createCriteria();\n        if(!StrUtil.isEmpty(productName)){\n            criteria.andProductNameLike(\"%\"+productName+\"%\");\n        }\n        if(recommendStatus!=null){\n            criteria.andRecommendStatusEqualTo(recommendStatus);\n        }\n        example.setOrderByClause(\"sort desc\");\n        return homeNewProductMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeRecommendProductServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsHomeRecommendProductMapper;\nimport com.macro.mall.model.SmsHomeRecommendProduct;\nimport com.macro.mall.model.SmsHomeRecommendProductExample;\nimport com.macro.mall.service.SmsHomeRecommendProductService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 首页人气推荐管理Service实现类\n * Created by macro on 2018/11/7.\n */\n@Service\npublic class SmsHomeRecommendProductServiceImpl implements SmsHomeRecommendProductService {\n    @Autowired\n    private SmsHomeRecommendProductMapper recommendProductMapper;\n    @Override\n    public int create(List<SmsHomeRecommendProduct> homeRecommendProductList) {\n        for (SmsHomeRecommendProduct recommendProduct : homeRecommendProductList) {\n            recommendProduct.setRecommendStatus(1);\n            recommendProduct.setSort(0);\n            recommendProductMapper.insert(recommendProduct);\n        }\n        return homeRecommendProductList.size();\n    }\n\n    @Override\n    public int updateSort(Long id, Integer sort) {\n        SmsHomeRecommendProduct recommendProduct = new SmsHomeRecommendProduct();\n        recommendProduct.setId(id);\n        recommendProduct.setSort(sort);\n        return recommendProductMapper.updateByPrimaryKeySelective(recommendProduct);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        SmsHomeRecommendProductExample example = new SmsHomeRecommendProductExample();\n        example.createCriteria().andIdIn(ids);\n        return recommendProductMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int updateRecommendStatus(List<Long> ids, Integer recommendStatus) {\n        SmsHomeRecommendProductExample example = new SmsHomeRecommendProductExample();\n        example.createCriteria().andIdIn(ids);\n        SmsHomeRecommendProduct record = new SmsHomeRecommendProduct();\n        record.setRecommendStatus(recommendStatus);\n        return recommendProductMapper.updateByExampleSelective(record,example);\n    }\n\n    @Override\n    public List<SmsHomeRecommendProduct> list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        SmsHomeRecommendProductExample example = new SmsHomeRecommendProductExample();\n        SmsHomeRecommendProductExample.Criteria criteria = example.createCriteria();\n        if(!StrUtil.isEmpty(productName)){\n            criteria.andProductNameLike(\"%\"+productName+\"%\");\n        }\n        if(recommendStatus!=null){\n            criteria.andRecommendStatusEqualTo(recommendStatus);\n        }\n        example.setOrderByClause(\"sort desc\");\n        return recommendProductMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeRecommendSubjectServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.SmsHomeRecommendSubjectMapper;\nimport com.macro.mall.model.SmsHomeRecommendSubject;\nimport com.macro.mall.model.SmsHomeRecommendSubjectExample;\nimport com.macro.mall.service.SmsHomeRecommendSubjectService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 首页专题推荐管理Service实现类\n * Created by macro on 2018/11/7.\n */\n@Service\npublic class SmsHomeRecommendSubjectServiceImpl implements SmsHomeRecommendSubjectService {\n    @Autowired\n    private SmsHomeRecommendSubjectMapper smsHomeRecommendSubjectMapper;\n    @Override\n    public int create(List<SmsHomeRecommendSubject> recommendSubjectList) {\n        for (SmsHomeRecommendSubject recommendSubject : recommendSubjectList) {\n            recommendSubject.setRecommendStatus(1);\n            recommendSubject.setSort(0);\n            smsHomeRecommendSubjectMapper.insert(recommendSubject);\n        }\n        return recommendSubjectList.size();\n    }\n\n    @Override\n    public int updateSort(Long id, Integer sort) {\n        SmsHomeRecommendSubject recommendSubject = new SmsHomeRecommendSubject();\n        recommendSubject.setId(id);\n        recommendSubject.setSort(sort);\n        return smsHomeRecommendSubjectMapper.updateByPrimaryKeySelective(recommendSubject);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        SmsHomeRecommendSubjectExample example = new SmsHomeRecommendSubjectExample();\n        example.createCriteria().andIdIn(ids);\n        return smsHomeRecommendSubjectMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int updateRecommendStatus(List<Long> ids, Integer recommendStatus) {\n        SmsHomeRecommendSubjectExample example = new SmsHomeRecommendSubjectExample();\n        example.createCriteria().andIdIn(ids);\n        SmsHomeRecommendSubject record = new SmsHomeRecommendSubject();\n        record.setRecommendStatus(recommendStatus);\n        return smsHomeRecommendSubjectMapper.updateByExampleSelective(record,example);\n    }\n\n    @Override\n    public List<SmsHomeRecommendSubject> list(String subjectName, Integer recommendStatus, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        SmsHomeRecommendSubjectExample example = new SmsHomeRecommendSubjectExample();\n        SmsHomeRecommendSubjectExample.Criteria criteria = example.createCriteria();\n        if(!StrUtil.isEmpty(subjectName)){\n            criteria.andSubjectNameLike(\"%\"+subjectName+\"%\");\n        }\n        if(recommendStatus!=null){\n            criteria.andRecommendStatusEqualTo(recommendStatus);\n        }\n        example.setOrderByClause(\"sort desc\");\n        return smsHomeRecommendSubjectMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminCacheServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.collection.CollUtil;\nimport com.macro.mall.common.service.RedisService;\nimport com.macro.mall.dao.UmsAdminRoleRelationDao;\nimport com.macro.mall.mapper.UmsAdminRoleRelationMapper;\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsAdminRoleRelation;\nimport com.macro.mall.model.UmsAdminRoleRelationExample;\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.service.UmsAdminCacheService;\nimport com.macro.mall.service.UmsAdminService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 后台用户缓存管理Service实现类\n * Created by macro on 2020/3/13.\n */\n@Service\npublic class UmsAdminCacheServiceImpl implements UmsAdminCacheService {\n    @Autowired\n    private UmsAdminService adminService;\n    @Autowired\n    private RedisService redisService;\n    @Autowired\n    private UmsAdminRoleRelationMapper adminRoleRelationMapper;\n    @Autowired\n    private UmsAdminRoleRelationDao adminRoleRelationDao;\n    @Value(\"${redis.database}\")\n    private String REDIS_DATABASE;\n    @Value(\"${redis.expire.common}\")\n    private Long REDIS_EXPIRE;\n    @Value(\"${redis.key.admin}\")\n    private String REDIS_KEY_ADMIN;\n    @Value(\"${redis.key.resourceList}\")\n    private String REDIS_KEY_RESOURCE_LIST;\n\n    @Override\n    public void delAdmin(Long adminId) {\n        UmsAdmin admin = adminService.getItem(adminId);\n        if (admin != null) {\n            String key = REDIS_DATABASE + \":\" + REDIS_KEY_ADMIN + \":\" + admin.getUsername();\n            redisService.del(key);\n        }\n    }\n\n    @Override\n    public void delResourceList(Long adminId) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_RESOURCE_LIST + \":\" + adminId;\n        redisService.del(key);\n    }\n\n    @Override\n    public void delResourceListByRole(Long roleId) {\n        UmsAdminRoleRelationExample example = new UmsAdminRoleRelationExample();\n        example.createCriteria().andRoleIdEqualTo(roleId);\n        List<UmsAdminRoleRelation> relationList = adminRoleRelationMapper.selectByExample(example);\n        if (CollUtil.isNotEmpty(relationList)) {\n            String keyPrefix = REDIS_DATABASE + \":\" + REDIS_KEY_RESOURCE_LIST + \":\";\n            List<String> keys = relationList.stream().map(relation -> keyPrefix + relation.getAdminId()).collect(Collectors.toList());\n            redisService.del(keys);\n        }\n    }\n\n    @Override\n    public void delResourceListByRoleIds(List<Long> roleIds) {\n        UmsAdminRoleRelationExample example = new UmsAdminRoleRelationExample();\n        example.createCriteria().andRoleIdIn(roleIds);\n        List<UmsAdminRoleRelation> relationList = adminRoleRelationMapper.selectByExample(example);\n        if (CollUtil.isNotEmpty(relationList)) {\n            String keyPrefix = REDIS_DATABASE + \":\" + REDIS_KEY_RESOURCE_LIST + \":\";\n            List<String> keys = relationList.stream().map(relation -> keyPrefix + relation.getAdminId()).collect(Collectors.toList());\n            redisService.del(keys);\n        }\n    }\n\n    @Override\n    public void delResourceListByResource(Long resourceId) {\n        List<Long> adminIdList = adminRoleRelationDao.getAdminIdList(resourceId);\n        if (CollUtil.isNotEmpty(adminIdList)) {\n            String keyPrefix = REDIS_DATABASE + \":\" + REDIS_KEY_RESOURCE_LIST + \":\";\n            List<String> keys = adminIdList.stream().map(adminId -> keyPrefix + adminId).collect(Collectors.toList());\n            redisService.del(keys);\n        }\n    }\n\n    @Override\n    public UmsAdmin getAdmin(String username) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_ADMIN + \":\" + username;\n        return (UmsAdmin) redisService.get(key);\n    }\n\n    @Override\n    public void setAdmin(UmsAdmin admin) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_ADMIN + \":\" + admin.getUsername();\n        redisService.set(key, admin, REDIS_EXPIRE);\n    }\n\n    @Override\n    public List<UmsResource> getResourceList(Long adminId) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_RESOURCE_LIST + \":\" + adminId;\n        return (List<UmsResource>) redisService.get(key);\n    }\n\n    @Override\n    public void setResourceList(Long adminId, List<UmsResource> resourceList) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_RESOURCE_LIST + \":\" + adminId;\n        redisService.set(key, resourceList, REDIS_EXPIRE);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.collection.CollUtil;\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.bo.AdminUserDetails;\nimport com.macro.mall.common.exception.Asserts;\nimport com.macro.mall.common.util.RequestUtil;\nimport com.macro.mall.dao.UmsAdminRoleRelationDao;\nimport com.macro.mall.dto.UmsAdminParam;\nimport com.macro.mall.dto.UpdateAdminPasswordParam;\nimport com.macro.mall.mapper.UmsAdminLoginLogMapper;\nimport com.macro.mall.mapper.UmsAdminMapper;\nimport com.macro.mall.mapper.UmsAdminRoleRelationMapper;\nimport com.macro.mall.model.*;\nimport com.macro.mall.security.util.JwtTokenUtil;\nimport com.macro.mall.security.util.SpringUtil;\nimport com.macro.mall.service.UmsAdminCacheService;\nimport com.macro.mall.service.UmsAdminService;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.security.authentication.UsernamePasswordAuthenticationToken;\nimport org.springframework.security.core.AuthenticationException;\nimport org.springframework.security.core.context.SecurityContextHolder;\nimport org.springframework.security.core.userdetails.UserDetails;\nimport org.springframework.security.core.userdetails.UsernameNotFoundException;\nimport org.springframework.security.crypto.password.PasswordEncoder;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\nimport org.springframework.web.context.request.RequestContextHolder;\nimport org.springframework.web.context.request.ServletRequestAttributes;\n\nimport javax.servlet.http.HttpServletRequest;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 后台用户管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class UmsAdminServiceImpl implements UmsAdminService {\n    private static final Logger LOGGER = LoggerFactory.getLogger(UmsAdminServiceImpl.class);\n    @Autowired\n    private JwtTokenUtil jwtTokenUtil;\n    @Autowired\n    private PasswordEncoder passwordEncoder;\n    @Autowired\n    private UmsAdminMapper adminMapper;\n    @Autowired\n    private UmsAdminRoleRelationMapper adminRoleRelationMapper;\n    @Autowired\n    private UmsAdminRoleRelationDao adminRoleRelationDao;\n    @Autowired\n    private UmsAdminLoginLogMapper loginLogMapper;\n\n    @Override\n    public UmsAdmin getAdminByUsername(String username) {\n        //先从缓存中获取数据\n        UmsAdmin admin = getCacheService().getAdmin(username);\n        if (admin != null) return admin;\n        //缓存中没有再从数据库中获取\n        UmsAdminExample example = new UmsAdminExample();\n        example.createCriteria().andUsernameEqualTo(username);\n        List<UmsAdmin> adminList = adminMapper.selectByExample(example);\n        if (adminList != null && adminList.size() > 0) {\n            admin = adminList.get(0);\n            //将数据库中的数据存入缓存中\n            getCacheService().setAdmin(admin);\n            return admin;\n        }\n        return null;\n    }\n\n    @Override\n    public UmsAdmin register(UmsAdminParam umsAdminParam) {\n        UmsAdmin umsAdmin = new UmsAdmin();\n        BeanUtils.copyProperties(umsAdminParam, umsAdmin);\n        umsAdmin.setCreateTime(new Date());\n        umsAdmin.setStatus(1);\n        //查询是否有相同用户名的用户\n        UmsAdminExample example = new UmsAdminExample();\n        example.createCriteria().andUsernameEqualTo(umsAdmin.getUsername());\n        List<UmsAdmin> umsAdminList = adminMapper.selectByExample(example);\n        if (umsAdminList.size() > 0) {\n            return null;\n        }\n        //将密码进行加密操作\n        String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());\n        umsAdmin.setPassword(encodePassword);\n        adminMapper.insert(umsAdmin);\n        return umsAdmin;\n    }\n\n    @Override\n    public String login(String username, String password) {\n        String token = null;\n        //密码需要客户端加密后传递\n        try {\n            UserDetails userDetails = loadUserByUsername(username);\n            if(!passwordEncoder.matches(password,userDetails.getPassword())){\n                Asserts.fail(\"密码不正确\");\n            }\n            if(!userDetails.isEnabled()){\n                Asserts.fail(\"帐号已被禁用\");\n            }\n            UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());\n            SecurityContextHolder.getContext().setAuthentication(authentication);\n            token = jwtTokenUtil.generateToken(userDetails);\n//            updateLoginTimeByUsername(username);\n            insertLoginLog(username);\n        } catch (AuthenticationException e) {\n            LOGGER.warn(\"登录异常:{}\", e.getMessage());\n        }\n        return token;\n    }\n\n    /**\n     * 添加登录记录\n     * @param username 用户名\n     */\n    private void insertLoginLog(String username) {\n        UmsAdmin admin = getAdminByUsername(username);\n        if(admin==null) return;\n        UmsAdminLoginLog loginLog = new UmsAdminLoginLog();\n        loginLog.setAdminId(admin.getId());\n        loginLog.setCreateTime(new Date());\n        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();\n        HttpServletRequest request = attributes.getRequest();\n        loginLog.setIp(RequestUtil.getRequestIp(request));\n        loginLogMapper.insert(loginLog);\n    }\n\n    /**\n     * 根据用户名修改登录时间\n     */\n    private void updateLoginTimeByUsername(String username) {\n        UmsAdmin record = new UmsAdmin();\n        record.setLoginTime(new Date());\n        UmsAdminExample example = new UmsAdminExample();\n        example.createCriteria().andUsernameEqualTo(username);\n        adminMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public String refreshToken(String oldToken) {\n        return jwtTokenUtil.refreshHeadToken(oldToken);\n    }\n\n    @Override\n    public UmsAdmin getItem(Long id) {\n        return adminMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public List<UmsAdmin> list(String keyword, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        UmsAdminExample example = new UmsAdminExample();\n        UmsAdminExample.Criteria criteria = example.createCriteria();\n        if (!StrUtil.isEmpty(keyword)) {\n            criteria.andUsernameLike(\"%\" + keyword + \"%\");\n            example.or(example.createCriteria().andNickNameLike(\"%\" + keyword + \"%\"));\n        }\n        return adminMapper.selectByExample(example);\n    }\n\n    @Override\n    public int update(Long id, UmsAdmin admin) {\n        admin.setId(id);\n        UmsAdmin rawAdmin = adminMapper.selectByPrimaryKey(id);\n        if(rawAdmin.getPassword().equals(admin.getPassword())){\n            //与原加密密码相同的不需要修改\n            admin.setPassword(null);\n        }else{\n            //与原加密密码不同的需要加密修改\n            if(StrUtil.isEmpty(admin.getPassword())){\n                admin.setPassword(null);\n            }else{\n                admin.setPassword(passwordEncoder.encode(admin.getPassword()));\n            }\n        }\n        int count = adminMapper.updateByPrimaryKeySelective(admin);\n        getCacheService().delAdmin(id);\n        return count;\n    }\n\n    @Override\n    public int delete(Long id) {\n        getCacheService().delAdmin(id);\n        int count = adminMapper.deleteByPrimaryKey(id);\n        getCacheService().delResourceList(id);\n        return count;\n    }\n\n    @Override\n    public int updateRole(Long adminId, List<Long> roleIds) {\n        int count = roleIds == null ? 0 : roleIds.size();\n        //先删除原来的关系\n        UmsAdminRoleRelationExample adminRoleRelationExample = new UmsAdminRoleRelationExample();\n        adminRoleRelationExample.createCriteria().andAdminIdEqualTo(adminId);\n        adminRoleRelationMapper.deleteByExample(adminRoleRelationExample);\n        //建立新关系\n        if (!CollectionUtils.isEmpty(roleIds)) {\n            List<UmsAdminRoleRelation> list = new ArrayList<>();\n            for (Long roleId : roleIds) {\n                UmsAdminRoleRelation roleRelation = new UmsAdminRoleRelation();\n                roleRelation.setAdminId(adminId);\n                roleRelation.setRoleId(roleId);\n                list.add(roleRelation);\n            }\n            adminRoleRelationDao.insertList(list);\n        }\n        getCacheService().delResourceList(adminId);\n        return count;\n    }\n\n    @Override\n    public List<UmsRole> getRoleList(Long adminId) {\n        return adminRoleRelationDao.getRoleList(adminId);\n    }\n\n    @Override\n    public List<UmsResource> getResourceList(Long adminId) {\n        //先从缓存中获取数据\n        List<UmsResource> resourceList = getCacheService().getResourceList(adminId);\n        if(CollUtil.isNotEmpty(resourceList)){\n            return  resourceList;\n        }\n        //缓存中没有从数据库中获取\n        resourceList = adminRoleRelationDao.getResourceList(adminId);\n        if(CollUtil.isNotEmpty(resourceList)){\n            //将数据库中的数据存入缓存中\n            getCacheService().setResourceList(adminId,resourceList);\n        }\n        return resourceList;\n    }\n\n    @Override\n    public int updatePassword(UpdateAdminPasswordParam param) {\n        if(StrUtil.isEmpty(param.getUsername())\n                ||StrUtil.isEmpty(param.getOldPassword())\n                ||StrUtil.isEmpty(param.getNewPassword())){\n            return -1;\n        }\n        UmsAdminExample example = new UmsAdminExample();\n        example.createCriteria().andUsernameEqualTo(param.getUsername());\n        List<UmsAdmin> adminList = adminMapper.selectByExample(example);\n        if(CollUtil.isEmpty(adminList)){\n            return -2;\n        }\n        UmsAdmin umsAdmin = adminList.get(0);\n        if(!passwordEncoder.matches(param.getOldPassword(),umsAdmin.getPassword())){\n            return -3;\n        }\n        umsAdmin.setPassword(passwordEncoder.encode(param.getNewPassword()));\n        adminMapper.updateByPrimaryKey(umsAdmin);\n        getCacheService().delAdmin(umsAdmin.getId());\n        return 1;\n    }\n\n    @Override\n    public UserDetails loadUserByUsername(String username){\n        //获取用户信息\n        UmsAdmin admin = getAdminByUsername(username);\n        if (admin != null) {\n            List<UmsResource> resourceList = getResourceList(admin.getId());\n            return new AdminUserDetails(admin,resourceList);\n        }\n        throw new UsernameNotFoundException(\"用户名或密码错误\");\n    }\n\n    @Override\n    public UmsAdminCacheService getCacheService() {\n        return SpringUtil.getBean(UmsAdminCacheService.class);\n    }\n\n    @Override\n    public void logout(String username) {\n        //清空缓存中的用户相关数据\n        UmsAdmin admin = getCacheService().getAdmin(username);\n        getCacheService().delAdmin(admin.getId());\n        getCacheService().delResourceList(admin.getId());\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsMemberLevelServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.macro.mall.mapper.UmsMemberLevelMapper;\nimport com.macro.mall.model.UmsMemberLevel;\nimport com.macro.mall.model.UmsMemberLevelExample;\nimport com.macro.mall.service.UmsMemberLevelService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 会员等级管理Service实现类\n * Created by macro on 2018/4/26.\n */\n@Service\npublic class UmsMemberLevelServiceImpl implements UmsMemberLevelService{\n    @Autowired\n    private UmsMemberLevelMapper memberLevelMapper;\n    @Override\n    public List<UmsMemberLevel> list(Integer defaultStatus) {\n        UmsMemberLevelExample example = new UmsMemberLevelExample();\n        example.createCriteria().andDefaultStatusEqualTo(defaultStatus);\n        return memberLevelMapper.selectByExample(example);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsMenuServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dto.UmsMenuNode;\nimport com.macro.mall.mapper.UmsMenuMapper;\nimport com.macro.mall.model.*;\nimport com.macro.mall.service.UmsMenuService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 后台菜单管理Service实现类\n * Created by macro on 2020/2/2.\n */\n@Service\npublic class UmsMenuServiceImpl implements UmsMenuService {\n    @Autowired\n    private UmsMenuMapper menuMapper;\n\n    @Override\n    public int create(UmsMenu umsMenu) {\n        umsMenu.setCreateTime(new Date());\n        updateLevel(umsMenu);\n        return menuMapper.insert(umsMenu);\n    }\n\n    /**\n     * 修改菜单层级\n     */\n    private void updateLevel(UmsMenu umsMenu) {\n        if (umsMenu.getParentId() == 0) {\n            //没有父菜单时为一级菜单\n            umsMenu.setLevel(0);\n        } else {\n            //有父菜单时为父菜单的level+1\n            UmsMenu parentMenu = menuMapper.selectByPrimaryKey(umsMenu.getParentId());\n            if (parentMenu != null) {\n                umsMenu.setLevel(parentMenu.getLevel() + 1);\n            } else {\n                umsMenu.setLevel(0);\n            }\n        }\n    }\n\n    @Override\n    public int update(Long id, UmsMenu umsMenu) {\n        umsMenu.setId(id);\n        updateLevel(umsMenu);\n        return menuMapper.updateByPrimaryKeySelective(umsMenu);\n    }\n\n    @Override\n    public UmsMenu getItem(Long id) {\n        return menuMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return menuMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public List<UmsMenu> list(Long parentId, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        UmsMenuExample example = new UmsMenuExample();\n        example.setOrderByClause(\"sort desc\");\n        example.createCriteria().andParentIdEqualTo(parentId);\n        return menuMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<UmsMenuNode> treeList() {\n        List<UmsMenu> menuList = menuMapper.selectByExample(new UmsMenuExample());\n        List<UmsMenuNode> result = menuList.stream()\n                .filter(menu -> menu.getParentId().equals(0L))\n                .map(menu -> covertMenuNode(menu, menuList))\n                .collect(Collectors.toList());\n        return result;\n    }\n\n    @Override\n    public int updateHidden(Long id, Integer hidden) {\n        UmsMenu umsMenu = new UmsMenu();\n        umsMenu.setId(id);\n        umsMenu.setHidden(hidden);\n        return menuMapper.updateByPrimaryKeySelective(umsMenu);\n    }\n\n    /**\n     * 将UmsMenu转化为UmsMenuNode并设置children属性\n     */\n    private UmsMenuNode covertMenuNode(UmsMenu menu, List<UmsMenu> menuList) {\n        UmsMenuNode node = new UmsMenuNode();\n        BeanUtils.copyProperties(menu, node);\n        List<UmsMenuNode> children = menuList.stream()\n                .filter(subMenu -> subMenu.getParentId().equals(menu.getId()))\n                .map(subMenu -> covertMenuNode(subMenu, menuList)).collect(Collectors.toList());\n        node.setChildren(children);\n        return node;\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsResourceCategoryServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport com.macro.mall.mapper.UmsResourceCategoryMapper;\nimport com.macro.mall.model.UmsResourceCategory;\nimport com.macro.mall.model.UmsResourceCategoryExample;\nimport com.macro.mall.service.UmsResourceCategoryService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 后台资源分类管理Service实现类\n * Created by macro on 2020/2/5.\n */\n@Service\npublic class UmsResourceCategoryServiceImpl implements UmsResourceCategoryService {\n    @Autowired\n    private UmsResourceCategoryMapper resourceCategoryMapper;\n\n    @Override\n    public List<UmsResourceCategory> listAll() {\n        UmsResourceCategoryExample example = new UmsResourceCategoryExample();\n        example.setOrderByClause(\"sort desc\");\n        return resourceCategoryMapper.selectByExample(example);\n    }\n\n    @Override\n    public int create(UmsResourceCategory umsResourceCategory) {\n        umsResourceCategory.setCreateTime(new Date());\n        return resourceCategoryMapper.insert(umsResourceCategory);\n    }\n\n    @Override\n    public int update(Long id, UmsResourceCategory umsResourceCategory) {\n        umsResourceCategory.setId(id);\n        return resourceCategoryMapper.updateByPrimaryKeySelective(umsResourceCategory);\n    }\n\n    @Override\n    public int delete(Long id) {\n        return resourceCategoryMapper.deleteByPrimaryKey(id);\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsResourceServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.UmsResourceMapper;\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.model.UmsResourceExample;\nimport com.macro.mall.service.UmsAdminCacheService;\nimport com.macro.mall.service.UmsResourceService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 后台资源管理Service实现类\n * Created by macro on 2020/2/2.\n */\n@Service\npublic class UmsResourceServiceImpl implements UmsResourceService {\n    @Autowired\n    private UmsResourceMapper resourceMapper;\n    @Autowired\n    private UmsAdminCacheService adminCacheService;\n    @Override\n    public int create(UmsResource umsResource) {\n        umsResource.setCreateTime(new Date());\n        return resourceMapper.insert(umsResource);\n    }\n\n    @Override\n    public int update(Long id, UmsResource umsResource) {\n        umsResource.setId(id);\n        int count = resourceMapper.updateByPrimaryKeySelective(umsResource);\n        adminCacheService.delResourceListByResource(id);\n        return count;\n    }\n\n    @Override\n    public UmsResource getItem(Long id) {\n        return resourceMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public int delete(Long id) {\n        int count = resourceMapper.deleteByPrimaryKey(id);\n        adminCacheService.delResourceListByResource(id);\n        return count;\n    }\n\n    @Override\n    public List<UmsResource> list(Long categoryId, String nameKeyword, String urlKeyword, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        UmsResourceExample example = new UmsResourceExample();\n        UmsResourceExample.Criteria criteria = example.createCriteria();\n        if(categoryId!=null){\n            criteria.andCategoryIdEqualTo(categoryId);\n        }\n        if(StrUtil.isNotEmpty(nameKeyword)){\n            criteria.andNameLike('%'+nameKeyword+'%');\n        }\n        if(StrUtil.isNotEmpty(urlKeyword)){\n            criteria.andUrlLike('%'+urlKeyword+'%');\n        }\n        return resourceMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<UmsResource> listAll() {\n        return resourceMapper.selectByExample(new UmsResourceExample());\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/service/impl/UmsRoleServiceImpl.java",
    "content": "package com.macro.mall.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.dao.UmsRoleDao;\nimport com.macro.mall.mapper.UmsRoleMapper;\nimport com.macro.mall.mapper.UmsRoleMenuRelationMapper;\nimport com.macro.mall.mapper.UmsRoleResourceRelationMapper;\nimport com.macro.mall.model.*;\nimport com.macro.mall.service.UmsAdminCacheService;\nimport com.macro.mall.service.UmsRoleService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 后台角色管理Service实现类\n * Created by macro on 2018/9/30.\n */\n@Service\npublic class UmsRoleServiceImpl implements UmsRoleService {\n    @Autowired\n    private UmsRoleMapper roleMapper;\n    @Autowired\n    private UmsRoleMenuRelationMapper roleMenuRelationMapper;\n    @Autowired\n    private UmsRoleResourceRelationMapper roleResourceRelationMapper;\n    @Autowired\n    private UmsRoleDao roleDao;\n    @Autowired\n    private UmsAdminCacheService adminCacheService;\n    @Override\n    public int create(UmsRole role) {\n        role.setCreateTime(new Date());\n        role.setAdminCount(0);\n        role.setSort(0);\n        return roleMapper.insert(role);\n    }\n\n    @Override\n    public int update(Long id, UmsRole role) {\n        role.setId(id);\n        return roleMapper.updateByPrimaryKeySelective(role);\n    }\n\n    @Override\n    public int delete(List<Long> ids) {\n        UmsRoleExample example = new UmsRoleExample();\n        example.createCriteria().andIdIn(ids);\n        int count = roleMapper.deleteByExample(example);\n        adminCacheService.delResourceListByRoleIds(ids);\n        return count;\n    }\n\n    @Override\n    public List<UmsRole> list() {\n        return roleMapper.selectByExample(new UmsRoleExample());\n    }\n\n    @Override\n    public List<UmsRole> list(String keyword, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum, pageSize);\n        UmsRoleExample example = new UmsRoleExample();\n        if (!StrUtil.isEmpty(keyword)) {\n            example.createCriteria().andNameLike(\"%\" + keyword + \"%\");\n        }\n        return roleMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<UmsMenu> getMenuList(Long adminId) {\n        return roleDao.getMenuList(adminId);\n    }\n\n    @Override\n    public List<UmsMenu> listMenu(Long roleId) {\n        return roleDao.getMenuListByRoleId(roleId);\n    }\n\n    @Override\n    public List<UmsResource> listResource(Long roleId) {\n        return roleDao.getResourceListByRoleId(roleId);\n    }\n\n    @Override\n    public int allocMenu(Long roleId, List<Long> menuIds) {\n        //先删除原有关系\n        UmsRoleMenuRelationExample example=new UmsRoleMenuRelationExample();\n        example.createCriteria().andRoleIdEqualTo(roleId);\n        roleMenuRelationMapper.deleteByExample(example);\n        //批量插入新关系\n        for (Long menuId : menuIds) {\n            UmsRoleMenuRelation relation = new UmsRoleMenuRelation();\n            relation.setRoleId(roleId);\n            relation.setMenuId(menuId);\n            roleMenuRelationMapper.insert(relation);\n        }\n        return menuIds.size();\n    }\n\n    @Override\n    public int allocResource(Long roleId, List<Long> resourceIds) {\n        //先删除原有关系\n        UmsRoleResourceRelationExample example=new UmsRoleResourceRelationExample();\n        example.createCriteria().andRoleIdEqualTo(roleId);\n        roleResourceRelationMapper.deleteByExample(example);\n        //批量插入新关系\n        for (Long resourceId : resourceIds) {\n            UmsRoleResourceRelation relation = new UmsRoleResourceRelation();\n            relation.setRoleId(roleId);\n            relation.setResourceId(resourceId);\n            roleResourceRelationMapper.insert(relation);\n        }\n        adminCacheService.delResourceListByRole(roleId);\n        return resourceIds.size();\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/validator/FlagValidator.java",
    "content": "package com.macro.mall.validator;\n\nimport javax.validation.Constraint;\nimport javax.validation.Payload;\nimport java.lang.annotation.*;\n\n/**\n * 用于验证状态是否在指定范围内的注解\n * Created by macro on 2018/4/26.\n */\n@Documented\n@Retention(RetentionPolicy.RUNTIME)\n@Target({ElementType.FIELD,ElementType.PARAMETER})\n@Constraint(validatedBy = FlagValidatorClass.class)\npublic @interface FlagValidator {\n    String[] value() default {};\n\n    String message() default \"flag is not found\";\n\n    Class<?>[] groups() default {};\n\n    Class<? extends Payload>[] payload() default {};\n}\n"
  },
  {
    "path": "mall-admin/src/main/java/com/macro/mall/validator/FlagValidatorClass.java",
    "content": "package com.macro.mall.validator;\n\nimport javax.validation.ConstraintValidator;\nimport javax.validation.ConstraintValidatorContext;\n\n/**\n * 状态约束校验器\n * Created by macro on 2018/4/26.\n */\npublic class FlagValidatorClass implements ConstraintValidator<FlagValidator,Integer> {\n    private String[] values;\n    @Override\n    public void initialize(FlagValidator flagValidator) {\n        this.values = flagValidator.value();\n    }\n\n    @Override\n    public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) {\n        boolean isValid = false;\n        if(value==null){\n            //当状态为空时使用默认值\n            return true;\n        }\n        for(int i=0;i<values.length;i++){\n            if(values[i].equals(String.valueOf(value))){\n                isValid = true;\n                break;\n            }\n        }\n        return isValid;\n    }\n}\n"
  },
  {
    "path": "mall-admin/src/main/resources/META-INF/MANIFEST.MF",
    "content": "Manifest-Version: 1.0\nMain-Class: com.macro.mall.MallAdminApplication\n\n"
  },
  {
    "path": "mall-admin/src/main/resources/application-dev.yml",
    "content": "spring:\n  datasource:\n    url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: root\n    password: root\n    druid:\n      initial-size: 5 #连接池初始化大小\n      min-idle: 10 #最小空闲连接数\n      max-active: 20 #最大连接数\n      web-stat-filter:\n        exclusions: \"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*\" #不统计这些请求数据\n      stat-view-servlet: #访问监控网页的登录用户名和密码\n        login-username: druid\n        login-password: druid\n  redis:\n    host: localhost # Redis服务器地址\n    database: 0 # Redis数据库索引（默认为0）\n    port: 6379 # Redis服务器连接端口\n    password: # Redis服务器连接密码（默认为空）\n    timeout: 300ms # 连接超时时间（毫秒）\n\nminio:\n  endpoint: http://localhost:9000 #MinIO服务所在地址\n  bucketName: mall #存储桶名称\n  accessKey: minioadmin #访问的key\n  secretKey: minioadmin #访问的秘钥\n\nlogging:\n  level:\n    root: info\n    com.macro.mall: debug\n\nlogstash:\n  host: localhost\n  enableInnerLog: false"
  },
  {
    "path": "mall-admin/src/main/resources/application-prod.yml",
    "content": "spring:\n  datasource:\n    url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: reader\n    password: 123456\n    druid:\n      initial-size: 5 #连接池初始化大小\n      min-idle: 10 #最小空闲连接数\n      max-active: 20 #最大连接数\n      web-stat-filter:\n        exclusions: \"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*\" #不统计这些请求数据\n      stat-view-servlet: #访问监控网页的登录用户名和密码\n        login-username: druid\n        login-password: druid\n  redis:\n    host: redis # Redis服务器地址\n    database: 0 # Redis数据库索引（默认为0）\n    port: 6379 # Redis服务器连接端口\n    password: # Redis服务器连接密码（默认为空）\n    timeout: 300ms # 连接超时时间（毫秒）\n\nminio:\n  endpoint: http://192.168.3.101:9090 #MinIO服务所在地址\n  bucketName: mall #存储桶名称\n  accessKey: minioadmin #访问的key\n  secretKey: minioadmin #访问的秘钥\n\nlogging:\n  file:\n    path: /var/logs\n  level:\n    root: info\n    com.macro.mall: info\n\nlogstash:\n  host: logstash"
  },
  {
    "path": "mall-admin/src/main/resources/application.yml",
    "content": "spring:\n  application:\n    name: mall-admin\n  profiles:\n    active: dev #默认为开发环境\n  servlet:\n    multipart:\n      enabled: true #开启文件上传\n      max-file-size: 10MB #限制文件上传大小为10M\n  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher\n\nmybatis:\n  mapper-locations:\n    - classpath:dao/*.xml\n    - classpath*:com/**/mapper/*.xml\n\njwt:\n  tokenHeader: Authorization #JWT存储的请求头\n  secret: mall-admin-secret #JWT加解密使用的密钥\n  expiration: 604800 #JWT的超期限时间(60*60*24*7)\n  tokenHead: 'Bearer '  #JWT负载中拿到开头\n\nredis:\n  database: mall\n  key:\n    admin: 'ums:admin'\n    resourceList: 'ums:resourceList'\n  expire:\n    common: 86400 # 24小时\n\nsecure:\n  ignored:\n    urls: #安全路径白名单\n      - /swagger-ui/\n      - /swagger-resources/**\n      - /**/v2/api-docs\n      - /**/*.html\n      - /**/*.js\n      - /**/*.css\n      - /**/*.png\n      - /**/*.map\n      - /favicon.ico\n      - /actuator/**\n      - /druid/**\n      - /admin/login\n      - /admin/register\n      - /admin/info\n      - /admin/logout\n      - /minio/upload\n\naliyun:\n  oss:\n    endpoint: oss-cn-shenzhen.aliyuncs.com # oss对外服务的访问域名\n    accessKeyId: test # 访问身份验证中用到用户标识\n    accessKeySecret: test # 用户用于加密签名字符串和oss用来验证签名字符串的密钥\n    bucketName: macro-oss # oss的存储空间\n    policy:\n      expire: 300 # 签名有效期(S)\n    maxSize: 10 # 上传文件大小(M)\n    callback: http://39.98.190.128:8080/aliyun/oss/callback # 文件上传成功后的回调地址\n    dir:\n      prefix: mall/images/ # 上传文件夹路径前缀\n"
  },
  {
    "path": "mall-admin/src/main/resources/dao/CmsPrefrenceAreaProductRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.CmsPrefrenceAreaProductRelationDao\">\n    <insert id=\"insertList\">\n        insert into cms_prefrence_area_product_relation (prefrence_area_id, product_id) values\n        <foreach collection=\"list\" item=\"item\" separator=\",\" index=\"index\">\n            (#{item.prefrenceAreaId,jdbcType=BIGINT},\n            #{item.productId,jdbcType=BIGINT})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/CmsSubjectProductRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.CmsSubjectProductRelationDao\">\n    <insert id=\"insertList\">\n        insert into cms_subject_product_relation (subject_id, product_id) values\n        <foreach collection=\"list\" item=\"item\" separator=\",\" index=\"index\">\n            (#{item.subjectId,jdbcType=BIGINT},\n            #{item.productId,jdbcType=BIGINT})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/OmsOrderDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.OmsOrderDao\">\n    <resultMap id=\"orderDetailResultMap\" type=\"com.macro.mall.dto.OmsOrderDetail\" extends=\"com.macro.mall.mapper.OmsOrderMapper.BaseResultMap\">\n        <collection property=\"orderItemList\" resultMap=\"com.macro.mall.mapper.OmsOrderItemMapper.BaseResultMap\" columnPrefix=\"item_\"/>\n        <collection property=\"historyList\" resultMap=\"com.macro.mall.mapper.OmsOrderOperateHistoryMapper.BaseResultMap\" columnPrefix=\"history_\"/>\n    </resultMap>\n    <select id=\"getList\" resultMap=\"com.macro.mall.mapper.OmsOrderMapper.BaseResultMap\">\n        SELECT *\n        FROM\n        oms_order\n        WHERE\n        delete_status = 0\n        <if test=\"queryParam.orderSn!=null and queryParam.orderSn!=''\">\n            AND order_sn = #{queryParam.orderSn}\n        </if>\n        <if test=\"queryParam.status!=null\">\n            AND `status` = #{queryParam.status}\n        </if>\n        <if test=\"queryParam.sourceType!=null\">\n            AND source_type = #{queryParam.sourceType}\n        </if>\n        <if test=\"queryParam.orderType!=null\">\n            AND order_type = #{queryParam.orderType}\n        </if>\n        <if test=\"queryParam.createTime!=null and queryParam.createTime!=''\">\n            AND create_time LIKE concat(#{queryParam.createTime},\"%\")\n        </if>\n        <if test=\"queryParam.receiverKeyword!=null and queryParam.receiverKeyword!=''\">\n            AND (\n            receiver_name LIKE concat(\"%\",#{queryParam.receiverKeyword},\"%\")\n            OR receiver_phone LIKE concat(\"%\",#{queryParam.receiverKeyword},\"%\")\n            )\n        </if>\n    </select>\n    <update id=\"delivery\">\n        UPDATE oms_order\n        SET\n        delivery_sn = CASE id\n        <foreach collection=\"list\" item=\"item\">\n            WHEN #{item.orderId} THEN #{item.deliverySn}\n        </foreach>\n        END,\n        delivery_company = CASE id\n        <foreach collection=\"list\" item=\"item\">\n            WHEN #{item.orderId} THEN #{item.deliveryCompany}\n        </foreach>\n        END,\n        delivery_time = CASE id\n        <foreach collection=\"list\" item=\"item\">\n            WHEN #{item.orderId} THEN now()\n        </foreach>\n        END,\n        `status` = CASE id\n        <foreach collection=\"list\" item=\"item\">\n            WHEN #{item.orderId} THEN 2\n        </foreach>\n        END\n        WHERE\n        id IN\n        <foreach collection=\"list\" item=\"item\" separator=\",\" open=\"(\" close=\")\">\n            #{item.orderId}\n        </foreach>\n        AND `status` = 1\n    </update>\n    <select id=\"getDetail\" resultMap=\"orderDetailResultMap\">\n        SELECT o.*,\n            oi.id item_id,\n            oi.product_id item_product_id,\n            oi.product_sn item_product_sn,\n            oi.product_pic item_product_pic,\n            oi.product_name item_product_name,\n            oi.product_brand item_product_brand,\n            oi.product_price item_product_price,\n            oi.product_quantity item_product_quantity,\n            oi.product_attr item_product_attr,\n            oh.id history_id,\n            oh.operate_man history_operate_man,\n            oh.create_time history_create_time,\n            oh.order_status history_order_status,\n            oh.note history_note\n        FROM\n            oms_order o\n            LEFT JOIN oms_order_item oi ON o.id = oi.order_id\n            LEFT JOIN oms_order_operate_history oh ON o.id = oh.order_id\n        WHERE\n            o.id = #{id}\n        ORDER BY oi.id ASC,oh.create_time DESC\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/OmsOrderOperateHistoryDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.OmsOrderOperateHistoryDao\">\n    <insert id=\"insertList\">\n        INSERT INTO oms_order_operate_history (order_id, operate_man, create_time, order_status, note) VALUES\n        <foreach collection=\"list\" separator=\",\" item=\"item\" index=\"index\">\n            (#{item.orderId},\n            #{item.operateMan},\n            #{item.createTime,jdbcType=TIMESTAMP},\n            #{item.orderStatus},\n            #{item.note})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/OmsOrderReturnApplyDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.OmsOrderReturnApplyDao\">\n    <resultMap id=\"returnApplyDetailResultMap\" type=\"com.macro.mall.dto.OmsOrderReturnApplyResult\" extends=\"com.macro.mall.mapper.OmsOrderReturnApplyMapper.BaseResultMap\">\n        <association property=\"companyAddress\" resultMap=\"com.macro.mall.mapper.OmsCompanyAddressMapper.BaseResultMap\" columnPrefix=\"ca_\"/>\n    </resultMap>\n    <select id=\"getList\" resultMap=\"com.macro.mall.mapper.OmsOrderReturnApplyMapper.BaseResultMap\">\n        SELECT\n        id,\n        create_time,\n        member_username,\n        product_real_price,\n        product_count,\n        return_name,\n        status,\n        handle_time\n        FROM\n        oms_order_return_apply\n        WHERE\n        1 = 1\n        <if test=\"queryParam.id!=null\">\n            AND id = #{queryParam.id}\n        </if>\n        <if test=\"queryParam.status!=null\">\n            AND status = #{queryParam.status}\n        </if>\n        <if test=\"queryParam.handleMan!=null and queryParam.handleMan!=''\">\n            AND handle_man = #{queryParam.handleMan}\n        </if>\n        <if test=\"queryParam.createTime!=null and queryParam.createTime!=''\">\n            AND create_time LIKE CONCAT(#{queryParam.createTime}, '%')\n        </if>\n        <if test=\"queryParam.handleTime!=null and queryParam.handleTime!=''\">\n            AND handle_time LIKE CONCAT(#{queryParam.handleTime}, '%')\n        </if>\n        <if test=\"queryParam.receiverKeyword!=null and queryParam.receiverKeyword!=''\">\n            AND (return_name LIKE concat(\"%\",#{queryParam.receiverKeyword},\"%\")\n            OR return_phone LIKE concat(\"%\",#{queryParam.receiverKeyword},\"%\"))\n        </if>\n    </select>\n    <select id=\"getDetail\" resultMap=\"returnApplyDetailResultMap\">\n        SELECT\n            ra.*, ca.id ca_id,\n                  ca.address_name ca_address_name,\n                  ca.`name` ca_name,\n                  ca.phone ca_phone,\n                  ca.province ca_province,\n                  ca.city ca_city,\n                  ca.region ca_region,\n                  ca.detail_address ca_detail_address\n        FROM\n            oms_order_return_apply ra\n            LEFT JOIN oms_company_address ca ON ra.company_address_id = ca.id\n        WHERE ra.id=#{id};\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsMemberPriceDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsMemberPriceDao\">\n    <!--批量新增回写主键支持-->\n    <insert id=\"insertList\">\n        INSERT INTO pms_member_price (product_id, member_level_id, member_price,member_level_name) VALUES\n        <foreach collection=\"list\" separator=\",\" item=\"item\" index=\"index\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.memberLevelId,jdbcType=BIGINT},\n            #{item.memberPrice,jdbcType=DECIMAL},\n            #{item.memberLevelName,jdbcType=VARCHAR})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductAttributeCategoryDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductAttributeCategoryDao\">\n    <resultMap id=\"getListWithAttrMap\" type=\"com.macro.mall.dto.PmsProductAttributeCategoryItem\" extends=\"com.macro.mall.mapper.PmsProductAttributeCategoryMapper.BaseResultMap\">\n        <collection property=\"productAttributeList\" columnPrefix=\"attr_\" resultMap=\"com.macro.mall.mapper.PmsProductAttributeMapper.BaseResultMap\">\n        </collection>\n    </resultMap>\n    <select id=\"getListWithAttr\" resultMap=\"getListWithAttrMap\">\n        SELECT\n            pac.id,\n            pac.name,\n            pa.id attr_id,\n            pa.name attr_name\n        FROM\n            pms_product_attribute_category pac\n            LEFT JOIN pms_product_attribute pa ON pac.id = pa.product_attribute_category_id\n        AND pa.type=1;\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductAttributeDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductAttributeDao\">\n    <select id=\"getProductAttrInfo\" resultType=\"com.macro.mall.dto.ProductAttrInfo\">\n        SELECT\n            pa.id  attributeId,\n            pac.id attributeCategoryId\n        FROM\n            pms_product_category_attribute_relation pcar\n            LEFT JOIN pms_product_attribute pa ON pa.id = pcar.product_attribute_id\n            LEFT JOIN pms_product_attribute_category pac ON pa.product_attribute_category_id = pac.id\n        WHERE\n            pcar.product_category_id = #{id}\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductAttributeValueDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductAttributeValueDao\">\n    <insert id=\"insertList\">\n        insert into pms_product_attribute_value (product_id,product_attribute_id,value) values\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.productAttributeId,jdbcType=BIGINT},\n            #{item.value,jdbcType=VARCHAR})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductCategoryAttributeRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductCategoryAttributeRelationDao\">\n    <!--批量新增回写主键支持-->\n    <insert id=\"insertList\">\n        INSERT INTO pms_product_category_attribute_relation (product_category_id, product_attribute_id) VALUES\n        <foreach collection=\"list\" separator=\",\" item=\"item\" index=\"index\">\n            (#{item.productCategoryId,jdbcType=BIGINT},\n            #{item.productAttributeId,jdbcType=BIGINT})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductCategoryDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductCategoryDao\">\n    <resultMap id=\"listWithChildrenMap\" type=\"com.macro.mall.dto.PmsProductCategoryWithChildrenItem\"\n               extends=\"com.macro.mall.mapper.PmsProductCategoryMapper.BaseResultMap\">\n        <collection property=\"children\" resultMap=\"com.macro.mall.mapper.PmsProductCategoryMapper.BaseResultMap\"\n                    columnPrefix=\"child_\"></collection>\n    </resultMap>\n    <select id=\"listWithChildren\" resultMap=\"listWithChildrenMap\">\n        select\n            c1.id,\n            c1.name,\n            c2.id   child_id,\n            c2.name child_name\n        from pms_product_category c1 left join pms_product_category c2 on c1.id = c2.parent_id\n        where c1.parent_id = 0\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductDao\">\n    <resultMap id=\"updateInfoMap\" type=\"com.macro.mall.dto.PmsProductResult\" extends=\"com.macro.mall.mapper.PmsProductMapper.ResultMapWithBLOBs\">\n        <result column=\"cateParentId\" jdbcType=\"BIGINT\" property=\"cateParentId\" />\n        <collection property=\"productLadderList\" columnPrefix=\"ladder_\" resultMap=\"com.macro.mall.mapper.PmsProductLadderMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"productFullReductionList\" columnPrefix=\"full_\" resultMap=\"com.macro.mall.mapper.PmsProductFullReductionMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"memberPriceList\" columnPrefix=\"member_\" resultMap=\"com.macro.mall.mapper.PmsMemberPriceMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"skuStockList\" columnPrefix=\"sku_\" resultMap=\"com.macro.mall.mapper.PmsSkuStockMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"productAttributeValueList\" columnPrefix=\"attribute_\" resultMap=\"com.macro.mall.mapper.PmsProductAttributeValueMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"subjectProductRelationList\" column=\"{productId=id}\" select=\"selectSubjectProductRelationByProductId\"/>\n        <collection property=\"prefrenceAreaProductRelationList\" column=\"{productId=id}\" select=\"selectPrefrenceAreaProductRelationByProductId\"/>\n\n    </resultMap>\n\n    <select id=\"getUpdateInfo\" resultMap=\"updateInfoMap\">\n        SELECT *,\n            pc.parent_id cateParentId,\n            l.id ladder_id,l.product_id ladder_product_id,l.discount ladder_discount,l.count ladder_count,l.price ladder_price,\n            pf.id full_id,pf.product_id full_product_id,pf.full_price full_full_price,pf.reduce_price full_reduce_price,\n            m.id member_id,m.product_id member_product_id,m.member_level_id member_member_level_id,m.member_price member_member_price,m.member_level_name member_member_level_name,\n            s.id sku_id,s.product_id sku_product_id,s.price sku_price,s.promotion_price sku_promotion_price,s.low_stock sku_low_stock,s.pic sku_pic,s.sale sku_sale,s.sku_code sku_sku_code,s.stock sku_stock,s.sp_data sku_sp_data,\n            a.id attribute_id,a.product_id attribute_product_id,a.product_attribute_id attribute_product_attribute_id,a.value attribute_value\n        FROM pms_product p\n        LEFT JOIN pms_product_category pc on pc.id = p.product_category_id\n        LEFT JOIN pms_product_ladder l ON p.id = l.product_id\n        LEFT JOIN pms_product_full_reduction pf ON pf.product_id=p.id\n        LEFT JOIN pms_member_price m ON m.product_id = p.id\n        LEFT JOIN pms_sku_stock s ON s.product_id = p.id\n        LEFT JOIN pms_product_attribute_value a ON a.product_id=p.id\n        WHERE p.id=#{id};\n    </select>\n    <select id=\"selectSubjectProductRelationByProductId\" resultMap=\"com.macro.mall.mapper.CmsSubjectProductRelationMapper.BaseResultMap\">\n        select * from cms_subject_product_relation where product_id=#{productId}\n    </select>\n    <select id=\"selectPrefrenceAreaProductRelationByProductId\" resultMap=\"com.macro.mall.mapper.CmsPrefrenceAreaProductRelationMapper.BaseResultMap\">\n        select * from cms_prefrence_area_product_relation where product_id=#{productId}\n    </select>\n\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductFullReductionDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductFullReductionDao\">\n    <insert id=\"insertList\">\n        INSERT INTO pms_product_full_reduction (product_id, full_price, reduce_price) VALUES\n        <foreach collection=\"list\" separator=\",\" item=\"item\" index=\"index\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.fullPrice,jdbcType=DECIMAL},\n            #{item.reducePrice,jdbcType=DECIMAL})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductLadderDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductLadderDao\">\n    <insert id=\"insertList\">\n        INSERT INTO pms_product_ladder (product_id, count, discount, price) VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.count,jdbcType=INTEGER},\n            #{item.discount,jdbcType=DECIMAL},\n            #{item.price,jdbcType=DECIMAL})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsProductVertifyRecordDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsProductVertifyRecordDao\">\n    <!--批量新增回写主键支持-->\n    <insert id=\"insertList\">\n        insert into pms_product_vertify_record (product_id, create_time, vertify_man,status, detail) values\n        <foreach collection=\"list\" separator=\",\" item=\"item\" index=\"index\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.createTime,jdbcType=TIMESTAMP},\n            #{item.vertifyMan,jdbcType=VARCHAR},\n            #{item.status,jdbcType=INTEGER},\n            #{item.detail,jdbcType=VARCHAR})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/PmsSkuStockDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.PmsSkuStockDao\">\n    <insert id=\"insertList\">\n        INSERT INTO pms_sku_stock (product_id, sku_code, price, stock, low_stock, pic, sale, sp_data) VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.skuCode,jdbcType=VARCHAR},\n            #{item.price,jdbcType=DECIMAL},\n            #{item.stock,jdbcType=INTEGER},\n            #{item.lowStock,jdbcType=INTEGER},\n            #{item.pic,jdbcType=VARCHAR},\n            #{item.sale,jdbcType=INTEGER},\n            #{item.spData,jdbcType=VARCHAR})\n        </foreach>\n    </insert>\n    <insert id=\"replaceList\">\n        REPLACE INTO pms_sku_stock (id,product_id, sku_code, price, stock, low_stock,pic, sale, sp_data) VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (#{item.id,jdbcType=BIGINT},\n            #{item.productId,jdbcType=BIGINT},\n            #{item.skuCode,jdbcType=VARCHAR},\n            #{item.price,jdbcType=DECIMAL},\n            #{item.stock,jdbcType=INTEGER},\n            #{item.lowStock,jdbcType=INTEGER},\n            #{item.pic,jdbcType=VARCHAR},\n            #{item.sale,jdbcType=INTEGER},\n            #{item.spData,jdbcType=VARCHAR})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/SmsCouponDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.SmsCouponDao\">\n    <resultMap id=\"couponItemParam\" type=\"com.macro.mall.dto.SmsCouponParam\" extends=\"com.macro.mall.mapper.SmsCouponMapper.BaseResultMap\">\n        <collection property=\"productRelationList\" columnPrefix=\"cpr_\" resultMap=\"com.macro.mall.mapper.SmsCouponProductRelationMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"productCategoryRelationList\" columnPrefix=\"cpcr_\" resultMap=\"com.macro.mall.mapper.SmsCouponProductCategoryRelationMapper.BaseResultMap\">\n        </collection>\n    </resultMap>\n    <select id=\"getItem\" resultMap=\"couponItemParam\">\n        SELECT\n            c.*,\n            cpr.id                   cpr_id,\n            cpr.product_id           cpr_product_id,\n            cpr.product_name         cpr_product_name,\n            cpr.product_sn           cpr_product_sn,\n            cpcr.id                  cpcr_id,\n            cpcr.product_category_id cpcr_product_category_id,\n            cpcr.product_category_name cpcr_product_category_name,\n            cpcr.parent_category_name cpcr_parent_category_name\n        FROM\n            sms_coupon c\n            LEFT JOIN sms_coupon_product_relation cpr ON c.id = cpr.coupon_id\n            LEFT JOIN sms_coupon_product_category_relation cpcr ON c.id = cpcr.coupon_id\n        WHERE\n            c.id = #{id}\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/SmsCouponProductCategoryRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.SmsCouponProductCategoryRelationDao\">\n    <insert id=\"insertList\">\n        INSERT INTO sms_coupon_product_category_relation (product_category_id,product_category_name,parent_category_name,coupon_id) VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (#{item.productCategoryId,jdbcType=BIGINT},\n            #{item.productCategoryName,jdbcType=VARCHAR},\n            #{item.parentCategoryName,jdbcType=VARCHAR},\n            #{item.couponId,jdbcType=BIGINT})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/SmsCouponProductRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.SmsCouponProductRelationDao\">\n    <insert id=\"insertList\">\n        INSERT INTO sms_coupon_product_relation (product_id,product_name,product_sn,coupon_id) VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (#{item.productId,jdbcType=BIGINT},\n            #{item.productName,jdbcType=VARCHAR},\n            #{item.productSn,jdbcType=VARCHAR},\n            #{item.couponId,jdbcType=INTEGER})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/SmsFlashPromotionProductRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.SmsFlashPromotionProductRelationDao\">\n    <resultMap id=\"flashProductMap\" type=\"com.macro.mall.dto.SmsFlashPromotionProduct\" extends=\"com.macro.mall.mapper.SmsFlashPromotionProductRelationMapper.BaseResultMap\">\n        <association property=\"product\" resultMap=\"com.macro.mall.mapper.PmsProductMapper.BaseResultMap\" columnPrefix=\"p_\"/>\n    </resultMap>\n    <select id=\"getList\" resultMap=\"flashProductMap\">\n        SELECT\n            r.id,\n            r.flash_promotion_price,\n            r.flash_promotion_count,\n            r.flash_promotion_limit,\n            r.flash_promotion_id,\n            r.flash_promotion_session_id,\n            r.product_id,\n            r.sort,\n            p.id p_id,\n            p.`name` p_name,\n            p.product_sn p_product_sn,\n            p.price p_price,\n            p.stock p_stock\n        FROM\n            sms_flash_promotion_product_relation r\n            LEFT JOIN pms_product p ON r.product_id = p.id\n        WHERE\n            r.flash_promotion_id = #{flashPromotionId}\n            AND r.flash_promotion_session_id = #{flashPromotionSessionId}\n        ORDER BY r.sort DESC\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/UmsAdminRoleRelationDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.UmsAdminRoleRelationDao\">\n    <!--批量新增回写主键支持-->\n    <insert id=\"insertList\">\n        INSERT INTO ums_admin_role_relation (admin_id, role_id) VALUES\n        <foreach collection=\"list\" separator=\",\" item=\"item\" index=\"index\">\n            (#{item.adminId,jdbcType=BIGINT},\n            #{item.roleId,jdbcType=BIGINT})\n        </foreach>\n    </insert>\n    <select id=\"getRoleList\" resultMap=\"com.macro.mall.mapper.UmsRoleMapper.BaseResultMap\">\n        select r.*\n        from ums_admin_role_relation ar left join ums_role r on ar.role_id = r.id\n        where ar.admin_id = #{adminId}\n    </select>\n    <select id=\"getResourceList\" resultType=\"com.macro.mall.model.UmsResource\">\n        SELECT\n            ur.id id,\n            ur.create_time createTime,\n            ur.`name` `name`,\n            ur.url url,\n            ur.description description,\n            ur.category_id categoryId\n        FROM\n            ums_admin_role_relation ar\n        LEFT JOIN ums_role r ON ar.role_id = r.id\n        LEFT JOIN ums_role_resource_relation rrr ON r.id = rrr.role_id\n        LEFT JOIN ums_resource ur ON ur.id = rrr.resource_id\n        WHERE\n            ar.admin_id = #{adminId}\n        AND ur.id IS NOT NULL\n        GROUP BY\n            ur.id\n    </select>\n    <select id=\"getAdminIdList\" resultType=\"java.lang.Long\">\n        SELECT\n            DISTINCT ar.admin_id\n        FROM\n            ums_role_resource_relation rr\n                LEFT JOIN ums_admin_role_relation ar ON rr.role_id = ar.role_id\n        WHERE rr.resource_id=#{resourceId}\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/main/resources/dao/UmsRoleDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.dao.UmsRoleDao\">\n\n    <select id=\"getMenuList\" resultType=\"com.macro.mall.model.UmsMenu\">\n        SELECT\n            m.id id,\n            m.parent_id parentId,\n            m.create_time createTime,\n            m.title title,\n            m.level level,\n            m.sort sort,\n            m.name name,\n            m.icon icon,\n            m.hidden hidden\n        FROM\n            ums_admin_role_relation arr\n                LEFT JOIN ums_role r ON arr.role_id = r.id\n                LEFT JOIN ums_role_menu_relation rmr ON r.id = rmr.role_id\n                LEFT JOIN ums_menu m ON rmr.menu_id = m.id\n        WHERE\n            arr.admin_id = #{adminId}\n          AND m.id IS NOT NULL\n        GROUP BY\n            m.id\n    </select>\n    <select id=\"getMenuListByRoleId\" resultType=\"com.macro.mall.model.UmsMenu\">\n        SELECT\n            m.id id,\n            m.parent_id parentId,\n            m.create_time createTime,\n            m.title title,\n            m.level level,\n            m.sort sort,\n            m.name name,\n            m.icon icon,\n            m.hidden hidden\n        FROM\n             ums_role_menu_relation rmr\n                LEFT JOIN ums_menu m ON rmr.menu_id = m.id\n        WHERE\n            rmr.role_id = #{roleId}\n          AND m.id IS NOT NULL\n        GROUP BY\n            m.id\n    </select>\n    <select id=\"getResourceListByRoleId\" resultType=\"com.macro.mall.model.UmsResource\">\n        SELECT\n            r.id id,\n            r.create_time createTime,\n            r.`name` `name`,\n            r.url url,\n            r.description description,\n            r.category_id categoryId\n        FROM\n            ums_role_resource_relation rrr\n                LEFT JOIN ums_resource r ON rrr.resource_id = r.id\n        WHERE\n            rrr.role_id = #{roleId}\n          AND r.id IS NOT NULL\n        GROUP BY\n            r.id\n    </select>\n</mapper>"
  },
  {
    "path": "mall-admin/src/test/com/macro/mall/PmsDaoTests.java",
    "content": "package com.macro.mall;\n\n\nimport cn.hutool.json.JSONUtil;\nimport com.macro.mall.dao.PmsMemberPriceDao;\nimport com.macro.mall.dao.PmsProductDao;\nimport com.macro.mall.dto.PmsProductResult;\nimport com.macro.mall.model.PmsMemberPrice;\nimport org.junit.jupiter.api.Test;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.boot.test.context.SpringBootTest;\nimport org.springframework.test.annotation.Rollback;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\n\n@SpringBootTest\npublic class PmsDaoTests {\n    @Autowired\n    private PmsMemberPriceDao memberPriceDao;\n    @Autowired\n    private PmsProductDao productDao;\n    private static final Logger LOGGER = LoggerFactory.getLogger(PmsDaoTests.class);\n    @Test\n    @Transactional\n    @Rollback\n    public void testInsertBatch(){\n        List<PmsMemberPrice> list = new ArrayList<>();\n        for(int i=0;i<5;i++){\n            PmsMemberPrice memberPrice = new PmsMemberPrice();\n            memberPrice.setProductId(1L);\n            memberPrice.setMemberLevelId((long) (i+1));\n            memberPrice.setMemberPrice(new BigDecimal(\"22\"));\n            list.add(memberPrice);\n        }\n        int count = memberPriceDao.insertList(list);\n        assertEquals(5,count);\n    }\n\n    @Test\n    public void  testGetProductUpdateInfo(){\n        PmsProductResult productResult = productDao.getUpdateInfo(7L);\n        String json = JSONUtil.parse(productResult).toString();\n        LOGGER.info(json);\n    }\n}\n"
  },
  {
    "path": "mall-common/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-common</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-common</name>\n    <description>mall-common project for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.github.pagehelper</groupId>\n            <artifactId>pagehelper</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-web</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-data-redis</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.data</groupId>\n            <artifactId>spring-data-commons</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>net.logstash.logback</groupId>\n            <artifactId>logstash-logback-encoder</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>io.springfox</groupId>\n            <artifactId>springfox-boot-starter</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-validation</artifactId>\n        </dependency>\n    </dependencies>\n\n</project>"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/api/CommonPage.java",
    "content": "package com.macro.mall.common.api;\n\nimport com.github.pagehelper.PageInfo;\nimport org.springframework.data.domain.Page;\n\nimport java.util.List;\n\n/**\n * 通用分页数据封装类\n * Created by macro on 2019/4/19.\n */\npublic class CommonPage<T> {\n    /**\n     * 当前页码\n     */\n    private Integer pageNum;\n    /**\n     * 每页数量\n     */\n    private Integer pageSize;\n    /**\n     * 总页数\n     */\n    private Integer totalPage;\n    /**\n     * 总条数\n     */\n    private Long total;\n    /**\n     * 分页数据\n     */\n    private List<T> list;\n\n    /**\n     * 将PageHelper分页后的list转为分页信息\n     */\n    public static <T> CommonPage<T> restPage(List<T> list) {\n        CommonPage<T> result = new CommonPage<T>();\n        PageInfo<T> pageInfo = new PageInfo<T>(list);\n        result.setTotalPage(pageInfo.getPages());\n        result.setPageNum(pageInfo.getPageNum());\n        result.setPageSize(pageInfo.getPageSize());\n        result.setTotal(pageInfo.getTotal());\n        result.setList(pageInfo.getList());\n        return result;\n    }\n\n    /**\n     * 将SpringData分页后的list转为分页信息\n     */\n    public static <T> CommonPage<T> restPage(Page<T> pageInfo) {\n        CommonPage<T> result = new CommonPage<T>();\n        result.setTotalPage(pageInfo.getTotalPages());\n        result.setPageNum(pageInfo.getNumber());\n        result.setPageSize(pageInfo.getSize());\n        result.setTotal(pageInfo.getTotalElements());\n        result.setList(pageInfo.getContent());\n        return result;\n    }\n\n    public Integer getPageNum() {\n        return pageNum;\n    }\n\n    public void setPageNum(Integer pageNum) {\n        this.pageNum = pageNum;\n    }\n\n    public Integer getPageSize() {\n        return pageSize;\n    }\n\n    public void setPageSize(Integer pageSize) {\n        this.pageSize = pageSize;\n    }\n\n    public Integer getTotalPage() {\n        return totalPage;\n    }\n\n    public void setTotalPage(Integer totalPage) {\n        this.totalPage = totalPage;\n    }\n\n    public List<T> getList() {\n        return list;\n    }\n\n    public void setList(List<T> list) {\n        this.list = list;\n    }\n\n    public Long getTotal() {\n        return total;\n    }\n\n    public void setTotal(Long total) {\n        this.total = total;\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/api/CommonResult.java",
    "content": "package com.macro.mall.common.api;\n\n/**\n * 通用返回结果封装类\n * Created by macro on 2019/4/19.\n */\npublic class CommonResult<T> {\n    /**\n     * 状态码\n     */\n    private long code;\n    /**\n     * 提示信息\n     */\n    private String message;\n    /**\n     * 数据封装\n     */\n    private T data;\n\n    protected CommonResult() {\n    }\n\n    protected CommonResult(long code, String message, T data) {\n        this.code = code;\n        this.message = message;\n        this.data = data;\n    }\n\n    /**\n     * 成功返回结果\n     *\n     * @param data 获取的数据\n     */\n    public static <T> CommonResult<T> success(T data) {\n        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);\n    }\n\n    /**\n     * 成功返回结果\n     *\n     * @param data 获取的数据\n     * @param  message 提示信息\n     */\n    public static <T> CommonResult<T> success(T data, String message) {\n        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data);\n    }\n\n    /**\n     * 失败返回结果\n     * @param errorCode 错误码\n     */\n    public static <T> CommonResult<T> failed(IErrorCode errorCode) {\n        return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null);\n    }\n\n    /**\n     * 失败返回结果\n     * @param errorCode 错误码\n     * @param message 错误信息\n     */\n    public static <T> CommonResult<T> failed(IErrorCode errorCode,String message) {\n        return new CommonResult<T>(errorCode.getCode(), message, null);\n    }\n\n    /**\n     * 失败返回结果\n     * @param message 提示信息\n     */\n    public static <T> CommonResult<T> failed(String message) {\n        return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null);\n    }\n\n    /**\n     * 失败返回结果\n     */\n    public static <T> CommonResult<T> failed() {\n        return failed(ResultCode.FAILED);\n    }\n\n    /**\n     * 参数验证失败返回结果\n     */\n    public static <T> CommonResult<T> validateFailed() {\n        return failed(ResultCode.VALIDATE_FAILED);\n    }\n\n    /**\n     * 参数验证失败返回结果\n     * @param message 提示信息\n     */\n    public static <T> CommonResult<T> validateFailed(String message) {\n        return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null);\n    }\n\n    /**\n     * 未登录返回结果\n     */\n    public static <T> CommonResult<T> unauthorized(T data) {\n        return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);\n    }\n\n    /**\n     * 未授权返回结果\n     */\n    public static <T> CommonResult<T> forbidden(T data) {\n        return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);\n    }\n\n    public long getCode() {\n        return code;\n    }\n\n    public void setCode(long code) {\n        this.code = code;\n    }\n\n    public String getMessage() {\n        return message;\n    }\n\n    public void setMessage(String message) {\n        this.message = message;\n    }\n\n    public T getData() {\n        return data;\n    }\n\n    public void setData(T data) {\n        this.data = data;\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/api/IErrorCode.java",
    "content": "package com.macro.mall.common.api;\n\n/**\n * API返回码接口\n * Created by macro on 2019/4/19.\n */\npublic interface IErrorCode {\n    /**\n     * 返回码\n     */\n    long getCode();\n\n    /**\n     * 返回信息\n     */\n    String getMessage();\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/api/ResultCode.java",
    "content": "package com.macro.mall.common.api;\n\n/**\n * API返回码封装类\n * Created by macro on 2019/4/19.\n */\npublic enum ResultCode implements IErrorCode {\n    SUCCESS(200, \"操作成功\"),\n    FAILED(500, \"操作失败\"),\n    VALIDATE_FAILED(404, \"参数检验失败\"),\n    UNAUTHORIZED(401, \"暂未登录或token已经过期\"),\n    FORBIDDEN(403, \"没有相关权限\");\n    private long code;\n    private String message;\n\n    private ResultCode(long code, String message) {\n        this.code = code;\n        this.message = message;\n    }\n\n    public long getCode() {\n        return code;\n    }\n\n    public String getMessage() {\n        return message;\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/config/BaseRedisConfig.java",
    "content": "package com.macro.mall.common.config;\n\nimport com.fasterxml.jackson.annotation.JsonAutoDetect;\nimport com.fasterxml.jackson.annotation.PropertyAccessor;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;\nimport com.macro.mall.common.service.RedisService;\nimport com.macro.mall.common.service.impl.RedisServiceImpl;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.data.redis.cache.RedisCacheConfiguration;\nimport org.springframework.data.redis.cache.RedisCacheManager;\nimport org.springframework.data.redis.cache.RedisCacheWriter;\nimport org.springframework.data.redis.connection.RedisConnectionFactory;\nimport org.springframework.data.redis.core.RedisTemplate;\nimport org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;\nimport org.springframework.data.redis.serializer.RedisSerializationContext;\nimport org.springframework.data.redis.serializer.RedisSerializer;\nimport org.springframework.data.redis.serializer.StringRedisSerializer;\n\nimport java.time.Duration;\n\n/**\n * Redis基础配置\n * Created by macro on 2020/6/19.\n */\npublic class BaseRedisConfig {\n\n    @Bean\n    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory,RedisSerializer<Object> redisSerializer) {\n        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();\n        redisTemplate.setConnectionFactory(redisConnectionFactory);\n        redisTemplate.setKeySerializer(new StringRedisSerializer());\n        redisTemplate.setValueSerializer(redisSerializer);\n        redisTemplate.setHashKeySerializer(new StringRedisSerializer());\n        redisTemplate.setHashValueSerializer(redisSerializer);\n        redisTemplate.afterPropertiesSet();\n        return redisTemplate;\n    }\n\n    @Bean\n    public RedisSerializer<Object> redisSerializer() {\n        //创建JSON序列化器\n        Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);\n        ObjectMapper objectMapper = new ObjectMapper();\n        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);\n        //必须设置，否则无法将JSON转化为对象，会转化成Map类型\n        objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.NON_FINAL);\n        serializer.setObjectMapper(objectMapper);\n        return serializer;\n    }\n\n    @Bean\n    public RedisCacheManager redisCacheManager(RedisConnectionFactory redisConnectionFactory) {\n        RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory);\n        //设置Redis缓存有效期为1天\n        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()\n                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer())).entryTtl(Duration.ofDays(1));\n        return new RedisCacheManager(redisCacheWriter, redisCacheConfiguration);\n    }\n\n\n    @Bean\n    public RedisService redisService(){\n        return new RedisServiceImpl();\n    }\n\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/config/BaseSwaggerConfig.java",
    "content": "package com.macro.mall.common.config;\n\nimport com.macro.mall.common.domain.SwaggerProperties;\nimport org.springframework.beans.BeansException;\nimport org.springframework.beans.factory.config.BeanPostProcessor;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.util.ReflectionUtils;\nimport org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;\nimport springfox.documentation.builders.ApiInfoBuilder;\nimport springfox.documentation.builders.PathSelectors;\nimport springfox.documentation.builders.RequestHandlerSelectors;\nimport springfox.documentation.service.*;\nimport springfox.documentation.spi.DocumentationType;\nimport springfox.documentation.spi.service.contexts.SecurityContext;\nimport springfox.documentation.spring.web.plugins.Docket;\nimport springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;\nimport springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;\n\nimport java.lang.reflect.Field;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * Swagger基础配置\n * Created by macro on 2020/7/16.\n */\npublic abstract class BaseSwaggerConfig {\n\n    @Bean\n    public Docket createRestApi() {\n        SwaggerProperties swaggerProperties = swaggerProperties();\n        Docket docket = new Docket(DocumentationType.SWAGGER_2)\n                .apiInfo(apiInfo(swaggerProperties))\n                .select()\n                .apis(RequestHandlerSelectors.basePackage(swaggerProperties.getApiBasePackage()))\n                .paths(PathSelectors.any())\n                .build();\n        if (swaggerProperties.isEnableSecurity()) {\n            docket.securitySchemes(securitySchemes()).securityContexts(securityContexts());\n        }\n        return docket;\n    }\n\n    private ApiInfo apiInfo(SwaggerProperties swaggerProperties) {\n        return new ApiInfoBuilder()\n                .title(swaggerProperties.getTitle())\n                .description(swaggerProperties.getDescription())\n                .contact(new Contact(swaggerProperties.getContactName(), swaggerProperties.getContactUrl(), swaggerProperties.getContactEmail()))\n                .version(swaggerProperties.getVersion())\n                .build();\n    }\n\n    private List<SecurityScheme> securitySchemes() {\n        //设置请求头信息\n        List<SecurityScheme> result = new ArrayList<>();\n        ApiKey apiKey = new ApiKey(\"Authorization\", \"Authorization\", \"header\");\n        result.add(apiKey);\n        return result;\n    }\n\n    private List<SecurityContext> securityContexts() {\n        //设置需要登录认证的路径\n        List<SecurityContext> result = new ArrayList<>();\n        result.add(getContextByPath(\"/*/.*\"));\n        return result;\n    }\n\n    private SecurityContext getContextByPath(String pathRegex) {\n        return SecurityContext.builder()\n                .securityReferences(defaultAuth())\n                .operationSelector(oc -> oc.requestMappingPattern().matches(pathRegex))\n                .build();\n    }\n\n    private List<SecurityReference> defaultAuth() {\n        List<SecurityReference> result = new ArrayList<>();\n        AuthorizationScope authorizationScope = new AuthorizationScope(\"global\", \"accessEverything\");\n        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];\n        authorizationScopes[0] = authorizationScope;\n        result.add(new SecurityReference(\"Authorization\", authorizationScopes));\n        return result;\n    }\n\n    public BeanPostProcessor generateBeanPostProcessor(){\n        return new BeanPostProcessor() {\n\n            @Override\n            public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {\n                if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) {\n                    customizeSpringfoxHandlerMappings(getHandlerMappings(bean));\n                }\n                return bean;\n            }\n\n            private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {\n                List<T> copy = mappings.stream()\n                        .filter(mapping -> mapping.getPatternParser() == null)\n                        .collect(Collectors.toList());\n                mappings.clear();\n                mappings.addAll(copy);\n            }\n\n            @SuppressWarnings(\"unchecked\")\n            private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {\n                try {\n                    Field field = ReflectionUtils.findField(bean.getClass(), \"handlerMappings\");\n                    field.setAccessible(true);\n                    return (List<RequestMappingInfoHandlerMapping>) field.get(bean);\n                } catch (IllegalArgumentException | IllegalAccessException e) {\n                    throw new IllegalStateException(e);\n                }\n            }\n        };\n    }\n\n    /**\n     * 自定义Swagger配置\n     */\n    public abstract SwaggerProperties swaggerProperties();\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/domain/SwaggerProperties.java",
    "content": "package com.macro.mall.common.domain;\n\nimport lombok.Builder;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * Swagger自定义配置\n * Created by macro on 2020/7/16.\n */\n@Data\n@EqualsAndHashCode\n@Builder\npublic class SwaggerProperties {\n    /**\n     * API文档生成基础路径\n     */\n    private String apiBasePackage;\n    /**\n     * 是否要启用登录认证\n     */\n    private boolean enableSecurity;\n    /**\n     * 文档标题\n     */\n    private String title;\n    /**\n     * 文档描述\n     */\n    private String description;\n    /**\n     * 文档版本\n     */\n    private String version;\n    /**\n     * 文档联系人姓名\n     */\n    private String contactName;\n    /**\n     * 文档联系人网址\n     */\n    private String contactUrl;\n    /**\n     * 文档联系人邮箱\n     */\n    private String contactEmail;\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/domain/WebLog.java",
    "content": "package com.macro.mall.common.domain;\n\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\n/**\n * Controller层的日志封装类\n * Created by macro on 2018/4/26.\n */\n@Data\n@EqualsAndHashCode\npublic class WebLog {\n    /**\n     * 操作描述\n     */\n    private String description;\n\n    /**\n     * 操作用户\n     */\n    private String username;\n\n    /**\n     * 操作时间\n     */\n    private Long startTime;\n\n    /**\n     * 消耗时间\n     */\n    private Integer spendTime;\n\n    /**\n     * 根路径\n     */\n    private String basePath;\n\n    /**\n     * URI\n     */\n    private String uri;\n\n    /**\n     * URL\n     */\n    private String url;\n\n    /**\n     * 请求类型\n     */\n    private String method;\n\n    /**\n     * IP地址\n     */\n    private String ip;\n\n    /**\n     * 请求参数\n     */\n    private Object parameter;\n\n    /**\n     * 返回结果\n     */\n    private Object result;\n\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/exception/ApiException.java",
    "content": "package com.macro.mall.common.exception;\n\nimport com.macro.mall.common.api.IErrorCode;\n\n/**\n * 自定义API异常\n * Created by macro on 2020/2/27.\n */\npublic class ApiException extends RuntimeException {\n    private IErrorCode errorCode;\n\n    public ApiException(IErrorCode errorCode) {\n        super(errorCode.getMessage());\n        this.errorCode = errorCode;\n    }\n\n    public ApiException(String message) {\n        super(message);\n    }\n\n    public ApiException(Throwable cause) {\n        super(cause);\n    }\n\n    public ApiException(String message, Throwable cause) {\n        super(message, cause);\n    }\n\n    public IErrorCode getErrorCode() {\n        return errorCode;\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/exception/Asserts.java",
    "content": "package com.macro.mall.common.exception;\n\nimport com.macro.mall.common.api.IErrorCode;\n\n/**\n * 断言处理类，用于抛出各种API异常\n * Created by macro on 2020/2/27.\n */\npublic class Asserts {\n    public static void fail(String message) {\n        throw new ApiException(message);\n    }\n\n    public static void fail(IErrorCode errorCode) {\n        throw new ApiException(errorCode);\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/exception/GlobalExceptionHandler.java",
    "content": "package com.macro.mall.common.exception;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.macro.mall.common.api.CommonResult;\nimport org.springframework.validation.BindException;\nimport org.springframework.validation.BindingResult;\nimport org.springframework.validation.FieldError;\nimport org.springframework.web.bind.MethodArgumentNotValidException;\nimport org.springframework.web.bind.annotation.ControllerAdvice;\nimport org.springframework.web.bind.annotation.ExceptionHandler;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport java.sql.SQLSyntaxErrorException;\n\n/**\n * 全局异常处理类\n * Created by macro on 2020/2/27.\n */\n@ControllerAdvice\npublic class GlobalExceptionHandler {\n\n    @ResponseBody\n    @ExceptionHandler(value = ApiException.class)\n    public CommonResult handle(ApiException e) {\n        if (e.getErrorCode() != null) {\n            return CommonResult.failed(e.getErrorCode());\n        }\n        return CommonResult.failed(e.getMessage());\n    }\n\n    @ResponseBody\n    @ExceptionHandler(value = MethodArgumentNotValidException.class)\n    public CommonResult handleValidException(MethodArgumentNotValidException e) {\n        BindingResult bindingResult = e.getBindingResult();\n        String message = null;\n        if (bindingResult.hasErrors()) {\n            FieldError fieldError = bindingResult.getFieldError();\n            if (fieldError != null) {\n                message = fieldError.getField()+fieldError.getDefaultMessage();\n            }\n        }\n        return CommonResult.validateFailed(message);\n    }\n\n    @ResponseBody\n    @ExceptionHandler(value = BindException.class)\n    public CommonResult handleValidException(BindException e) {\n        BindingResult bindingResult = e.getBindingResult();\n        String message = null;\n        if (bindingResult.hasErrors()) {\n            FieldError fieldError = bindingResult.getFieldError();\n            if (fieldError != null) {\n                message = fieldError.getField()+fieldError.getDefaultMessage();\n            }\n        }\n        return CommonResult.validateFailed(message);\n    }\n\n    @ResponseBody\n    @ExceptionHandler(value = SQLSyntaxErrorException.class)\n    public CommonResult handleSQLSyntaxErrorException(SQLSyntaxErrorException e) {\n        String message = e.getMessage();\n        if (StrUtil.isNotEmpty(message) && message.contains(\"denied\")) {\n            message = \"演示环境暂无修改权限，如需修改数据可本地搭建后台服务！\";\n        }\n        return CommonResult.failed(message);\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/log/WebLogAspect.java",
    "content": "package com.macro.mall.common.log;\n\nimport cn.hutool.core.util.StrUtil;\nimport cn.hutool.core.util.URLUtil;\nimport cn.hutool.json.JSONUtil;\nimport com.macro.mall.common.domain.WebLog;\nimport com.macro.mall.common.util.RequestUtil;\nimport io.swagger.annotations.ApiOperation;\nimport net.logstash.logback.marker.Markers;\nimport org.aspectj.lang.JoinPoint;\nimport org.aspectj.lang.ProceedingJoinPoint;\nimport org.aspectj.lang.Signature;\nimport org.aspectj.lang.annotation.*;\nimport org.aspectj.lang.reflect.MethodSignature;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.core.annotation.Order;\nimport org.springframework.stereotype.Component;\nimport org.springframework.web.bind.annotation.RequestBody;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.context.request.RequestContextHolder;\nimport org.springframework.web.context.request.ServletRequestAttributes;\n\nimport javax.servlet.http.HttpServletRequest;\nimport java.lang.reflect.Method;\nimport java.lang.reflect.Parameter;\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * 统一日志处理切面\n * Created by macro on 2018/4/26.\n */\n@Aspect\n@Component\n@Order(1)\npublic class WebLogAspect {\n    private static final Logger LOGGER = LoggerFactory.getLogger(WebLogAspect.class);\n\n    @Pointcut(\"execution(public * com.macro.mall.controller.*.*(..))||execution(public * com.macro.mall.*.controller.*.*(..))\")\n    public void webLog() {\n    }\n\n    @Before(\"webLog()\")\n    public void doBefore(JoinPoint joinPoint) throws Throwable {\n    }\n\n    @AfterReturning(value = \"webLog()\", returning = \"ret\")\n    public void doAfterReturning(Object ret) throws Throwable {\n    }\n\n    @Around(\"webLog()\")\n    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {\n        long startTime = System.currentTimeMillis();\n        //获取当前请求对象\n        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();\n        HttpServletRequest request = attributes.getRequest();\n        //记录请求信息(通过Logstash传入Elasticsearch)\n        WebLog webLog = new WebLog();\n        Object result = joinPoint.proceed();\n        Signature signature = joinPoint.getSignature();\n        MethodSignature methodSignature = (MethodSignature) signature;\n        Method method = methodSignature.getMethod();\n        if (method.isAnnotationPresent(ApiOperation.class)) {\n            ApiOperation log = method.getAnnotation(ApiOperation.class);\n            webLog.setDescription(log.value());\n        }\n        long endTime = System.currentTimeMillis();\n        String urlStr = request.getRequestURL().toString();\n        webLog.setBasePath(StrUtil.removeSuffix(urlStr, URLUtil.url(urlStr).getPath()));\n        webLog.setUsername(request.getRemoteUser());\n        webLog.setIp(RequestUtil.getRequestIp(request));\n        webLog.setMethod(request.getMethod());\n        webLog.setParameter(getParameter(method, joinPoint.getArgs()));\n        webLog.setResult(result);\n        webLog.setSpendTime((int) (endTime - startTime));\n        webLog.setStartTime(startTime);\n        webLog.setUri(request.getRequestURI());\n        webLog.setUrl(request.getRequestURL().toString());\n        Map<String,Object> logMap = new HashMap<>();\n        logMap.put(\"url\",webLog.getUrl());\n        logMap.put(\"method\",webLog.getMethod());\n        logMap.put(\"parameter\",webLog.getParameter());\n        logMap.put(\"spendTime\",webLog.getSpendTime());\n        logMap.put(\"description\",webLog.getDescription());\n//        LOGGER.info(\"{}\", JSONUtil.parse(webLog));\n        LOGGER.info(Markers.appendEntries(logMap), JSONUtil.parse(webLog).toString());\n        return result;\n    }\n\n    /**\n     * 根据方法和传入的参数获取请求参数\n     */\n    private Object getParameter(Method method, Object[] args) {\n        List<Object> argList = new ArrayList<>();\n        Parameter[] parameters = method.getParameters();\n        for (int i = 0; i < parameters.length; i++) {\n            //将RequestBody注解修饰的参数作为请求参数\n            RequestBody requestBody = parameters[i].getAnnotation(RequestBody.class);\n            if (requestBody != null) {\n                argList.add(args[i]);\n            }\n            //将RequestParam注解修饰的参数作为请求参数\n            RequestParam requestParam = parameters[i].getAnnotation(RequestParam.class);\n            if (requestParam != null) {\n                Map<String, Object> map = new HashMap<>();\n                String key = parameters[i].getName();\n                if (!StrUtil.isEmpty(requestParam.value())) {\n                    key = requestParam.value();\n                }\n                if(args[i]!=null){\n                    map.put(key, args[i]);\n                    argList.add(map);\n                }\n            }\n        }\n        if (argList.size() == 0) {\n            return null;\n        } else if (argList.size() == 1) {\n            return argList.get(0);\n        } else {\n            return argList;\n        }\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/service/RedisService.java",
    "content": "package com.macro.mall.common.service;\n\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Set;\n\n/**\n * Redis操作Service\n * Created by macro on 2020/3/3.\n */\npublic interface RedisService {\n\n    /**\n     * 保存属性\n     */\n    void set(String key, Object value, long time);\n\n    /**\n     * 保存属性\n     */\n    void set(String key, Object value);\n\n    /**\n     * 获取属性\n     */\n    Object get(String key);\n\n    /**\n     * 删除属性\n     */\n    Boolean del(String key);\n\n    /**\n     * 批量删除属性\n     */\n    Long del(List<String> keys);\n\n    /**\n     * 设置过期时间\n     */\n    Boolean expire(String key, long time);\n\n    /**\n     * 获取过期时间\n     */\n    Long getExpire(String key);\n\n    /**\n     * 判断是否有该属性\n     */\n    Boolean hasKey(String key);\n\n    /**\n     * 按delta递增\n     */\n    Long incr(String key, long delta);\n\n    /**\n     * 按delta递减\n     */\n    Long decr(String key, long delta);\n\n    /**\n     * 获取Hash结构中的属性\n     */\n    Object hGet(String key, String hashKey);\n\n    /**\n     * 向Hash结构中放入一个属性\n     */\n    Boolean hSet(String key, String hashKey, Object value, long time);\n\n    /**\n     * 向Hash结构中放入一个属性\n     */\n    void hSet(String key, String hashKey, Object value);\n\n    /**\n     * 直接获取整个Hash结构\n     */\n    Map<Object, Object> hGetAll(String key);\n\n    /**\n     * 直接设置整个Hash结构\n     */\n    Boolean hSetAll(String key, Map<String, Object> map, long time);\n\n    /**\n     * 直接设置整个Hash结构\n     */\n    void hSetAll(String key, Map<String, ?> map);\n\n    /**\n     * 删除Hash结构中的属性\n     */\n    void hDel(String key, Object... hashKey);\n\n    /**\n     * 判断Hash结构中是否有该属性\n     */\n    Boolean hHasKey(String key, String hashKey);\n\n    /**\n     * Hash结构中属性递增\n     */\n    Long hIncr(String key, String hashKey, Long delta);\n\n    /**\n     * Hash结构中属性递减\n     */\n    Long hDecr(String key, String hashKey, Long delta);\n\n    /**\n     * 获取Set结构\n     */\n    Set<Object> sMembers(String key);\n\n    /**\n     * 向Set结构中添加属性\n     */\n    Long sAdd(String key, Object... values);\n\n    /**\n     * 向Set结构中添加属性\n     */\n    Long sAdd(String key, long time, Object... values);\n\n    /**\n     * 是否为Set中的属性\n     */\n    Boolean sIsMember(String key, Object value);\n\n    /**\n     * 获取Set结构的长度\n     */\n    Long sSize(String key);\n\n    /**\n     * 删除Set结构中的属性\n     */\n    Long sRemove(String key, Object... values);\n\n    /**\n     * 获取List结构中的属性\n     */\n    List<Object> lRange(String key, long start, long end);\n\n    /**\n     * 获取List结构的长度\n     */\n    Long lSize(String key);\n\n    /**\n     * 根据索引获取List中的属性\n     */\n    Object lIndex(String key, long index);\n\n    /**\n     * 向List结构中添加属性\n     */\n    Long lPush(String key, Object value);\n\n    /**\n     * 向List结构中添加属性\n     */\n    Long lPush(String key, Object value, long time);\n\n    /**\n     * 向List结构中批量添加属性\n     */\n    Long lPushAll(String key, Object... values);\n\n    /**\n     * 向List结构中批量添加属性\n     */\n    Long lPushAll(String key, Long time, Object... values);\n\n    /**\n     * 从List结构中移除属性\n     */\n    Long lRemove(String key, long count, Object value);\n}"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/service/impl/RedisServiceImpl.java",
    "content": "package com.macro.mall.common.service.impl;\n\nimport com.macro.mall.common.service.RedisService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.redis.core.RedisTemplate;\n\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Set;\nimport java.util.concurrent.TimeUnit;\n\n/**\n * Redis操作Service实现类\n * Created by macro on 2020/3/3.\n */\npublic class RedisServiceImpl implements RedisService {\n    @Autowired\n    private RedisTemplate<String, Object> redisTemplate;\n\n    @Override\n    public void set(String key, Object value, long time) {\n        redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);\n    }\n\n    @Override\n    public void set(String key, Object value) {\n        redisTemplate.opsForValue().set(key, value);\n    }\n\n    @Override\n    public Object get(String key) {\n        return redisTemplate.opsForValue().get(key);\n    }\n\n    @Override\n    public Boolean del(String key) {\n        return redisTemplate.delete(key);\n    }\n\n    @Override\n    public Long del(List<String> keys) {\n        return redisTemplate.delete(keys);\n    }\n\n    @Override\n    public Boolean expire(String key, long time) {\n        return redisTemplate.expire(key, time, TimeUnit.SECONDS);\n    }\n\n    @Override\n    public Long getExpire(String key) {\n        return redisTemplate.getExpire(key, TimeUnit.SECONDS);\n    }\n\n    @Override\n    public Boolean hasKey(String key) {\n        return redisTemplate.hasKey(key);\n    }\n\n    @Override\n    public Long incr(String key, long delta) {\n        return redisTemplate.opsForValue().increment(key, delta);\n    }\n\n    @Override\n    public Long decr(String key, long delta) {\n        return redisTemplate.opsForValue().increment(key, -delta);\n    }\n\n    @Override\n    public Object hGet(String key, String hashKey) {\n        return redisTemplate.opsForHash().get(key, hashKey);\n    }\n\n    @Override\n    public Boolean hSet(String key, String hashKey, Object value, long time) {\n        redisTemplate.opsForHash().put(key, hashKey, value);\n        return expire(key, time);\n    }\n\n    @Override\n    public void hSet(String key, String hashKey, Object value) {\n        redisTemplate.opsForHash().put(key, hashKey, value);\n    }\n\n    @Override\n    public Map<Object, Object> hGetAll(String key) {\n        return redisTemplate.opsForHash().entries(key);\n    }\n\n    @Override\n    public Boolean hSetAll(String key, Map<String, Object> map, long time) {\n        redisTemplate.opsForHash().putAll(key, map);\n        return expire(key, time);\n    }\n\n    @Override\n    public void hSetAll(String key, Map<String, ?> map) {\n        redisTemplate.opsForHash().putAll(key, map);\n    }\n\n    @Override\n    public void hDel(String key, Object... hashKey) {\n        redisTemplate.opsForHash().delete(key, hashKey);\n    }\n\n    @Override\n    public Boolean hHasKey(String key, String hashKey) {\n        return redisTemplate.opsForHash().hasKey(key, hashKey);\n    }\n\n    @Override\n    public Long hIncr(String key, String hashKey, Long delta) {\n        return redisTemplate.opsForHash().increment(key, hashKey, delta);\n    }\n\n    @Override\n    public Long hDecr(String key, String hashKey, Long delta) {\n        return redisTemplate.opsForHash().increment(key, hashKey, -delta);\n    }\n\n    @Override\n    public Set<Object> sMembers(String key) {\n        return redisTemplate.opsForSet().members(key);\n    }\n\n    @Override\n    public Long sAdd(String key, Object... values) {\n        return redisTemplate.opsForSet().add(key, values);\n    }\n\n    @Override\n    public Long sAdd(String key, long time, Object... values) {\n        Long count = redisTemplate.opsForSet().add(key, values);\n        expire(key, time);\n        return count;\n    }\n\n    @Override\n    public Boolean sIsMember(String key, Object value) {\n        return redisTemplate.opsForSet().isMember(key, value);\n    }\n\n    @Override\n    public Long sSize(String key) {\n        return redisTemplate.opsForSet().size(key);\n    }\n\n    @Override\n    public Long sRemove(String key, Object... values) {\n        return redisTemplate.opsForSet().remove(key, values);\n    }\n\n    @Override\n    public List<Object> lRange(String key, long start, long end) {\n        return redisTemplate.opsForList().range(key, start, end);\n    }\n\n    @Override\n    public Long lSize(String key) {\n        return redisTemplate.opsForList().size(key);\n    }\n\n    @Override\n    public Object lIndex(String key, long index) {\n        return redisTemplate.opsForList().index(key, index);\n    }\n\n    @Override\n    public Long lPush(String key, Object value) {\n        return redisTemplate.opsForList().rightPush(key, value);\n    }\n\n    @Override\n    public Long lPush(String key, Object value, long time) {\n        Long index = redisTemplate.opsForList().rightPush(key, value);\n        expire(key, time);\n        return index;\n    }\n\n    @Override\n    public Long lPushAll(String key, Object... values) {\n        return redisTemplate.opsForList().rightPushAll(key, values);\n    }\n\n    @Override\n    public Long lPushAll(String key, Long time, Object... values) {\n        Long count = redisTemplate.opsForList().rightPushAll(key, values);\n        expire(key, time);\n        return count;\n    }\n\n    @Override\n    public Long lRemove(String key, long count, Object value) {\n        return redisTemplate.opsForList().remove(key, count, value);\n    }\n}\n"
  },
  {
    "path": "mall-common/src/main/java/com/macro/mall/common/util/RequestUtil.java",
    "content": "package com.macro.mall.common.util;\n\nimport javax.servlet.http.HttpServletRequest;\nimport java.net.InetAddress;\nimport java.net.UnknownHostException;\n\n/**\n * 请求工具类\n * Created by macro on 2020/10/8.\n */\npublic class RequestUtil {\n\n    /**\n     * 获取请求真实IP地址\n     */\n    public static String getRequestIp(HttpServletRequest request) {\n        //通过HTTP代理服务器转发时添加\n        String ipAddress = request.getHeader(\"x-forwarded-for\");\n        if (ipAddress == null || ipAddress.length() == 0 || \"unknown\".equalsIgnoreCase(ipAddress)) {\n            ipAddress = request.getHeader(\"Proxy-Client-IP\");\n        }\n        if (ipAddress == null || ipAddress.length() == 0 || \"unknown\".equalsIgnoreCase(ipAddress)) {\n            ipAddress = request.getHeader(\"WL-Proxy-Client-IP\");\n        }\n        if (ipAddress == null || ipAddress.length() == 0 || \"unknown\".equalsIgnoreCase(ipAddress)) {\n            ipAddress = request.getRemoteAddr();\n            // 从本地访问时根据网卡取本机配置的IP\n            if (ipAddress.equals(\"127.0.0.1\") || ipAddress.equals(\"0:0:0:0:0:0:0:1\")) {\n                InetAddress inetAddress = null;\n                try {\n                    inetAddress = InetAddress.getLocalHost();\n                } catch (UnknownHostException e) {\n                    e.printStackTrace();\n                }\n                ipAddress = inetAddress.getHostAddress();\n            }\n        }\n        // 通过多个代理转发的情况，第一个IP为客户端真实IP，多个IP会按照','分割\n        if (ipAddress != null && ipAddress.length() > 15) {\n            if (ipAddress.indexOf(\",\") > 0) {\n                ipAddress = ipAddress.substring(0, ipAddress.indexOf(\",\"));\n            }\n        }\n        return ipAddress;\n    }\n\n}\n"
  },
  {
    "path": "mall-common/src/main/resources/logback-spring.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE configuration>\n<configuration>\n    <!--引用默认日志配置-->\n    <include resource=\"org/springframework/boot/logging/logback/defaults.xml\"/>\n    <!--使用默认的控制台日志输出实现-->\n    <include resource=\"org/springframework/boot/logging/logback/console-appender.xml\"/>\n    <!--应用名称-->\n    <springProperty scope=\"context\" name=\"APP_NAME\" source=\"spring.application.name\" defaultValue=\"springBoot\"/>\n    <!--日志文件保存路径-->\n    <property name=\"LOG_FILE_PATH\" value=\"${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/logs}\"/>\n    <!--LogStash访问host-->\n    <springProperty name=\"LOG_STASH_HOST\" scope=\"context\" source=\"logstash.host\" defaultValue=\"localhost\"/>\n    <!--是否开启LogStash插件内部日志-->\n    <springProperty name=\"ENABLE_INNER_LOG\" scope=\"context\" source=\"logstash.enableInnerLog\" defaultValue=\"false\"/>\n\n    <!--DEBUG日志输出到文件-->\n    <appender name=\"FILE_DEBUG\"\n              class=\"ch.qos.logback.core.rolling.RollingFileAppender\">\n        <!--输出DEBUG以上级别日志-->\n        <filter class=\"ch.qos.logback.classic.filter.ThresholdFilter\">\n            <level>DEBUG</level>\n        </filter>\n        <encoder>\n            <!--设置为默认的文件日志格式-->\n            <pattern>${FILE_LOG_PATTERN}</pattern>\n            <charset>UTF-8</charset>\n        </encoder>\n        <rollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\">\n            <!--设置文件命名格式-->\n            <fileNamePattern>${LOG_FILE_PATH}/debug/${APP_NAME}-%d{yyyy-MM-dd}-%i.log</fileNamePattern>\n            <!--设置日志文件大小，超过就重新生成文件，默认10M-->\n            <maxFileSize>${LOG_FILE_MAX_SIZE:-10MB}</maxFileSize>\n            <!--日志文件保留天数，默认30天-->\n            <maxHistory>${LOG_FILE_MAX_HISTORY:-30}</maxHistory>\n        </rollingPolicy>\n    </appender>\n\n    <!--ERROR日志输出到文件-->\n    <appender name=\"FILE_ERROR\"\n              class=\"ch.qos.logback.core.rolling.RollingFileAppender\">\n        <!--只输出ERROR级别的日志-->\n        <filter class=\"ch.qos.logback.classic.filter.LevelFilter\">\n            <level>ERROR</level>\n            <onMatch>ACCEPT</onMatch>\n            <onMismatch>DENY</onMismatch>\n        </filter>\n        <encoder>\n            <!--设置为默认的文件日志格式-->\n            <pattern>${FILE_LOG_PATTERN}</pattern>\n            <charset>UTF-8</charset>\n        </encoder>\n        <rollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\">\n            <!--设置文件命名格式-->\n            <fileNamePattern>${LOG_FILE_PATH}/error/${APP_NAME}-%d{yyyy-MM-dd}-%i.log</fileNamePattern>\n            <!--设置日志文件大小，超过就重新生成文件，默认10M-->\n            <maxFileSize>${LOG_FILE_MAX_SIZE:-10MB}</maxFileSize>\n            <!--日志文件保留天数，默认30天-->\n            <maxHistory>${LOG_FILE_MAX_HISTORY:-30}</maxHistory>\n        </rollingPolicy>\n    </appender>\n\n    <!--DEBUG日志输出到LogStash-->\n    <appender name=\"LOG_STASH_DEBUG\" class=\"net.logstash.logback.appender.LogstashTcpSocketAppender\">\n        <filter class=\"ch.qos.logback.classic.filter.ThresholdFilter\">\n            <level>DEBUG</level>\n        </filter>\n        <destination>${LOG_STASH_HOST}:4560</destination>\n        <addDefaultStatusListener>${ENABLE_INNER_LOG}</addDefaultStatusListener>\n        <encoder charset=\"UTF-8\" class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">\n            <providers>\n                <timestamp>\n                    <timeZone>Asia/Shanghai</timeZone>\n                </timestamp>\n                <!--自定义日志输出格式-->\n                <pattern>\n                    <pattern>\n                        {\n                        \"project\": \"mall\",\n                        \"level\": \"%level\",\n                        \"service\": \"${APP_NAME:-}\",\n                        \"pid\": \"${PID:-}\",\n                        \"thread\": \"%thread\",\n                        \"class\": \"%logger\",\n                        \"message\": \"%message\",\n                        \"stack_trace\": \"%exception{20}\"\n                        }\n                    </pattern>\n                </pattern>\n            </providers>\n        </encoder>\n    </appender>\n\n    <!--ERROR日志输出到LogStash-->\n    <appender name=\"LOG_STASH_ERROR\" class=\"net.logstash.logback.appender.LogstashTcpSocketAppender\">\n        <filter class=\"ch.qos.logback.classic.filter.LevelFilter\">\n            <level>ERROR</level>\n            <onMatch>ACCEPT</onMatch>\n            <onMismatch>DENY</onMismatch>\n        </filter>\n        <destination>${LOG_STASH_HOST}:4561</destination>\n        <addDefaultStatusListener>${ENABLE_INNER_LOG}</addDefaultStatusListener>\n        <encoder charset=\"UTF-8\" class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">\n            <providers>\n                <timestamp>\n                    <timeZone>Asia/Shanghai</timeZone>\n                </timestamp>\n                <!--自定义日志输出格式-->\n                <pattern>\n                    <pattern>\n                        {\n                        \"project\": \"mall\",\n                        \"level\": \"%level\",\n                        \"service\": \"${APP_NAME:-}\",\n                        \"pid\": \"${PID:-}\",\n                        \"thread\": \"%thread\",\n                        \"class\": \"%logger\",\n                        \"message\": \"%message\",\n                        \"stack_trace\": \"%exception{20}\"\n                        }\n                    </pattern>\n                </pattern>\n            </providers>\n        </encoder>\n    </appender>\n\n    <!--业务日志输出到LogStash-->\n    <appender name=\"LOG_STASH_BUSINESS\" class=\"net.logstash.logback.appender.LogstashTcpSocketAppender\">\n        <destination>${LOG_STASH_HOST}:4562</destination>\n        <addDefaultStatusListener>${ENABLE_INNER_LOG}</addDefaultStatusListener>\n        <encoder charset=\"UTF-8\" class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">\n            <providers>\n                <timestamp>\n                    <timeZone>Asia/Shanghai</timeZone>\n                </timestamp>\n                <!--自定义日志输出格式-->\n                <pattern>\n                    <pattern>\n                        {\n                        \"project\": \"mall\",\n                        \"level\": \"%level\",\n                        \"service\": \"${APP_NAME:-}\",\n                        \"pid\": \"${PID:-}\",\n                        \"thread\": \"%thread\",\n                        \"class\": \"%logger\",\n                        \"message\": \"%message\",\n                        \"stack_trace\": \"%exception{20}\"\n                        }\n                    </pattern>\n                </pattern>\n            </providers>\n        </encoder>\n    </appender>\n\n    <!--接口访问记录日志输出到LogStash-->\n    <appender name=\"LOG_STASH_RECORD\" class=\"net.logstash.logback.appender.LogstashTcpSocketAppender\">\n        <destination>${LOG_STASH_HOST}:4563</destination>\n        <addDefaultStatusListener>${ENABLE_INNER_LOG}</addDefaultStatusListener>\n        <encoder charset=\"UTF-8\" class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">\n            <providers>\n                <timestamp>\n                    <timeZone>Asia/Shanghai</timeZone>\n                </timestamp>\n                <!--自定义日志输出格式-->\n                <pattern>\n                    <pattern>\n                        {\n                        \"project\": \"mall\",\n                        \"level\": \"%level\",\n                        \"service\": \"${APP_NAME:-}\",\n                        \"class\": \"%logger\",\n                        \"message\": \"%message\"\n                        }\n                    </pattern>\n                </pattern>\n            </providers>\n        </encoder>\n    </appender>\n\n    <!--控制框架输出日志-->\n    <logger name=\"org.slf4j\" level=\"INFO\"/>\n    <logger name=\"springfox\" level=\"INFO\"/>\n    <logger name=\"io.swagger\" level=\"INFO\"/>\n    <logger name=\"org.springframework\" level=\"INFO\"/>\n    <logger name=\"org.hibernate.validator\" level=\"INFO\"/>\n\n    <root level=\"DEBUG\">\n        <appender-ref ref=\"CONSOLE\"/>\n        <appender-ref ref=\"FILE_DEBUG\"/>\n        <appender-ref ref=\"FILE_ERROR\"/>\n        <appender-ref ref=\"LOG_STASH_DEBUG\"/>\n        <appender-ref ref=\"LOG_STASH_ERROR\"/>\n    </root>\n\n    <logger name=\"com.macro.mall.common.log.WebLogAspect\" level=\"DEBUG\">\n        <appender-ref ref=\"LOG_STASH_RECORD\"/>\n    </logger>\n\n    <logger name=\"com.macro.mall\" level=\"DEBUG\">\n        <appender-ref ref=\"LOG_STASH_BUSINESS\"/>\n    </logger>\n</configuration>\n"
  },
  {
    "path": "mall-demo/.gitignore",
    "content": "/target/\n!.mvn/wrapper/maven-wrapper.jar\n\n### STS ###\n.apt_generated\n.classpath\n.factorypath\n.project\n.settings\n.springBeans\n.sts4-cache\n\n### IntelliJ IDEA ###\n.idea\n*.iws\n*.iml\n*.ipr\n\n### NetBeans ###\n/nbproject/private/\n/build/\n/nbbuild/\n/dist/\n/nbdist/\n/.nb-gradle/"
  },
  {
    "path": "mall-demo/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-demo</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-demo</name>\n    <description>mall-demo for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n    <dependencies>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-mbg</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-thymeleaf</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-security</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>net.logstash.logback</groupId>\n            <artifactId>logstash-logback-encoder</artifactId>\n        </dependency>\n    </dependencies>\n\n    <build>\n        <plugins>\n            <plugin>\n                <groupId>org.springframework.boot</groupId>\n                <artifactId>spring-boot-maven-plugin</artifactId>\n            </plugin>\n        </plugins>\n    </build>\n\n\n</project>\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/MallDemoApplication.java",
    "content": "package com.macro.mall.demo;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication\npublic class MallDemoApplication{\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(MallDemoApplication.class, args);\n\t}\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/bo/AdminUserDetails.java",
    "content": "package com.macro.mall.demo.bo;\n\nimport com.macro.mall.model.UmsAdmin;\nimport org.springframework.security.core.GrantedAuthority;\nimport org.springframework.security.core.authority.SimpleGrantedAuthority;\nimport org.springframework.security.core.userdetails.UserDetails;\n\nimport java.util.Arrays;\nimport java.util.Collection;\n\n/**\n * SpringSecurity需要的用户详情\n * Created by macro on 2018/4/26.\n */\npublic class AdminUserDetails implements UserDetails {\n    private UmsAdmin umsAdmin;\n\n    public AdminUserDetails(UmsAdmin umsAdmin) {\n        this.umsAdmin = umsAdmin;\n    }\n\n    @Override\n    public Collection<? extends GrantedAuthority> getAuthorities() {\n        //返回当前用户的权限\n        return Arrays.asList(new SimpleGrantedAuthority(\"TEST\"));\n    }\n\n    @Override\n    public String getPassword() {\n        return umsAdmin.getPassword();\n    }\n\n    @Override\n    public String getUsername() {\n        return umsAdmin.getUsername();\n    }\n\n    @Override\n    public boolean isAccountNonExpired() {\n        return true;\n    }\n\n    @Override\n    public boolean isAccountNonLocked() {\n        return true;\n    }\n\n    @Override\n    public boolean isCredentialsNonExpired() {\n        return true;\n    }\n\n    @Override\n    public boolean isEnabled() {\n        return true;\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/config/MyBatisConfig.java",
    "content": "package com.macro.mall.demo.config;\n\nimport org.mybatis.spring.annotation.MapperScan;\nimport org.springframework.context.annotation.Configuration;\n\n/**\n * MyBatis相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\n@MapperScan(\"com.macro.mall.mapper\")\npublic class MyBatisConfig {\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/config/RestTemplateConfig.java",
    "content": "package com.macro.mall.demo.config;\n\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.web.client.RestTemplate;\n\n/**\n * RestTemplate相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\npublic class RestTemplateConfig {\n    @Bean\n    public RestTemplate restTemplate(){\n        return new RestTemplate();\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/config/SecurityConfig.java",
    "content": "package com.macro.mall.demo.config;\n\nimport com.macro.mall.demo.bo.AdminUserDetails;\nimport com.macro.mall.mapper.UmsAdminMapper;\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsAdminExample;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;\nimport org.springframework.security.config.annotation.web.builders.HttpSecurity;\nimport org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;\nimport org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;\nimport org.springframework.security.core.userdetails.UserDetails;\nimport org.springframework.security.core.userdetails.UserDetailsService;\nimport org.springframework.security.core.userdetails.UsernameNotFoundException;\nimport org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;\n\nimport java.util.List;\n\n/**\n * SpringSecurity相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\n@EnableWebSecurity\npublic class SecurityConfig extends WebSecurityConfigurerAdapter {\n    @Autowired\n    private UmsAdminMapper umsAdminMapper;\n\n    @Override\n    protected void configure(HttpSecurity http) throws Exception {\n        http.authorizeRequests()//配置权限\n//                .antMatchers(\"/\").access(\"hasRole('TEST')\")//该路径需要TEST角色\n//                .antMatchers(\"/brand/list\").hasAuthority(\"TEST\")//该路径需要TEST权限\n                .antMatchers(\"/**\").permitAll()\n                .and()//启用基于http的认证\n                .httpBasic()\n                .realmName(\"/\")\n                .and()//配置登录页面\n                .formLogin()\n                .loginPage(\"/login\")\n                .failureUrl(\"/login?error=true\")\n                .and()//配置退出路径\n                .logout()\n                .logoutSuccessUrl(\"/\")\n//                .and()//记住密码功能\n//                .rememberMe()\n//                .tokenValiditySeconds(60*60*24)\n//                .key(\"rememberMeKey\")\n                .and()//关闭跨域伪造\n                .csrf()\n                .disable()\n                .headers()//去除X-Frame-Options\n                .frameOptions()\n                .disable();\n    }\n\n    @Override\n    protected void configure(AuthenticationManagerBuilder auth) throws Exception {\n        auth.userDetailsService(userDetailsService()).passwordEncoder(new BCryptPasswordEncoder());\n    }\n\n    @Bean\n    public UserDetailsService userDetailsService() {\n        //获取登录用户信息\n        return new UserDetailsService() {\n            @Override\n            public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {\n                UmsAdminExample example = new UmsAdminExample();\n                example.createCriteria().andUsernameEqualTo(username);\n                List<UmsAdmin> umsAdminList = umsAdminMapper.selectByExample(example);\n                if (umsAdminList != null && umsAdminList.size() > 0) {\n                    return new AdminUserDetails(umsAdminList.get(0));\n                }\n                throw new UsernameNotFoundException(\"用户名或密码错误\");\n            }\n        };\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/config/SwaggerConfig.java",
    "content": "package com.macro.mall.demo.config;\n\nimport com.macro.mall.common.config.BaseSwaggerConfig;\nimport com.macro.mall.common.domain.SwaggerProperties;\nimport org.springframework.beans.factory.config.BeanPostProcessor;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport springfox.documentation.swagger2.annotations.EnableSwagger2;\n\n/**\n * Swagger API文档相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\n@EnableSwagger2\npublic class SwaggerConfig extends BaseSwaggerConfig {\n\n    @Override\n    public SwaggerProperties swaggerProperties() {\n        return SwaggerProperties.builder()\n                .apiBasePackage(\"com.macro.mall.demo.controller\")\n                .title(\"mall-demo系统\")\n                .description(\"SpringBoot版本中的一些示例\")\n                .contactName(\"macro\")\n                .version(\"1.0\")\n                .enableSecurity(true)\n                .build();\n    }\n\n    @Bean\n    public BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {\n        return generateBeanPostProcessor();\n    }\n\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/controller/DemoController.java",
    "content": "package com.macro.mall.demo.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.demo.dto.PmsBrandDto;\nimport com.macro.mall.demo.service.DemoService;\nimport com.macro.mall.model.PmsBrand;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 品牌管理示例controller\n * Created by macro on 2019/4/8.\n */\n@Api(tags = \"DemoController\")\n@Tag(name = \"DemoController\",description = \"品牌管理示例接口\")\n@Controller\npublic class DemoController {\n    @Autowired\n    private DemoService demoService;\n\n    private static final Logger LOGGER = LoggerFactory.getLogger(DemoController.class);\n\n    @ApiOperation(value = \"获取全部品牌列表\")\n    @RequestMapping(value = \"/brand/listAll\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsBrand>> getBrandList() {\n        return CommonResult.success(demoService.listAllBrand());\n    }\n\n    @ApiOperation(value = \"添加品牌\")\n    @RequestMapping(value = \"/brand/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult createBrand(@Validated @RequestBody PmsBrandDto pmsBrand) {\n        CommonResult commonResult;\n        int count = demoService.createBrand(pmsBrand);\n        if (count == 1) {\n            commonResult = CommonResult.success(pmsBrand);\n            LOGGER.debug(\"createBrand success:{}\", pmsBrand);\n        } else {\n            commonResult = CommonResult.failed(\"操作失败\");\n            LOGGER.debug(\"createBrand failed:{}\", pmsBrand);\n        }\n        return commonResult;\n    }\n\n    @ApiOperation(value = \"更新品牌\")\n    @RequestMapping(value = \"/brand/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateBrand(@PathVariable(\"id\") Long id, @Validated @RequestBody PmsBrandDto pmsBrandDto) {\n        CommonResult commonResult;\n        int count = demoService.updateBrand(id, pmsBrandDto);\n        if (count == 1) {\n            commonResult = CommonResult.success(pmsBrandDto);\n            LOGGER.debug(\"updateBrand success:{}\", pmsBrandDto);\n        } else {\n            commonResult = CommonResult.failed(\"操作失败\");\n            LOGGER.debug(\"updateBrand failed:{}\", pmsBrandDto);\n        }\n        return commonResult;\n    }\n\n    @ApiOperation(value = \"删除品牌\")\n    @RequestMapping(value = \"/brand/delete/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult deleteBrand(@PathVariable(\"id\") Long id) {\n        int count = demoService.deleteBrand(id);\n        if (count == 1) {\n            LOGGER.debug(\"deleteBrand success :id={}\", id);\n            return CommonResult.success(null);\n        } else {\n            LOGGER.debug(\"deleteBrand failed :id={}\", id);\n            return CommonResult.failed(\"操作失败\");\n        }\n    }\n\n    @ApiOperation(value = \"分页获取品牌列表\")\n    @RequestMapping(value = \"/brand/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsBrand>> listBrand(@RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                        @RequestParam(value = \"pageSize\", defaultValue = \"3\") Integer pageSize) {\n        List<PmsBrand> brandList = demoService.listBrand(pageNum, pageSize);\n        return CommonResult.success(CommonPage.restPage(brandList));\n    }\n\n    @ApiOperation(value = \"根据编号查询品牌信息\")\n    @RequestMapping(value = \"/brand/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsBrand> brand(@PathVariable(\"id\") Long id) {\n        return CommonResult.success(demoService.getBrand(id));\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/controller/RestTemplateDemoController.java",
    "content": "package com.macro.mall.demo.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.PmsBrand;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.http.HttpEntity;\nimport org.springframework.http.HttpHeaders;\nimport org.springframework.http.MediaType;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.util.LinkedMultiValueMap;\nimport org.springframework.util.MultiValueMap;\nimport org.springframework.web.bind.annotation.*;\nimport org.springframework.web.client.RestTemplate;\nimport org.springframework.web.util.UriComponents;\nimport org.springframework.web.util.UriComponentsBuilder;\n\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * RestTemplate示例Controller\n * Created by macro on 2018/9/17.\n */\n@Api(tags = \"RestTemplateDemoController\", description = \"RestTemplate示例\")\n@Controller\n@RequestMapping(\"/template\")\npublic class RestTemplateDemoController {\n    @Autowired\n    private RestTemplate restTemplate;\n    @Value(\"${host.mall.admin}\")\n    private String HOST_MALL_ADMIN;\n\n    @ApiOperation(\"getForEntity url\")\n    @RequestMapping(value = \"/get/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public Object getForEntity(@PathVariable Long id) {\n        String url = HOST_MALL_ADMIN + \"/brand/{id}\";\n        ResponseEntity<CommonResult> responseEntity = restTemplate.getForEntity(url, CommonResult.class, id);\n        return responseEntity.getBody();\n    }\n\n    @ApiOperation(\"getForEntity params\")\n    @RequestMapping(value = \"/get2/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public Object getForEntity2(@PathVariable Long id) {\n        String url = HOST_MALL_ADMIN + \"/brand/{id}\";\n        Map<String, String> params = new HashMap<>();\n        params.put(\"id\", String.valueOf(id));\n        ResponseEntity<CommonResult> responseEntity = restTemplate.getForEntity(url, CommonResult.class, params);\n        return responseEntity.getBody();\n    }\n\n    @ApiOperation(\"getForEntity Uri\")\n    @RequestMapping(value = \"/get3/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public Object getForEntity3(@PathVariable Long id) {\n        String url = HOST_MALL_ADMIN + \"/brand/{id}\";\n        UriComponents uriComponents = UriComponentsBuilder.fromUriString(url).build().expand(id).encode();\n        ResponseEntity<CommonResult> responseEntity = restTemplate.getForEntity(uriComponents.toUri(), CommonResult.class);\n        return responseEntity.getBody();\n    }\n\n    @ApiOperation(\"getForObject url\")\n    @RequestMapping(value = \"/get4/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public Object getForObject(@PathVariable Long id) {\n        String url = HOST_MALL_ADMIN + \"/brand/{id}\";\n        CommonResult commonResult = restTemplate.getForObject(url, CommonResult.class, id);\n        return commonResult;\n    }\n\n    @ApiOperation(\"postForEntity jsonBody\")\n    @RequestMapping(value = \"/post\", method = RequestMethod.POST)\n    @ResponseBody\n    public Object postForEntity(@RequestBody PmsBrand brand) {\n        String url = HOST_MALL_ADMIN + \"/brand/create\";\n        ResponseEntity<CommonResult> responseEntity = restTemplate.postForEntity(url, brand, CommonResult.class);\n        return responseEntity.getBody();\n    }\n\n    @ApiOperation(\"postForEntity jsonBody\")\n    @RequestMapping(value = \"/post2\", method = RequestMethod.POST)\n    @ResponseBody\n    public Object postForObject(@RequestBody PmsBrand brand) {\n        String url = HOST_MALL_ADMIN + \"/brand/create\";\n        CommonResult commonResult = restTemplate.postForObject(url, brand, CommonResult.class);\n        return commonResult;\n    }\n\n    @ApiOperation(\"postForEntity form\")\n    @RequestMapping(value = \"/post3\", method = RequestMethod.POST)\n    @ResponseBody\n    public Object postForEntity3(@RequestParam String name) {\n        String url = HOST_MALL_ADMIN + \"/productAttribute/category/create\";\n        //设置头信息\n        HttpHeaders headers = new HttpHeaders();\n        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);\n        //构造表单参数\n        MultiValueMap<String, String> params= new LinkedMultiValueMap<>();\n        params.add(\"name\", name);\n        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);\n        ResponseEntity<CommonResult> responseEntity = restTemplate.postForEntity(url, requestEntity, CommonResult.class);\n        return responseEntity.getBody();\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/dto/PmsBrandDto.java",
    "content": "package com.macro.mall.demo.dto;\n\nimport com.macro.mall.demo.validator.FlagValidator;\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\n\nimport javax.validation.constraints.Min;\nimport javax.validation.constraints.NotNull;\n\n/**\n * 品牌传递参数\n * Created by macro on 2019/4/8.\n */\n@ApiModel(value = \"PmsBrandDto\")\npublic class PmsBrandDto {\n    @ApiModelProperty(value = \"品牌名称\",required = true)\n    @NotNull(message = \"名称不能为空\")\n    private String name;\n    @ApiModelProperty(value = \"品牌首字母\",required = true)\n    @NotNull(message = \"首字母不能为空\")\n    private String firstLetter;\n    @ApiModelProperty(value = \"排序字段\")\n    @Min(value = 0, message = \"排序最小为0\")\n    private Integer sort;\n    @ApiModelProperty(value = \"是否为厂家制造商\")\n    @FlagValidator(value = {\"0\",\"1\"}, message = \"厂家状态不正确\")\n    private Integer factoryStatus;\n    @ApiModelProperty(value = \"是否进行显示\")\n    @FlagValidator(value = {\"0\",\"1\"}, message = \"显示状态不正确\")\n    private Integer showStatus;\n    @ApiModelProperty(value = \"品牌logo\")\n    private String logo;\n    @ApiModelProperty(value = \"品牌大图\")\n    private String bigPic;\n    @ApiModelProperty(value = \"品牌故事\")\n    private String brandStory;\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getFirstLetter() {\n        return firstLetter;\n    }\n\n    public void setFirstLetter(String firstLetter) {\n        this.firstLetter = firstLetter;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public Integer getFactoryStatus() {\n        return factoryStatus;\n    }\n\n    public void setFactoryStatus(Integer factoryStatus) {\n        this.factoryStatus = factoryStatus;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public String getLogo() {\n        return logo;\n    }\n\n    public void setLogo(String logo) {\n        this.logo = logo;\n    }\n\n    public String getBigPic() {\n        return bigPic;\n    }\n\n    public void setBigPic(String bigPic) {\n        this.bigPic = bigPic;\n    }\n\n    public String getBrandStory() {\n        return brandStory;\n    }\n\n    public void setBrandStory(String brandStory) {\n        this.brandStory = brandStory;\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/service/DemoService.java",
    "content": "package com.macro.mall.demo.service;\n\nimport com.macro.mall.demo.dto.PmsBrandDto;\nimport com.macro.mall.model.PmsBrand;\n\nimport java.util.List;\n\n/**\n * DemoService接口\n * Created by macro on 2019/4/8.\n */\npublic interface DemoService {\n    List<PmsBrand> listAllBrand();\n\n    int createBrand(PmsBrandDto pmsBrandDto);\n\n    int updateBrand(Long id, PmsBrandDto pmsBrandDto);\n\n    int deleteBrand(Long id);\n\n    List<PmsBrand> listBrand(int pageNum, int pageSize);\n\n    PmsBrand getBrand(Long id);\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/service/impl/DemoServiceImpl.java",
    "content": "package com.macro.mall.demo.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.demo.dto.PmsBrandDto;\nimport com.macro.mall.demo.service.DemoService;\nimport com.macro.mall.mapper.PmsBrandMapper;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsBrandExample;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * DemoService实现类\n * Created by macro on 2019/4/8.\n */\n@Service\npublic class DemoServiceImpl implements DemoService {\n    @Autowired\n    private PmsBrandMapper brandMapper;\n\n    @Override\n    public List<PmsBrand> listAllBrand() {\n        return brandMapper.selectByExample(new PmsBrandExample());\n    }\n\n    @Override\n    public int createBrand(PmsBrandDto pmsBrandDto) {\n        PmsBrand pmsBrand = new PmsBrand();\n        BeanUtils.copyProperties(pmsBrandDto,pmsBrand);\n        return brandMapper.insertSelective(pmsBrand);\n    }\n\n    @Override\n    public int updateBrand(Long id, PmsBrandDto pmsBrandDto) {\n        PmsBrand pmsBrand = new PmsBrand();\n        BeanUtils.copyProperties(pmsBrandDto,pmsBrand);\n        pmsBrand.setId(id);\n        return brandMapper.updateByPrimaryKeySelective(pmsBrand);\n    }\n\n    @Override\n    public int deleteBrand(Long id) {\n        return brandMapper.deleteByPrimaryKey(id);\n    }\n\n    @Override\n    public List<PmsBrand> listBrand(int pageNum, int pageSize) {\n        PageHelper.startPage(pageNum, pageSize);\n        return brandMapper.selectByExample(new PmsBrandExample());\n    }\n\n    @Override\n    public PmsBrand getBrand(Long id) {\n        return brandMapper.selectByPrimaryKey(id);\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/validator/FlagValidator.java",
    "content": "package com.macro.mall.demo.validator;\n\nimport javax.validation.Constraint;\nimport javax.validation.Payload;\nimport java.lang.annotation.*;\n\n/**\n * 用户验证状态是否在指定范围内的注解\n */\n@Documented\n@Retention(RetentionPolicy.RUNTIME)\n@Target({ElementType.FIELD,ElementType.PARAMETER})\n@Constraint(validatedBy = FlagValidatorClass.class)\npublic @interface FlagValidator {\n    String[] value() default {};\n\n    String message() default \"flag is not found\";\n\n    Class<?>[] groups() default {};\n\n    Class<? extends Payload>[] payload() default {};\n}\n"
  },
  {
    "path": "mall-demo/src/main/java/com/macro/mall/demo/validator/FlagValidatorClass.java",
    "content": "package com.macro.mall.demo.validator;\n\nimport javax.validation.ConstraintValidator;\nimport javax.validation.ConstraintValidatorContext;\n\n/**\n * 状态标记校验器\n */\npublic class FlagValidatorClass implements ConstraintValidator<FlagValidator,Integer> {\n    private String[] values;\n    @Override\n    public void initialize(FlagValidator flagValidator) {\n        this.values = flagValidator.value();\n    }\n\n    @Override\n    public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) {\n        boolean isValid = false;\n        for(int i=0;i<values.length;i++){\n            if(values[i].equals(String.valueOf(value))){\n                isValid = true;\n                break;\n            }\n        }\n        return isValid;\n    }\n}\n"
  },
  {
    "path": "mall-demo/src/main/resources/application.yml",
    "content": "server:\n  port: 8082\n\nspring:\n  application:\n    name: mall-demo\n  datasource:\n    url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: root\n    password: root\n  thymeleaf:\n    mode: HTML5\n    encoding: utf-8\n    servlet:\n      content-type: text/html\n    cache: false #开发时关闭缓存,不然没法看到实时页面\n  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher\n\nmybatis:\n  mapper-locations:\n    - classpath:mapper/*.xml\n    - classpath*:com/**/mapper/*.xml\n\nlogging:\n  level:\n    root: info\n    com.macro.mall: debug\n\nhost:\n  mall:\n   admin: http://localhost:8080\n"
  },
  {
    "path": "mall-demo/src/test/java/com/macro/mall/demo/MallDemoApplicationTests.java",
    "content": "package com.macro.mall.demo;\n\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.macro.mall.model.PmsProduct;\nimport org.junit.jupiter.api.Test;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.boot.test.context.SpringBootTest;\n\n@SpringBootTest\npublic class MallDemoApplicationTests {\n\tprivate Logger logger = LoggerFactory.getLogger(MallDemoApplicationTests.class);\n\t@Test\n\tpublic void contextLoads() {\n\t}\n\n\t@Test\n\tpublic void testLogStash() throws Exception {\n\t\tObjectMapper mapper = new ObjectMapper();\n\t\tPmsProduct product = new PmsProduct();\n\t\tproduct.setId(1L);\n\t\tproduct.setName(\"小米手机\");\n\t\tproduct.setBrandName(\"小米\");\n\t\tlogger.info(mapper.writeValueAsString(product));\n\t\tlogger.error(mapper.writeValueAsString(product));\n\t}\n\n}\n"
  },
  {
    "path": "mall-mbg/.gitignore",
    "content": "# MyBatis generate files #\nsrc\\main\\resources\\com\\macro\\mall\\mapper"
  },
  {
    "path": "mall-mbg/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-mbg</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-mbg</name>\n    <description>mall-mbg project for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-common</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>com.github.pagehelper</groupId>\n            <artifactId>pagehelper-spring-boot-starter</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>com.alibaba</groupId>\n            <artifactId>druid-spring-boot-starter</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.mybatis.generator</groupId>\n            <artifactId>mybatis-generator-core</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>mysql</groupId>\n            <artifactId>mysql-connector-java</artifactId>\n        </dependency>\n    </dependencies>\n\n</project>"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/CommentGenerator.java",
    "content": "package com.macro.mall;\n\nimport org.mybatis.generator.api.IntrospectedColumn;\nimport org.mybatis.generator.api.IntrospectedTable;\nimport org.mybatis.generator.api.dom.java.CompilationUnit;\nimport org.mybatis.generator.api.dom.java.Field;\nimport org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;\nimport org.mybatis.generator.internal.DefaultCommentGenerator;\nimport org.mybatis.generator.internal.util.StringUtility;\n\nimport java.util.Properties;\n\n/**\n * 自定义注释生成器\n * Created by macro on 2018/4/26.\n */\npublic class CommentGenerator extends DefaultCommentGenerator {\n    private boolean addRemarkComments = false;\n    private static final String EXAMPLE_SUFFIX=\"Example\";\n    private static final String MAPPER_SUFFIX=\"Mapper\";\n    private static final String API_MODEL_PROPERTY_FULL_CLASS_NAME=\"io.swagger.annotations.ApiModelProperty\";\n\n    /**\n     * 设置用户配置的参数\n     */\n    @Override\n    public void addConfigurationProperties(Properties properties) {\n        super.addConfigurationProperties(properties);\n        this.addRemarkComments = StringUtility.isTrue(properties.getProperty(\"addRemarkComments\"));\n    }\n\n    /**\n     * 给字段添加注释\n     */\n    @Override\n    public void addFieldComment(Field field, IntrospectedTable introspectedTable,\n                                IntrospectedColumn introspectedColumn) {\n        String remarks = introspectedColumn.getRemarks();\n        //根据参数和备注信息判断是否添加swagger注解信息\n        if(addRemarkComments&&StringUtility.stringHasValue(remarks)){\n//            addFieldJavaDoc(field, remarks);\n            //数据库中特殊字符需要转义\n            if(remarks.contains(\"\\\"\")){\n                remarks = remarks.replace(\"\\\"\",\"'\");\n            }\n            //给model的字段添加swagger注解\n            field.addJavaDocLine(\"@ApiModelProperty(value = \\\"\"+remarks+\"\\\")\");\n        }\n    }\n\n    /**\n     * 给model的字段添加注释\n     */\n    private void addFieldJavaDoc(Field field, String remarks) {\n        //文档注释开始\n        field.addJavaDocLine(\"/**\");\n        //获取数据库字段的备注信息\n        String[] remarkLines = remarks.split(System.getProperty(\"line.separator\"));\n        for(String remarkLine:remarkLines){\n            field.addJavaDocLine(\" * \"+remarkLine);\n        }\n        addJavadocTag(field, false);\n        field.addJavaDocLine(\" */\");\n    }\n\n    @Override\n    public void addJavaFileComment(CompilationUnit compilationUnit) {\n        super.addJavaFileComment(compilationUnit);\n        //只在model中添加swagger注解类的导入\n        if(!compilationUnit.getType().getFullyQualifiedName().contains(MAPPER_SUFFIX)&&!compilationUnit.getType().getFullyQualifiedName().contains(EXAMPLE_SUFFIX)){\n            compilationUnit.addImportedType(new FullyQualifiedJavaType(API_MODEL_PROPERTY_FULL_CLASS_NAME));\n        }\n    }\n}\n"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/Generator.java",
    "content": "package com.macro.mall;\n\nimport org.mybatis.generator.api.MyBatisGenerator;\nimport org.mybatis.generator.config.Configuration;\nimport org.mybatis.generator.config.xml.ConfigurationParser;\nimport org.mybatis.generator.internal.DefaultShellCallback;\n\nimport java.io.InputStream;\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * MBG代码生成工具\n * Created by macro on 2018/4/26.\n */\npublic class Generator {\n    public static void main(String[] args) throws Exception {\n        //MBG 执行过程中的警告信息\n        List<String> warnings = new ArrayList<String>();\n        //当生成的代码重复时，覆盖原代码\n        boolean overwrite = true;\n        //读取我们的 MBG 配置文件\n        InputStream is = Generator.class.getResourceAsStream(\"/generatorConfig.xml\");\n        ConfigurationParser cp = new ConfigurationParser(warnings);\n        Configuration config = cp.parseConfiguration(is);\n        is.close();\n\n        DefaultShellCallback callback = new DefaultShellCallback(overwrite);\n        //创建 MBG\n        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);\n        //执行生成代码\n        myBatisGenerator.generate(null);\n        //输出警告信息\n        for (String warning : warnings) {\n            System.out.println(warning);\n        }\n    }\n}\n"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsHelpCategoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsHelpCategory;\nimport com.macro.mall.model.CmsHelpCategoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsHelpCategoryMapper {\n    long countByExample(CmsHelpCategoryExample example);\n\n    int deleteByExample(CmsHelpCategoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsHelpCategory record);\n\n    int insertSelective(CmsHelpCategory record);\n\n    List<CmsHelpCategory> selectByExample(CmsHelpCategoryExample example);\n\n    CmsHelpCategory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsHelpCategory record, @Param(\"example\") CmsHelpCategoryExample example);\n\n    int updateByExample(@Param(\"record\") CmsHelpCategory record, @Param(\"example\") CmsHelpCategoryExample example);\n\n    int updateByPrimaryKeySelective(CmsHelpCategory record);\n\n    int updateByPrimaryKey(CmsHelpCategory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsHelpMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsHelp;\nimport com.macro.mall.model.CmsHelpExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsHelpMapper {\n    long countByExample(CmsHelpExample example);\n\n    int deleteByExample(CmsHelpExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsHelp record);\n\n    int insertSelective(CmsHelp record);\n\n    List<CmsHelp> selectByExampleWithBLOBs(CmsHelpExample example);\n\n    List<CmsHelp> selectByExample(CmsHelpExample example);\n\n    CmsHelp selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsHelp record, @Param(\"example\") CmsHelpExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") CmsHelp record, @Param(\"example\") CmsHelpExample example);\n\n    int updateByExample(@Param(\"record\") CmsHelp record, @Param(\"example\") CmsHelpExample example);\n\n    int updateByPrimaryKeySelective(CmsHelp record);\n\n    int updateByPrimaryKeyWithBLOBs(CmsHelp record);\n\n    int updateByPrimaryKey(CmsHelp record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsMemberReportMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsMemberReport;\nimport com.macro.mall.model.CmsMemberReportExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsMemberReportMapper {\n    long countByExample(CmsMemberReportExample example);\n\n    int deleteByExample(CmsMemberReportExample example);\n\n    int insert(CmsMemberReport record);\n\n    int insertSelective(CmsMemberReport record);\n\n    List<CmsMemberReport> selectByExample(CmsMemberReportExample example);\n\n    int updateByExampleSelective(@Param(\"record\") CmsMemberReport record, @Param(\"example\") CmsMemberReportExample example);\n\n    int updateByExample(@Param(\"record\") CmsMemberReport record, @Param(\"example\") CmsMemberReportExample example);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsPrefrenceAreaMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsPrefrenceArea;\nimport com.macro.mall.model.CmsPrefrenceAreaExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsPrefrenceAreaMapper {\n    long countByExample(CmsPrefrenceAreaExample example);\n\n    int deleteByExample(CmsPrefrenceAreaExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsPrefrenceArea record);\n\n    int insertSelective(CmsPrefrenceArea record);\n\n    List<CmsPrefrenceArea> selectByExampleWithBLOBs(CmsPrefrenceAreaExample example);\n\n    List<CmsPrefrenceArea> selectByExample(CmsPrefrenceAreaExample example);\n\n    CmsPrefrenceArea selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsPrefrenceArea record, @Param(\"example\") CmsPrefrenceAreaExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") CmsPrefrenceArea record, @Param(\"example\") CmsPrefrenceAreaExample example);\n\n    int updateByExample(@Param(\"record\") CmsPrefrenceArea record, @Param(\"example\") CmsPrefrenceAreaExample example);\n\n    int updateByPrimaryKeySelective(CmsPrefrenceArea record);\n\n    int updateByPrimaryKeyWithBLOBs(CmsPrefrenceArea record);\n\n    int updateByPrimaryKey(CmsPrefrenceArea record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsPrefrenceAreaProductRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsPrefrenceAreaProductRelation;\nimport com.macro.mall.model.CmsPrefrenceAreaProductRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsPrefrenceAreaProductRelationMapper {\n    long countByExample(CmsPrefrenceAreaProductRelationExample example);\n\n    int deleteByExample(CmsPrefrenceAreaProductRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsPrefrenceAreaProductRelation record);\n\n    int insertSelective(CmsPrefrenceAreaProductRelation record);\n\n    List<CmsPrefrenceAreaProductRelation> selectByExample(CmsPrefrenceAreaProductRelationExample example);\n\n    CmsPrefrenceAreaProductRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsPrefrenceAreaProductRelation record, @Param(\"example\") CmsPrefrenceAreaProductRelationExample example);\n\n    int updateByExample(@Param(\"record\") CmsPrefrenceAreaProductRelation record, @Param(\"example\") CmsPrefrenceAreaProductRelationExample example);\n\n    int updateByPrimaryKeySelective(CmsPrefrenceAreaProductRelation record);\n\n    int updateByPrimaryKey(CmsPrefrenceAreaProductRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectCategoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsSubjectCategory;\nimport com.macro.mall.model.CmsSubjectCategoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsSubjectCategoryMapper {\n    long countByExample(CmsSubjectCategoryExample example);\n\n    int deleteByExample(CmsSubjectCategoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsSubjectCategory record);\n\n    int insertSelective(CmsSubjectCategory record);\n\n    List<CmsSubjectCategory> selectByExample(CmsSubjectCategoryExample example);\n\n    CmsSubjectCategory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsSubjectCategory record, @Param(\"example\") CmsSubjectCategoryExample example);\n\n    int updateByExample(@Param(\"record\") CmsSubjectCategory record, @Param(\"example\") CmsSubjectCategoryExample example);\n\n    int updateByPrimaryKeySelective(CmsSubjectCategory record);\n\n    int updateByPrimaryKey(CmsSubjectCategory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectCommentMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsSubjectComment;\nimport com.macro.mall.model.CmsSubjectCommentExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsSubjectCommentMapper {\n    long countByExample(CmsSubjectCommentExample example);\n\n    int deleteByExample(CmsSubjectCommentExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsSubjectComment record);\n\n    int insertSelective(CmsSubjectComment record);\n\n    List<CmsSubjectComment> selectByExample(CmsSubjectCommentExample example);\n\n    CmsSubjectComment selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsSubjectComment record, @Param(\"example\") CmsSubjectCommentExample example);\n\n    int updateByExample(@Param(\"record\") CmsSubjectComment record, @Param(\"example\") CmsSubjectCommentExample example);\n\n    int updateByPrimaryKeySelective(CmsSubjectComment record);\n\n    int updateByPrimaryKey(CmsSubjectComment record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.model.CmsSubjectExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsSubjectMapper {\n    long countByExample(CmsSubjectExample example);\n\n    int deleteByExample(CmsSubjectExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsSubject record);\n\n    int insertSelective(CmsSubject record);\n\n    List<CmsSubject> selectByExampleWithBLOBs(CmsSubjectExample example);\n\n    List<CmsSubject> selectByExample(CmsSubjectExample example);\n\n    CmsSubject selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsSubject record, @Param(\"example\") CmsSubjectExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") CmsSubject record, @Param(\"example\") CmsSubjectExample example);\n\n    int updateByExample(@Param(\"record\") CmsSubject record, @Param(\"example\") CmsSubjectExample example);\n\n    int updateByPrimaryKeySelective(CmsSubject record);\n\n    int updateByPrimaryKeyWithBLOBs(CmsSubject record);\n\n    int updateByPrimaryKey(CmsSubject record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectProductRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsSubjectProductRelation;\nimport com.macro.mall.model.CmsSubjectProductRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsSubjectProductRelationMapper {\n    long countByExample(CmsSubjectProductRelationExample example);\n\n    int deleteByExample(CmsSubjectProductRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsSubjectProductRelation record);\n\n    int insertSelective(CmsSubjectProductRelation record);\n\n    List<CmsSubjectProductRelation> selectByExample(CmsSubjectProductRelationExample example);\n\n    CmsSubjectProductRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsSubjectProductRelation record, @Param(\"example\") CmsSubjectProductRelationExample example);\n\n    int updateByExample(@Param(\"record\") CmsSubjectProductRelation record, @Param(\"example\") CmsSubjectProductRelationExample example);\n\n    int updateByPrimaryKeySelective(CmsSubjectProductRelation record);\n\n    int updateByPrimaryKey(CmsSubjectProductRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsTopicCategoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsTopicCategory;\nimport com.macro.mall.model.CmsTopicCategoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsTopicCategoryMapper {\n    long countByExample(CmsTopicCategoryExample example);\n\n    int deleteByExample(CmsTopicCategoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsTopicCategory record);\n\n    int insertSelective(CmsTopicCategory record);\n\n    List<CmsTopicCategory> selectByExample(CmsTopicCategoryExample example);\n\n    CmsTopicCategory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsTopicCategory record, @Param(\"example\") CmsTopicCategoryExample example);\n\n    int updateByExample(@Param(\"record\") CmsTopicCategory record, @Param(\"example\") CmsTopicCategoryExample example);\n\n    int updateByPrimaryKeySelective(CmsTopicCategory record);\n\n    int updateByPrimaryKey(CmsTopicCategory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsTopicCommentMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsTopicComment;\nimport com.macro.mall.model.CmsTopicCommentExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsTopicCommentMapper {\n    long countByExample(CmsTopicCommentExample example);\n\n    int deleteByExample(CmsTopicCommentExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsTopicComment record);\n\n    int insertSelective(CmsTopicComment record);\n\n    List<CmsTopicComment> selectByExample(CmsTopicCommentExample example);\n\n    CmsTopicComment selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsTopicComment record, @Param(\"example\") CmsTopicCommentExample example);\n\n    int updateByExample(@Param(\"record\") CmsTopicComment record, @Param(\"example\") CmsTopicCommentExample example);\n\n    int updateByPrimaryKeySelective(CmsTopicComment record);\n\n    int updateByPrimaryKey(CmsTopicComment record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/CmsTopicMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.CmsTopic;\nimport com.macro.mall.model.CmsTopicExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface CmsTopicMapper {\n    long countByExample(CmsTopicExample example);\n\n    int deleteByExample(CmsTopicExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(CmsTopic record);\n\n    int insertSelective(CmsTopic record);\n\n    List<CmsTopic> selectByExampleWithBLOBs(CmsTopicExample example);\n\n    List<CmsTopic> selectByExample(CmsTopicExample example);\n\n    CmsTopic selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") CmsTopic record, @Param(\"example\") CmsTopicExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") CmsTopic record, @Param(\"example\") CmsTopicExample example);\n\n    int updateByExample(@Param(\"record\") CmsTopic record, @Param(\"example\") CmsTopicExample example);\n\n    int updateByPrimaryKeySelective(CmsTopic record);\n\n    int updateByPrimaryKeyWithBLOBs(CmsTopic record);\n\n    int updateByPrimaryKey(CmsTopic record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsCartItemMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsCartItem;\nimport com.macro.mall.model.OmsCartItemExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsCartItemMapper {\n    long countByExample(OmsCartItemExample example);\n\n    int deleteByExample(OmsCartItemExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsCartItem record);\n\n    int insertSelective(OmsCartItem record);\n\n    List<OmsCartItem> selectByExample(OmsCartItemExample example);\n\n    OmsCartItem selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsCartItem record, @Param(\"example\") OmsCartItemExample example);\n\n    int updateByExample(@Param(\"record\") OmsCartItem record, @Param(\"example\") OmsCartItemExample example);\n\n    int updateByPrimaryKeySelective(OmsCartItem record);\n\n    int updateByPrimaryKey(OmsCartItem record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsCompanyAddressMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsCompanyAddress;\nimport com.macro.mall.model.OmsCompanyAddressExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsCompanyAddressMapper {\n    long countByExample(OmsCompanyAddressExample example);\n\n    int deleteByExample(OmsCompanyAddressExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsCompanyAddress record);\n\n    int insertSelective(OmsCompanyAddress record);\n\n    List<OmsCompanyAddress> selectByExample(OmsCompanyAddressExample example);\n\n    OmsCompanyAddress selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsCompanyAddress record, @Param(\"example\") OmsCompanyAddressExample example);\n\n    int updateByExample(@Param(\"record\") OmsCompanyAddress record, @Param(\"example\") OmsCompanyAddressExample example);\n\n    int updateByPrimaryKeySelective(OmsCompanyAddress record);\n\n    int updateByPrimaryKey(OmsCompanyAddress record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderItemMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsOrderItem;\nimport com.macro.mall.model.OmsOrderItemExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsOrderItemMapper {\n    long countByExample(OmsOrderItemExample example);\n\n    int deleteByExample(OmsOrderItemExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsOrderItem record);\n\n    int insertSelective(OmsOrderItem record);\n\n    List<OmsOrderItem> selectByExample(OmsOrderItemExample example);\n\n    OmsOrderItem selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsOrderItem record, @Param(\"example\") OmsOrderItemExample example);\n\n    int updateByExample(@Param(\"record\") OmsOrderItem record, @Param(\"example\") OmsOrderItemExample example);\n\n    int updateByPrimaryKeySelective(OmsOrderItem record);\n\n    int updateByPrimaryKey(OmsOrderItem record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsOrder;\nimport com.macro.mall.model.OmsOrderExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsOrderMapper {\n    long countByExample(OmsOrderExample example);\n\n    int deleteByExample(OmsOrderExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsOrder record);\n\n    int insertSelective(OmsOrder record);\n\n    List<OmsOrder> selectByExample(OmsOrderExample example);\n\n    OmsOrder selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsOrder record, @Param(\"example\") OmsOrderExample example);\n\n    int updateByExample(@Param(\"record\") OmsOrder record, @Param(\"example\") OmsOrderExample example);\n\n    int updateByPrimaryKeySelective(OmsOrder record);\n\n    int updateByPrimaryKey(OmsOrder record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderOperateHistoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsOrderOperateHistory;\nimport com.macro.mall.model.OmsOrderOperateHistoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsOrderOperateHistoryMapper {\n    long countByExample(OmsOrderOperateHistoryExample example);\n\n    int deleteByExample(OmsOrderOperateHistoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsOrderOperateHistory record);\n\n    int insertSelective(OmsOrderOperateHistory record);\n\n    List<OmsOrderOperateHistory> selectByExample(OmsOrderOperateHistoryExample example);\n\n    OmsOrderOperateHistory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsOrderOperateHistory record, @Param(\"example\") OmsOrderOperateHistoryExample example);\n\n    int updateByExample(@Param(\"record\") OmsOrderOperateHistory record, @Param(\"example\") OmsOrderOperateHistoryExample example);\n\n    int updateByPrimaryKeySelective(OmsOrderOperateHistory record);\n\n    int updateByPrimaryKey(OmsOrderOperateHistory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderReturnApplyMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsOrderReturnApply;\nimport com.macro.mall.model.OmsOrderReturnApplyExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsOrderReturnApplyMapper {\n    long countByExample(OmsOrderReturnApplyExample example);\n\n    int deleteByExample(OmsOrderReturnApplyExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsOrderReturnApply record);\n\n    int insertSelective(OmsOrderReturnApply record);\n\n    List<OmsOrderReturnApply> selectByExample(OmsOrderReturnApplyExample example);\n\n    OmsOrderReturnApply selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsOrderReturnApply record, @Param(\"example\") OmsOrderReturnApplyExample example);\n\n    int updateByExample(@Param(\"record\") OmsOrderReturnApply record, @Param(\"example\") OmsOrderReturnApplyExample example);\n\n    int updateByPrimaryKeySelective(OmsOrderReturnApply record);\n\n    int updateByPrimaryKey(OmsOrderReturnApply record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderReturnReasonMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsOrderReturnReason;\nimport com.macro.mall.model.OmsOrderReturnReasonExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsOrderReturnReasonMapper {\n    long countByExample(OmsOrderReturnReasonExample example);\n\n    int deleteByExample(OmsOrderReturnReasonExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsOrderReturnReason record);\n\n    int insertSelective(OmsOrderReturnReason record);\n\n    List<OmsOrderReturnReason> selectByExample(OmsOrderReturnReasonExample example);\n\n    OmsOrderReturnReason selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsOrderReturnReason record, @Param(\"example\") OmsOrderReturnReasonExample example);\n\n    int updateByExample(@Param(\"record\") OmsOrderReturnReason record, @Param(\"example\") OmsOrderReturnReasonExample example);\n\n    int updateByPrimaryKeySelective(OmsOrderReturnReason record);\n\n    int updateByPrimaryKey(OmsOrderReturnReason record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderSettingMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.OmsOrderSetting;\nimport com.macro.mall.model.OmsOrderSettingExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface OmsOrderSettingMapper {\n    long countByExample(OmsOrderSettingExample example);\n\n    int deleteByExample(OmsOrderSettingExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(OmsOrderSetting record);\n\n    int insertSelective(OmsOrderSetting record);\n\n    List<OmsOrderSetting> selectByExample(OmsOrderSettingExample example);\n\n    OmsOrderSetting selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") OmsOrderSetting record, @Param(\"example\") OmsOrderSettingExample example);\n\n    int updateByExample(@Param(\"record\") OmsOrderSetting record, @Param(\"example\") OmsOrderSettingExample example);\n\n    int updateByPrimaryKeySelective(OmsOrderSetting record);\n\n    int updateByPrimaryKey(OmsOrderSetting record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsAlbumMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsAlbum;\nimport com.macro.mall.model.PmsAlbumExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsAlbumMapper {\n    long countByExample(PmsAlbumExample example);\n\n    int deleteByExample(PmsAlbumExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsAlbum record);\n\n    int insertSelective(PmsAlbum record);\n\n    List<PmsAlbum> selectByExample(PmsAlbumExample example);\n\n    PmsAlbum selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsAlbum record, @Param(\"example\") PmsAlbumExample example);\n\n    int updateByExample(@Param(\"record\") PmsAlbum record, @Param(\"example\") PmsAlbumExample example);\n\n    int updateByPrimaryKeySelective(PmsAlbum record);\n\n    int updateByPrimaryKey(PmsAlbum record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsAlbumPicMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsAlbumPic;\nimport com.macro.mall.model.PmsAlbumPicExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsAlbumPicMapper {\n    long countByExample(PmsAlbumPicExample example);\n\n    int deleteByExample(PmsAlbumPicExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsAlbumPic record);\n\n    int insertSelective(PmsAlbumPic record);\n\n    List<PmsAlbumPic> selectByExample(PmsAlbumPicExample example);\n\n    PmsAlbumPic selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsAlbumPic record, @Param(\"example\") PmsAlbumPicExample example);\n\n    int updateByExample(@Param(\"record\") PmsAlbumPic record, @Param(\"example\") PmsAlbumPicExample example);\n\n    int updateByPrimaryKeySelective(PmsAlbumPic record);\n\n    int updateByPrimaryKey(PmsAlbumPic record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsBrandMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsBrandExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsBrandMapper {\n    long countByExample(PmsBrandExample example);\n\n    int deleteByExample(PmsBrandExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsBrand record);\n\n    int insertSelective(PmsBrand record);\n\n    List<PmsBrand> selectByExampleWithBLOBs(PmsBrandExample example);\n\n    List<PmsBrand> selectByExample(PmsBrandExample example);\n\n    PmsBrand selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsBrand record, @Param(\"example\") PmsBrandExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") PmsBrand record, @Param(\"example\") PmsBrandExample example);\n\n    int updateByExample(@Param(\"record\") PmsBrand record, @Param(\"example\") PmsBrandExample example);\n\n    int updateByPrimaryKeySelective(PmsBrand record);\n\n    int updateByPrimaryKeyWithBLOBs(PmsBrand record);\n\n    int updateByPrimaryKey(PmsBrand record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsCommentMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsComment;\nimport com.macro.mall.model.PmsCommentExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsCommentMapper {\n    long countByExample(PmsCommentExample example);\n\n    int deleteByExample(PmsCommentExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsComment record);\n\n    int insertSelective(PmsComment record);\n\n    List<PmsComment> selectByExampleWithBLOBs(PmsCommentExample example);\n\n    List<PmsComment> selectByExample(PmsCommentExample example);\n\n    PmsComment selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsComment record, @Param(\"example\") PmsCommentExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") PmsComment record, @Param(\"example\") PmsCommentExample example);\n\n    int updateByExample(@Param(\"record\") PmsComment record, @Param(\"example\") PmsCommentExample example);\n\n    int updateByPrimaryKeySelective(PmsComment record);\n\n    int updateByPrimaryKeyWithBLOBs(PmsComment record);\n\n    int updateByPrimaryKey(PmsComment record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsCommentReplayMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsCommentReplay;\nimport com.macro.mall.model.PmsCommentReplayExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsCommentReplayMapper {\n    long countByExample(PmsCommentReplayExample example);\n\n    int deleteByExample(PmsCommentReplayExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsCommentReplay record);\n\n    int insertSelective(PmsCommentReplay record);\n\n    List<PmsCommentReplay> selectByExample(PmsCommentReplayExample example);\n\n    PmsCommentReplay selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsCommentReplay record, @Param(\"example\") PmsCommentReplayExample example);\n\n    int updateByExample(@Param(\"record\") PmsCommentReplay record, @Param(\"example\") PmsCommentReplayExample example);\n\n    int updateByPrimaryKeySelective(PmsCommentReplay record);\n\n    int updateByPrimaryKey(PmsCommentReplay record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsFeightTemplateMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsFeightTemplate;\nimport com.macro.mall.model.PmsFeightTemplateExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsFeightTemplateMapper {\n    long countByExample(PmsFeightTemplateExample example);\n\n    int deleteByExample(PmsFeightTemplateExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsFeightTemplate record);\n\n    int insertSelective(PmsFeightTemplate record);\n\n    List<PmsFeightTemplate> selectByExample(PmsFeightTemplateExample example);\n\n    PmsFeightTemplate selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsFeightTemplate record, @Param(\"example\") PmsFeightTemplateExample example);\n\n    int updateByExample(@Param(\"record\") PmsFeightTemplate record, @Param(\"example\") PmsFeightTemplateExample example);\n\n    int updateByPrimaryKeySelective(PmsFeightTemplate record);\n\n    int updateByPrimaryKey(PmsFeightTemplate record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsMemberPriceMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsMemberPrice;\nimport com.macro.mall.model.PmsMemberPriceExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsMemberPriceMapper {\n    long countByExample(PmsMemberPriceExample example);\n\n    int deleteByExample(PmsMemberPriceExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsMemberPrice record);\n\n    int insertSelective(PmsMemberPrice record);\n\n    List<PmsMemberPrice> selectByExample(PmsMemberPriceExample example);\n\n    PmsMemberPrice selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsMemberPrice record, @Param(\"example\") PmsMemberPriceExample example);\n\n    int updateByExample(@Param(\"record\") PmsMemberPrice record, @Param(\"example\") PmsMemberPriceExample example);\n\n    int updateByPrimaryKeySelective(PmsMemberPrice record);\n\n    int updateByPrimaryKey(PmsMemberPrice record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductAttributeCategoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductAttributeCategory;\nimport com.macro.mall.model.PmsProductAttributeCategoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductAttributeCategoryMapper {\n    long countByExample(PmsProductAttributeCategoryExample example);\n\n    int deleteByExample(PmsProductAttributeCategoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductAttributeCategory record);\n\n    int insertSelective(PmsProductAttributeCategory record);\n\n    List<PmsProductAttributeCategory> selectByExample(PmsProductAttributeCategoryExample example);\n\n    PmsProductAttributeCategory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductAttributeCategory record, @Param(\"example\") PmsProductAttributeCategoryExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductAttributeCategory record, @Param(\"example\") PmsProductAttributeCategoryExample example);\n\n    int updateByPrimaryKeySelective(PmsProductAttributeCategory record);\n\n    int updateByPrimaryKey(PmsProductAttributeCategory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductAttributeMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductAttribute;\nimport com.macro.mall.model.PmsProductAttributeExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductAttributeMapper {\n    long countByExample(PmsProductAttributeExample example);\n\n    int deleteByExample(PmsProductAttributeExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductAttribute record);\n\n    int insertSelective(PmsProductAttribute record);\n\n    List<PmsProductAttribute> selectByExample(PmsProductAttributeExample example);\n\n    PmsProductAttribute selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductAttribute record, @Param(\"example\") PmsProductAttributeExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductAttribute record, @Param(\"example\") PmsProductAttributeExample example);\n\n    int updateByPrimaryKeySelective(PmsProductAttribute record);\n\n    int updateByPrimaryKey(PmsProductAttribute record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductAttributeValueMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductAttributeValue;\nimport com.macro.mall.model.PmsProductAttributeValueExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductAttributeValueMapper {\n    long countByExample(PmsProductAttributeValueExample example);\n\n    int deleteByExample(PmsProductAttributeValueExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductAttributeValue record);\n\n    int insertSelective(PmsProductAttributeValue record);\n\n    List<PmsProductAttributeValue> selectByExample(PmsProductAttributeValueExample example);\n\n    PmsProductAttributeValue selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductAttributeValue record, @Param(\"example\") PmsProductAttributeValueExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductAttributeValue record, @Param(\"example\") PmsProductAttributeValueExample example);\n\n    int updateByPrimaryKeySelective(PmsProductAttributeValue record);\n\n    int updateByPrimaryKey(PmsProductAttributeValue record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductCategoryAttributeRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductCategoryAttributeRelation;\nimport com.macro.mall.model.PmsProductCategoryAttributeRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductCategoryAttributeRelationMapper {\n    long countByExample(PmsProductCategoryAttributeRelationExample example);\n\n    int deleteByExample(PmsProductCategoryAttributeRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductCategoryAttributeRelation record);\n\n    int insertSelective(PmsProductCategoryAttributeRelation record);\n\n    List<PmsProductCategoryAttributeRelation> selectByExample(PmsProductCategoryAttributeRelationExample example);\n\n    PmsProductCategoryAttributeRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductCategoryAttributeRelation record, @Param(\"example\") PmsProductCategoryAttributeRelationExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductCategoryAttributeRelation record, @Param(\"example\") PmsProductCategoryAttributeRelationExample example);\n\n    int updateByPrimaryKeySelective(PmsProductCategoryAttributeRelation record);\n\n    int updateByPrimaryKey(PmsProductCategoryAttributeRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductCategoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductCategory;\nimport com.macro.mall.model.PmsProductCategoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductCategoryMapper {\n    long countByExample(PmsProductCategoryExample example);\n\n    int deleteByExample(PmsProductCategoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductCategory record);\n\n    int insertSelective(PmsProductCategory record);\n\n    List<PmsProductCategory> selectByExampleWithBLOBs(PmsProductCategoryExample example);\n\n    List<PmsProductCategory> selectByExample(PmsProductCategoryExample example);\n\n    PmsProductCategory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductCategory record, @Param(\"example\") PmsProductCategoryExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") PmsProductCategory record, @Param(\"example\") PmsProductCategoryExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductCategory record, @Param(\"example\") PmsProductCategoryExample example);\n\n    int updateByPrimaryKeySelective(PmsProductCategory record);\n\n    int updateByPrimaryKeyWithBLOBs(PmsProductCategory record);\n\n    int updateByPrimaryKey(PmsProductCategory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductFullReductionMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductFullReduction;\nimport com.macro.mall.model.PmsProductFullReductionExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductFullReductionMapper {\n    long countByExample(PmsProductFullReductionExample example);\n\n    int deleteByExample(PmsProductFullReductionExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductFullReduction record);\n\n    int insertSelective(PmsProductFullReduction record);\n\n    List<PmsProductFullReduction> selectByExample(PmsProductFullReductionExample example);\n\n    PmsProductFullReduction selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductFullReduction record, @Param(\"example\") PmsProductFullReductionExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductFullReduction record, @Param(\"example\") PmsProductFullReductionExample example);\n\n    int updateByPrimaryKeySelective(PmsProductFullReduction record);\n\n    int updateByPrimaryKey(PmsProductFullReduction record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductLadderMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductLadder;\nimport com.macro.mall.model.PmsProductLadderExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductLadderMapper {\n    long countByExample(PmsProductLadderExample example);\n\n    int deleteByExample(PmsProductLadderExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductLadder record);\n\n    int insertSelective(PmsProductLadder record);\n\n    List<PmsProductLadder> selectByExample(PmsProductLadderExample example);\n\n    PmsProductLadder selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductLadder record, @Param(\"example\") PmsProductLadderExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductLadder record, @Param(\"example\") PmsProductLadderExample example);\n\n    int updateByPrimaryKeySelective(PmsProductLadder record);\n\n    int updateByPrimaryKey(PmsProductLadder record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductMapper {\n    long countByExample(PmsProductExample example);\n\n    int deleteByExample(PmsProductExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProduct record);\n\n    int insertSelective(PmsProduct record);\n\n    List<PmsProduct> selectByExampleWithBLOBs(PmsProductExample example);\n\n    List<PmsProduct> selectByExample(PmsProductExample example);\n\n    PmsProduct selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProduct record, @Param(\"example\") PmsProductExample example);\n\n    int updateByExampleWithBLOBs(@Param(\"record\") PmsProduct record, @Param(\"example\") PmsProductExample example);\n\n    int updateByExample(@Param(\"record\") PmsProduct record, @Param(\"example\") PmsProductExample example);\n\n    int updateByPrimaryKeySelective(PmsProduct record);\n\n    int updateByPrimaryKeyWithBLOBs(PmsProduct record);\n\n    int updateByPrimaryKey(PmsProduct record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductOperateLogMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductOperateLog;\nimport com.macro.mall.model.PmsProductOperateLogExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductOperateLogMapper {\n    long countByExample(PmsProductOperateLogExample example);\n\n    int deleteByExample(PmsProductOperateLogExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductOperateLog record);\n\n    int insertSelective(PmsProductOperateLog record);\n\n    List<PmsProductOperateLog> selectByExample(PmsProductOperateLogExample example);\n\n    PmsProductOperateLog selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductOperateLog record, @Param(\"example\") PmsProductOperateLogExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductOperateLog record, @Param(\"example\") PmsProductOperateLogExample example);\n\n    int updateByPrimaryKeySelective(PmsProductOperateLog record);\n\n    int updateByPrimaryKey(PmsProductOperateLog record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductVertifyRecordMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsProductVertifyRecord;\nimport com.macro.mall.model.PmsProductVertifyRecordExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsProductVertifyRecordMapper {\n    long countByExample(PmsProductVertifyRecordExample example);\n\n    int deleteByExample(PmsProductVertifyRecordExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsProductVertifyRecord record);\n\n    int insertSelective(PmsProductVertifyRecord record);\n\n    List<PmsProductVertifyRecord> selectByExample(PmsProductVertifyRecordExample example);\n\n    PmsProductVertifyRecord selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsProductVertifyRecord record, @Param(\"example\") PmsProductVertifyRecordExample example);\n\n    int updateByExample(@Param(\"record\") PmsProductVertifyRecord record, @Param(\"example\") PmsProductVertifyRecordExample example);\n\n    int updateByPrimaryKeySelective(PmsProductVertifyRecord record);\n\n    int updateByPrimaryKey(PmsProductVertifyRecord record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/PmsSkuStockMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.PmsSkuStock;\nimport com.macro.mall.model.PmsSkuStockExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface PmsSkuStockMapper {\n    long countByExample(PmsSkuStockExample example);\n\n    int deleteByExample(PmsSkuStockExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(PmsSkuStock record);\n\n    int insertSelective(PmsSkuStock record);\n\n    List<PmsSkuStock> selectByExample(PmsSkuStockExample example);\n\n    PmsSkuStock selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") PmsSkuStock record, @Param(\"example\") PmsSkuStockExample example);\n\n    int updateByExample(@Param(\"record\") PmsSkuStock record, @Param(\"example\") PmsSkuStockExample example);\n\n    int updateByPrimaryKeySelective(PmsSkuStock record);\n\n    int updateByPrimaryKey(PmsSkuStock record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponHistoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsCouponHistory;\nimport com.macro.mall.model.SmsCouponHistoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsCouponHistoryMapper {\n    long countByExample(SmsCouponHistoryExample example);\n\n    int deleteByExample(SmsCouponHistoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsCouponHistory record);\n\n    int insertSelective(SmsCouponHistory record);\n\n    List<SmsCouponHistory> selectByExample(SmsCouponHistoryExample example);\n\n    SmsCouponHistory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsCouponHistory record, @Param(\"example\") SmsCouponHistoryExample example);\n\n    int updateByExample(@Param(\"record\") SmsCouponHistory record, @Param(\"example\") SmsCouponHistoryExample example);\n\n    int updateByPrimaryKeySelective(SmsCouponHistory record);\n\n    int updateByPrimaryKey(SmsCouponHistory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.model.SmsCouponExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsCouponMapper {\n    long countByExample(SmsCouponExample example);\n\n    int deleteByExample(SmsCouponExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsCoupon record);\n\n    int insertSelective(SmsCoupon record);\n\n    List<SmsCoupon> selectByExample(SmsCouponExample example);\n\n    SmsCoupon selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsCoupon record, @Param(\"example\") SmsCouponExample example);\n\n    int updateByExample(@Param(\"record\") SmsCoupon record, @Param(\"example\") SmsCouponExample example);\n\n    int updateByPrimaryKeySelective(SmsCoupon record);\n\n    int updateByPrimaryKey(SmsCoupon record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponProductCategoryRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsCouponProductCategoryRelation;\nimport com.macro.mall.model.SmsCouponProductCategoryRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsCouponProductCategoryRelationMapper {\n    long countByExample(SmsCouponProductCategoryRelationExample example);\n\n    int deleteByExample(SmsCouponProductCategoryRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsCouponProductCategoryRelation record);\n\n    int insertSelective(SmsCouponProductCategoryRelation record);\n\n    List<SmsCouponProductCategoryRelation> selectByExample(SmsCouponProductCategoryRelationExample example);\n\n    SmsCouponProductCategoryRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsCouponProductCategoryRelation record, @Param(\"example\") SmsCouponProductCategoryRelationExample example);\n\n    int updateByExample(@Param(\"record\") SmsCouponProductCategoryRelation record, @Param(\"example\") SmsCouponProductCategoryRelationExample example);\n\n    int updateByPrimaryKeySelective(SmsCouponProductCategoryRelation record);\n\n    int updateByPrimaryKey(SmsCouponProductCategoryRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponProductRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsCouponProductRelation;\nimport com.macro.mall.model.SmsCouponProductRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsCouponProductRelationMapper {\n    long countByExample(SmsCouponProductRelationExample example);\n\n    int deleteByExample(SmsCouponProductRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsCouponProductRelation record);\n\n    int insertSelective(SmsCouponProductRelation record);\n\n    List<SmsCouponProductRelation> selectByExample(SmsCouponProductRelationExample example);\n\n    SmsCouponProductRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsCouponProductRelation record, @Param(\"example\") SmsCouponProductRelationExample example);\n\n    int updateByExample(@Param(\"record\") SmsCouponProductRelation record, @Param(\"example\") SmsCouponProductRelationExample example);\n\n    int updateByPrimaryKeySelective(SmsCouponProductRelation record);\n\n    int updateByPrimaryKey(SmsCouponProductRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionLogMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsFlashPromotionLog;\nimport com.macro.mall.model.SmsFlashPromotionLogExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsFlashPromotionLogMapper {\n    long countByExample(SmsFlashPromotionLogExample example);\n\n    int deleteByExample(SmsFlashPromotionLogExample example);\n\n    int deleteByPrimaryKey(Integer id);\n\n    int insert(SmsFlashPromotionLog record);\n\n    int insertSelective(SmsFlashPromotionLog record);\n\n    List<SmsFlashPromotionLog> selectByExample(SmsFlashPromotionLogExample example);\n\n    SmsFlashPromotionLog selectByPrimaryKey(Integer id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsFlashPromotionLog record, @Param(\"example\") SmsFlashPromotionLogExample example);\n\n    int updateByExample(@Param(\"record\") SmsFlashPromotionLog record, @Param(\"example\") SmsFlashPromotionLogExample example);\n\n    int updateByPrimaryKeySelective(SmsFlashPromotionLog record);\n\n    int updateByPrimaryKey(SmsFlashPromotionLog record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsFlashPromotion;\nimport com.macro.mall.model.SmsFlashPromotionExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsFlashPromotionMapper {\n    long countByExample(SmsFlashPromotionExample example);\n\n    int deleteByExample(SmsFlashPromotionExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsFlashPromotion record);\n\n    int insertSelective(SmsFlashPromotion record);\n\n    List<SmsFlashPromotion> selectByExample(SmsFlashPromotionExample example);\n\n    SmsFlashPromotion selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsFlashPromotion record, @Param(\"example\") SmsFlashPromotionExample example);\n\n    int updateByExample(@Param(\"record\") SmsFlashPromotion record, @Param(\"example\") SmsFlashPromotionExample example);\n\n    int updateByPrimaryKeySelective(SmsFlashPromotion record);\n\n    int updateByPrimaryKey(SmsFlashPromotion record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionProductRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsFlashPromotionProductRelation;\nimport com.macro.mall.model.SmsFlashPromotionProductRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsFlashPromotionProductRelationMapper {\n    long countByExample(SmsFlashPromotionProductRelationExample example);\n\n    int deleteByExample(SmsFlashPromotionProductRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsFlashPromotionProductRelation record);\n\n    int insertSelective(SmsFlashPromotionProductRelation record);\n\n    List<SmsFlashPromotionProductRelation> selectByExample(SmsFlashPromotionProductRelationExample example);\n\n    SmsFlashPromotionProductRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsFlashPromotionProductRelation record, @Param(\"example\") SmsFlashPromotionProductRelationExample example);\n\n    int updateByExample(@Param(\"record\") SmsFlashPromotionProductRelation record, @Param(\"example\") SmsFlashPromotionProductRelationExample example);\n\n    int updateByPrimaryKeySelective(SmsFlashPromotionProductRelation record);\n\n    int updateByPrimaryKey(SmsFlashPromotionProductRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionSessionMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsFlashPromotionSession;\nimport com.macro.mall.model.SmsFlashPromotionSessionExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsFlashPromotionSessionMapper {\n    long countByExample(SmsFlashPromotionSessionExample example);\n\n    int deleteByExample(SmsFlashPromotionSessionExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsFlashPromotionSession record);\n\n    int insertSelective(SmsFlashPromotionSession record);\n\n    List<SmsFlashPromotionSession> selectByExample(SmsFlashPromotionSessionExample example);\n\n    SmsFlashPromotionSession selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsFlashPromotionSession record, @Param(\"example\") SmsFlashPromotionSessionExample example);\n\n    int updateByExample(@Param(\"record\") SmsFlashPromotionSession record, @Param(\"example\") SmsFlashPromotionSessionExample example);\n\n    int updateByPrimaryKeySelective(SmsFlashPromotionSession record);\n\n    int updateByPrimaryKey(SmsFlashPromotionSession record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeAdvertiseMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsHomeAdvertise;\nimport com.macro.mall.model.SmsHomeAdvertiseExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsHomeAdvertiseMapper {\n    long countByExample(SmsHomeAdvertiseExample example);\n\n    int deleteByExample(SmsHomeAdvertiseExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsHomeAdvertise record);\n\n    int insertSelective(SmsHomeAdvertise record);\n\n    List<SmsHomeAdvertise> selectByExample(SmsHomeAdvertiseExample example);\n\n    SmsHomeAdvertise selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsHomeAdvertise record, @Param(\"example\") SmsHomeAdvertiseExample example);\n\n    int updateByExample(@Param(\"record\") SmsHomeAdvertise record, @Param(\"example\") SmsHomeAdvertiseExample example);\n\n    int updateByPrimaryKeySelective(SmsHomeAdvertise record);\n\n    int updateByPrimaryKey(SmsHomeAdvertise record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeBrandMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsHomeBrand;\nimport com.macro.mall.model.SmsHomeBrandExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsHomeBrandMapper {\n    long countByExample(SmsHomeBrandExample example);\n\n    int deleteByExample(SmsHomeBrandExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsHomeBrand record);\n\n    int insertSelective(SmsHomeBrand record);\n\n    List<SmsHomeBrand> selectByExample(SmsHomeBrandExample example);\n\n    SmsHomeBrand selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsHomeBrand record, @Param(\"example\") SmsHomeBrandExample example);\n\n    int updateByExample(@Param(\"record\") SmsHomeBrand record, @Param(\"example\") SmsHomeBrandExample example);\n\n    int updateByPrimaryKeySelective(SmsHomeBrand record);\n\n    int updateByPrimaryKey(SmsHomeBrand record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeNewProductMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsHomeNewProduct;\nimport com.macro.mall.model.SmsHomeNewProductExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsHomeNewProductMapper {\n    long countByExample(SmsHomeNewProductExample example);\n\n    int deleteByExample(SmsHomeNewProductExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsHomeNewProduct record);\n\n    int insertSelective(SmsHomeNewProduct record);\n\n    List<SmsHomeNewProduct> selectByExample(SmsHomeNewProductExample example);\n\n    SmsHomeNewProduct selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsHomeNewProduct record, @Param(\"example\") SmsHomeNewProductExample example);\n\n    int updateByExample(@Param(\"record\") SmsHomeNewProduct record, @Param(\"example\") SmsHomeNewProductExample example);\n\n    int updateByPrimaryKeySelective(SmsHomeNewProduct record);\n\n    int updateByPrimaryKey(SmsHomeNewProduct record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeRecommendProductMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsHomeRecommendProduct;\nimport com.macro.mall.model.SmsHomeRecommendProductExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsHomeRecommendProductMapper {\n    long countByExample(SmsHomeRecommendProductExample example);\n\n    int deleteByExample(SmsHomeRecommendProductExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsHomeRecommendProduct record);\n\n    int insertSelective(SmsHomeRecommendProduct record);\n\n    List<SmsHomeRecommendProduct> selectByExample(SmsHomeRecommendProductExample example);\n\n    SmsHomeRecommendProduct selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsHomeRecommendProduct record, @Param(\"example\") SmsHomeRecommendProductExample example);\n\n    int updateByExample(@Param(\"record\") SmsHomeRecommendProduct record, @Param(\"example\") SmsHomeRecommendProductExample example);\n\n    int updateByPrimaryKeySelective(SmsHomeRecommendProduct record);\n\n    int updateByPrimaryKey(SmsHomeRecommendProduct record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeRecommendSubjectMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.SmsHomeRecommendSubject;\nimport com.macro.mall.model.SmsHomeRecommendSubjectExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface SmsHomeRecommendSubjectMapper {\n    long countByExample(SmsHomeRecommendSubjectExample example);\n\n    int deleteByExample(SmsHomeRecommendSubjectExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(SmsHomeRecommendSubject record);\n\n    int insertSelective(SmsHomeRecommendSubject record);\n\n    List<SmsHomeRecommendSubject> selectByExample(SmsHomeRecommendSubjectExample example);\n\n    SmsHomeRecommendSubject selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") SmsHomeRecommendSubject record, @Param(\"example\") SmsHomeRecommendSubjectExample example);\n\n    int updateByExample(@Param(\"record\") SmsHomeRecommendSubject record, @Param(\"example\") SmsHomeRecommendSubjectExample example);\n\n    int updateByPrimaryKeySelective(SmsHomeRecommendSubject record);\n\n    int updateByPrimaryKey(SmsHomeRecommendSubject record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminLoginLogMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsAdminLoginLog;\nimport com.macro.mall.model.UmsAdminLoginLogExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsAdminLoginLogMapper {\n    long countByExample(UmsAdminLoginLogExample example);\n\n    int deleteByExample(UmsAdminLoginLogExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsAdminLoginLog record);\n\n    int insertSelective(UmsAdminLoginLog record);\n\n    List<UmsAdminLoginLog> selectByExample(UmsAdminLoginLogExample example);\n\n    UmsAdminLoginLog selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsAdminLoginLog record, @Param(\"example\") UmsAdminLoginLogExample example);\n\n    int updateByExample(@Param(\"record\") UmsAdminLoginLog record, @Param(\"example\") UmsAdminLoginLogExample example);\n\n    int updateByPrimaryKeySelective(UmsAdminLoginLog record);\n\n    int updateByPrimaryKey(UmsAdminLoginLog record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsAdmin;\nimport com.macro.mall.model.UmsAdminExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsAdminMapper {\n    long countByExample(UmsAdminExample example);\n\n    int deleteByExample(UmsAdminExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsAdmin record);\n\n    int insertSelective(UmsAdmin record);\n\n    List<UmsAdmin> selectByExample(UmsAdminExample example);\n\n    UmsAdmin selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsAdmin record, @Param(\"example\") UmsAdminExample example);\n\n    int updateByExample(@Param(\"record\") UmsAdmin record, @Param(\"example\") UmsAdminExample example);\n\n    int updateByPrimaryKeySelective(UmsAdmin record);\n\n    int updateByPrimaryKey(UmsAdmin record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminPermissionRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsAdminPermissionRelation;\nimport com.macro.mall.model.UmsAdminPermissionRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsAdminPermissionRelationMapper {\n    long countByExample(UmsAdminPermissionRelationExample example);\n\n    int deleteByExample(UmsAdminPermissionRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsAdminPermissionRelation record);\n\n    int insertSelective(UmsAdminPermissionRelation record);\n\n    List<UmsAdminPermissionRelation> selectByExample(UmsAdminPermissionRelationExample example);\n\n    UmsAdminPermissionRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsAdminPermissionRelation record, @Param(\"example\") UmsAdminPermissionRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsAdminPermissionRelation record, @Param(\"example\") UmsAdminPermissionRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsAdminPermissionRelation record);\n\n    int updateByPrimaryKey(UmsAdminPermissionRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminRoleRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsAdminRoleRelation;\nimport com.macro.mall.model.UmsAdminRoleRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsAdminRoleRelationMapper {\n    long countByExample(UmsAdminRoleRelationExample example);\n\n    int deleteByExample(UmsAdminRoleRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsAdminRoleRelation record);\n\n    int insertSelective(UmsAdminRoleRelation record);\n\n    List<UmsAdminRoleRelation> selectByExample(UmsAdminRoleRelationExample example);\n\n    UmsAdminRoleRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsAdminRoleRelation record, @Param(\"example\") UmsAdminRoleRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsAdminRoleRelation record, @Param(\"example\") UmsAdminRoleRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsAdminRoleRelation record);\n\n    int updateByPrimaryKey(UmsAdminRoleRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsGrowthChangeHistoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsGrowthChangeHistory;\nimport com.macro.mall.model.UmsGrowthChangeHistoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsGrowthChangeHistoryMapper {\n    long countByExample(UmsGrowthChangeHistoryExample example);\n\n    int deleteByExample(UmsGrowthChangeHistoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsGrowthChangeHistory record);\n\n    int insertSelective(UmsGrowthChangeHistory record);\n\n    List<UmsGrowthChangeHistory> selectByExample(UmsGrowthChangeHistoryExample example);\n\n    UmsGrowthChangeHistory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsGrowthChangeHistory record, @Param(\"example\") UmsGrowthChangeHistoryExample example);\n\n    int updateByExample(@Param(\"record\") UmsGrowthChangeHistory record, @Param(\"example\") UmsGrowthChangeHistoryExample example);\n\n    int updateByPrimaryKeySelective(UmsGrowthChangeHistory record);\n\n    int updateByPrimaryKey(UmsGrowthChangeHistory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsIntegrationChangeHistoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsIntegrationChangeHistory;\nimport com.macro.mall.model.UmsIntegrationChangeHistoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsIntegrationChangeHistoryMapper {\n    long countByExample(UmsIntegrationChangeHistoryExample example);\n\n    int deleteByExample(UmsIntegrationChangeHistoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsIntegrationChangeHistory record);\n\n    int insertSelective(UmsIntegrationChangeHistory record);\n\n    List<UmsIntegrationChangeHistory> selectByExample(UmsIntegrationChangeHistoryExample example);\n\n    UmsIntegrationChangeHistory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsIntegrationChangeHistory record, @Param(\"example\") UmsIntegrationChangeHistoryExample example);\n\n    int updateByExample(@Param(\"record\") UmsIntegrationChangeHistory record, @Param(\"example\") UmsIntegrationChangeHistoryExample example);\n\n    int updateByPrimaryKeySelective(UmsIntegrationChangeHistory record);\n\n    int updateByPrimaryKey(UmsIntegrationChangeHistory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsIntegrationConsumeSettingMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsIntegrationConsumeSetting;\nimport com.macro.mall.model.UmsIntegrationConsumeSettingExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsIntegrationConsumeSettingMapper {\n    long countByExample(UmsIntegrationConsumeSettingExample example);\n\n    int deleteByExample(UmsIntegrationConsumeSettingExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsIntegrationConsumeSetting record);\n\n    int insertSelective(UmsIntegrationConsumeSetting record);\n\n    List<UmsIntegrationConsumeSetting> selectByExample(UmsIntegrationConsumeSettingExample example);\n\n    UmsIntegrationConsumeSetting selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsIntegrationConsumeSetting record, @Param(\"example\") UmsIntegrationConsumeSettingExample example);\n\n    int updateByExample(@Param(\"record\") UmsIntegrationConsumeSetting record, @Param(\"example\") UmsIntegrationConsumeSettingExample example);\n\n    int updateByPrimaryKeySelective(UmsIntegrationConsumeSetting record);\n\n    int updateByPrimaryKey(UmsIntegrationConsumeSetting record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberLevelMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberLevel;\nimport com.macro.mall.model.UmsMemberLevelExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberLevelMapper {\n    long countByExample(UmsMemberLevelExample example);\n\n    int deleteByExample(UmsMemberLevelExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberLevel record);\n\n    int insertSelective(UmsMemberLevel record);\n\n    List<UmsMemberLevel> selectByExample(UmsMemberLevelExample example);\n\n    UmsMemberLevel selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberLevel record, @Param(\"example\") UmsMemberLevelExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberLevel record, @Param(\"example\") UmsMemberLevelExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberLevel record);\n\n    int updateByPrimaryKey(UmsMemberLevel record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberLoginLogMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberLoginLog;\nimport com.macro.mall.model.UmsMemberLoginLogExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberLoginLogMapper {\n    long countByExample(UmsMemberLoginLogExample example);\n\n    int deleteByExample(UmsMemberLoginLogExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberLoginLog record);\n\n    int insertSelective(UmsMemberLoginLog record);\n\n    List<UmsMemberLoginLog> selectByExample(UmsMemberLoginLogExample example);\n\n    UmsMemberLoginLog selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberLoginLog record, @Param(\"example\") UmsMemberLoginLogExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberLoginLog record, @Param(\"example\") UmsMemberLoginLogExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberLoginLog record);\n\n    int updateByPrimaryKey(UmsMemberLoginLog record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.model.UmsMemberExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberMapper {\n    long countByExample(UmsMemberExample example);\n\n    int deleteByExample(UmsMemberExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMember record);\n\n    int insertSelective(UmsMember record);\n\n    List<UmsMember> selectByExample(UmsMemberExample example);\n\n    UmsMember selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMember record, @Param(\"example\") UmsMemberExample example);\n\n    int updateByExample(@Param(\"record\") UmsMember record, @Param(\"example\") UmsMemberExample example);\n\n    int updateByPrimaryKeySelective(UmsMember record);\n\n    int updateByPrimaryKey(UmsMember record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberMemberTagRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberMemberTagRelation;\nimport com.macro.mall.model.UmsMemberMemberTagRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberMemberTagRelationMapper {\n    long countByExample(UmsMemberMemberTagRelationExample example);\n\n    int deleteByExample(UmsMemberMemberTagRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberMemberTagRelation record);\n\n    int insertSelective(UmsMemberMemberTagRelation record);\n\n    List<UmsMemberMemberTagRelation> selectByExample(UmsMemberMemberTagRelationExample example);\n\n    UmsMemberMemberTagRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberMemberTagRelation record, @Param(\"example\") UmsMemberMemberTagRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberMemberTagRelation record, @Param(\"example\") UmsMemberMemberTagRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberMemberTagRelation record);\n\n    int updateByPrimaryKey(UmsMemberMemberTagRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberProductCategoryRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberProductCategoryRelation;\nimport com.macro.mall.model.UmsMemberProductCategoryRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberProductCategoryRelationMapper {\n    long countByExample(UmsMemberProductCategoryRelationExample example);\n\n    int deleteByExample(UmsMemberProductCategoryRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberProductCategoryRelation record);\n\n    int insertSelective(UmsMemberProductCategoryRelation record);\n\n    List<UmsMemberProductCategoryRelation> selectByExample(UmsMemberProductCategoryRelationExample example);\n\n    UmsMemberProductCategoryRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberProductCategoryRelation record, @Param(\"example\") UmsMemberProductCategoryRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberProductCategoryRelation record, @Param(\"example\") UmsMemberProductCategoryRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberProductCategoryRelation record);\n\n    int updateByPrimaryKey(UmsMemberProductCategoryRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberReceiveAddressMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberReceiveAddress;\nimport com.macro.mall.model.UmsMemberReceiveAddressExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberReceiveAddressMapper {\n    long countByExample(UmsMemberReceiveAddressExample example);\n\n    int deleteByExample(UmsMemberReceiveAddressExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberReceiveAddress record);\n\n    int insertSelective(UmsMemberReceiveAddress record);\n\n    List<UmsMemberReceiveAddress> selectByExample(UmsMemberReceiveAddressExample example);\n\n    UmsMemberReceiveAddress selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberReceiveAddress record, @Param(\"example\") UmsMemberReceiveAddressExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberReceiveAddress record, @Param(\"example\") UmsMemberReceiveAddressExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberReceiveAddress record);\n\n    int updateByPrimaryKey(UmsMemberReceiveAddress record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberRuleSettingMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberRuleSetting;\nimport com.macro.mall.model.UmsMemberRuleSettingExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberRuleSettingMapper {\n    long countByExample(UmsMemberRuleSettingExample example);\n\n    int deleteByExample(UmsMemberRuleSettingExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberRuleSetting record);\n\n    int insertSelective(UmsMemberRuleSetting record);\n\n    List<UmsMemberRuleSetting> selectByExample(UmsMemberRuleSettingExample example);\n\n    UmsMemberRuleSetting selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberRuleSetting record, @Param(\"example\") UmsMemberRuleSettingExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberRuleSetting record, @Param(\"example\") UmsMemberRuleSettingExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberRuleSetting record);\n\n    int updateByPrimaryKey(UmsMemberRuleSetting record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberStatisticsInfoMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberStatisticsInfo;\nimport com.macro.mall.model.UmsMemberStatisticsInfoExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberStatisticsInfoMapper {\n    long countByExample(UmsMemberStatisticsInfoExample example);\n\n    int deleteByExample(UmsMemberStatisticsInfoExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberStatisticsInfo record);\n\n    int insertSelective(UmsMemberStatisticsInfo record);\n\n    List<UmsMemberStatisticsInfo> selectByExample(UmsMemberStatisticsInfoExample example);\n\n    UmsMemberStatisticsInfo selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberStatisticsInfo record, @Param(\"example\") UmsMemberStatisticsInfoExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberStatisticsInfo record, @Param(\"example\") UmsMemberStatisticsInfoExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberStatisticsInfo record);\n\n    int updateByPrimaryKey(UmsMemberStatisticsInfo record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberTagMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberTag;\nimport com.macro.mall.model.UmsMemberTagExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberTagMapper {\n    long countByExample(UmsMemberTagExample example);\n\n    int deleteByExample(UmsMemberTagExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberTag record);\n\n    int insertSelective(UmsMemberTag record);\n\n    List<UmsMemberTag> selectByExample(UmsMemberTagExample example);\n\n    UmsMemberTag selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberTag record, @Param(\"example\") UmsMemberTagExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberTag record, @Param(\"example\") UmsMemberTagExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberTag record);\n\n    int updateByPrimaryKey(UmsMemberTag record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberTaskMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMemberTask;\nimport com.macro.mall.model.UmsMemberTaskExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMemberTaskMapper {\n    long countByExample(UmsMemberTaskExample example);\n\n    int deleteByExample(UmsMemberTaskExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMemberTask record);\n\n    int insertSelective(UmsMemberTask record);\n\n    List<UmsMemberTask> selectByExample(UmsMemberTaskExample example);\n\n    UmsMemberTask selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMemberTask record, @Param(\"example\") UmsMemberTaskExample example);\n\n    int updateByExample(@Param(\"record\") UmsMemberTask record, @Param(\"example\") UmsMemberTaskExample example);\n\n    int updateByPrimaryKeySelective(UmsMemberTask record);\n\n    int updateByPrimaryKey(UmsMemberTask record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsMenuMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsMenu;\nimport com.macro.mall.model.UmsMenuExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsMenuMapper {\n    long countByExample(UmsMenuExample example);\n\n    int deleteByExample(UmsMenuExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsMenu record);\n\n    int insertSelective(UmsMenu record);\n\n    List<UmsMenu> selectByExample(UmsMenuExample example);\n\n    UmsMenu selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsMenu record, @Param(\"example\") UmsMenuExample example);\n\n    int updateByExample(@Param(\"record\") UmsMenu record, @Param(\"example\") UmsMenuExample example);\n\n    int updateByPrimaryKeySelective(UmsMenu record);\n\n    int updateByPrimaryKey(UmsMenu record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsPermissionMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsPermission;\nimport com.macro.mall.model.UmsPermissionExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsPermissionMapper {\n    long countByExample(UmsPermissionExample example);\n\n    int deleteByExample(UmsPermissionExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsPermission record);\n\n    int insertSelective(UmsPermission record);\n\n    List<UmsPermission> selectByExample(UmsPermissionExample example);\n\n    UmsPermission selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsPermission record, @Param(\"example\") UmsPermissionExample example);\n\n    int updateByExample(@Param(\"record\") UmsPermission record, @Param(\"example\") UmsPermissionExample example);\n\n    int updateByPrimaryKeySelective(UmsPermission record);\n\n    int updateByPrimaryKey(UmsPermission record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsResourceCategoryMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsResourceCategory;\nimport com.macro.mall.model.UmsResourceCategoryExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsResourceCategoryMapper {\n    long countByExample(UmsResourceCategoryExample example);\n\n    int deleteByExample(UmsResourceCategoryExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsResourceCategory record);\n\n    int insertSelective(UmsResourceCategory record);\n\n    List<UmsResourceCategory> selectByExample(UmsResourceCategoryExample example);\n\n    UmsResourceCategory selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsResourceCategory record, @Param(\"example\") UmsResourceCategoryExample example);\n\n    int updateByExample(@Param(\"record\") UmsResourceCategory record, @Param(\"example\") UmsResourceCategoryExample example);\n\n    int updateByPrimaryKeySelective(UmsResourceCategory record);\n\n    int updateByPrimaryKey(UmsResourceCategory record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsResourceMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsResource;\nimport com.macro.mall.model.UmsResourceExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsResourceMapper {\n    long countByExample(UmsResourceExample example);\n\n    int deleteByExample(UmsResourceExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsResource record);\n\n    int insertSelective(UmsResource record);\n\n    List<UmsResource> selectByExample(UmsResourceExample example);\n\n    UmsResource selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsResource record, @Param(\"example\") UmsResourceExample example);\n\n    int updateByExample(@Param(\"record\") UmsResource record, @Param(\"example\") UmsResourceExample example);\n\n    int updateByPrimaryKeySelective(UmsResource record);\n\n    int updateByPrimaryKey(UmsResource record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsRoleMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsRole;\nimport com.macro.mall.model.UmsRoleExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsRoleMapper {\n    long countByExample(UmsRoleExample example);\n\n    int deleteByExample(UmsRoleExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsRole record);\n\n    int insertSelective(UmsRole record);\n\n    List<UmsRole> selectByExample(UmsRoleExample example);\n\n    UmsRole selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsRole record, @Param(\"example\") UmsRoleExample example);\n\n    int updateByExample(@Param(\"record\") UmsRole record, @Param(\"example\") UmsRoleExample example);\n\n    int updateByPrimaryKeySelective(UmsRole record);\n\n    int updateByPrimaryKey(UmsRole record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsRoleMenuRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsRoleMenuRelation;\nimport com.macro.mall.model.UmsRoleMenuRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsRoleMenuRelationMapper {\n    long countByExample(UmsRoleMenuRelationExample example);\n\n    int deleteByExample(UmsRoleMenuRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsRoleMenuRelation record);\n\n    int insertSelective(UmsRoleMenuRelation record);\n\n    List<UmsRoleMenuRelation> selectByExample(UmsRoleMenuRelationExample example);\n\n    UmsRoleMenuRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsRoleMenuRelation record, @Param(\"example\") UmsRoleMenuRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsRoleMenuRelation record, @Param(\"example\") UmsRoleMenuRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsRoleMenuRelation record);\n\n    int updateByPrimaryKey(UmsRoleMenuRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsRolePermissionRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsRolePermissionRelation;\nimport com.macro.mall.model.UmsRolePermissionRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsRolePermissionRelationMapper {\n    long countByExample(UmsRolePermissionRelationExample example);\n\n    int deleteByExample(UmsRolePermissionRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsRolePermissionRelation record);\n\n    int insertSelective(UmsRolePermissionRelation record);\n\n    List<UmsRolePermissionRelation> selectByExample(UmsRolePermissionRelationExample example);\n\n    UmsRolePermissionRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsRolePermissionRelation record, @Param(\"example\") UmsRolePermissionRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsRolePermissionRelation record, @Param(\"example\") UmsRolePermissionRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsRolePermissionRelation record);\n\n    int updateByPrimaryKey(UmsRolePermissionRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/mapper/UmsRoleResourceRelationMapper.java",
    "content": "package com.macro.mall.mapper;\n\nimport com.macro.mall.model.UmsRoleResourceRelation;\nimport com.macro.mall.model.UmsRoleResourceRelationExample;\nimport java.util.List;\nimport org.apache.ibatis.annotations.Param;\n\npublic interface UmsRoleResourceRelationMapper {\n    long countByExample(UmsRoleResourceRelationExample example);\n\n    int deleteByExample(UmsRoleResourceRelationExample example);\n\n    int deleteByPrimaryKey(Long id);\n\n    int insert(UmsRoleResourceRelation record);\n\n    int insertSelective(UmsRoleResourceRelation record);\n\n    List<UmsRoleResourceRelation> selectByExample(UmsRoleResourceRelationExample example);\n\n    UmsRoleResourceRelation selectByPrimaryKey(Long id);\n\n    int updateByExampleSelective(@Param(\"record\") UmsRoleResourceRelation record, @Param(\"example\") UmsRoleResourceRelationExample example);\n\n    int updateByExample(@Param(\"record\") UmsRoleResourceRelation record, @Param(\"example\") UmsRoleResourceRelationExample example);\n\n    int updateByPrimaryKeySelective(UmsRoleResourceRelation record);\n\n    int updateByPrimaryKey(UmsRoleResourceRelation record);\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsHelp.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class CmsHelp implements Serializable {\n    private Long id;\n\n    private Long categoryId;\n\n    private String icon;\n\n    private String title;\n\n    private Integer showStatus;\n\n    private Date createTime;\n\n    private Integer readCount;\n\n    private String content;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCategoryId() {\n        return categoryId;\n    }\n\n    public void setCategoryId(Long categoryId) {\n        this.categoryId = categoryId;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public String getTitle() {\n        return title;\n    }\n\n    public void setTitle(String title) {\n        this.title = title;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getReadCount() {\n        return readCount;\n    }\n\n    public void setReadCount(Integer readCount) {\n        this.readCount = readCount;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", categoryId=\").append(categoryId);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", title=\").append(title);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", readCount=\").append(readCount);\n        sb.append(\", content=\").append(content);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsHelpCategory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class CmsHelpCategory implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"分类图标\")\n    private String icon;\n\n    @ApiModelProperty(value = \"专题数量\")\n    private Integer helpCount;\n\n    private Integer showStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public Integer getHelpCount() {\n        return helpCount;\n    }\n\n    public void setHelpCount(Integer helpCount) {\n        this.helpCount = helpCount;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", helpCount=\").append(helpCount);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsHelpCategoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class CmsHelpCategoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsHelpCategoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountIsNull() {\n            addCriterion(\"help_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountIsNotNull() {\n            addCriterion(\"help_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountEqualTo(Integer value) {\n            addCriterion(\"help_count =\", value, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountNotEqualTo(Integer value) {\n            addCriterion(\"help_count <>\", value, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountGreaterThan(Integer value) {\n            addCriterion(\"help_count >\", value, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"help_count >=\", value, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountLessThan(Integer value) {\n            addCriterion(\"help_count <\", value, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"help_count <=\", value, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountIn(List<Integer> values) {\n            addCriterion(\"help_count in\", values, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountNotIn(List<Integer> values) {\n            addCriterion(\"help_count not in\", values, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"help_count between\", value1, value2, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHelpCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"help_count not between\", value1, value2, \"helpCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsHelpExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class CmsHelpExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsHelpExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNull() {\n            addCriterion(\"category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNotNull() {\n            addCriterion(\"category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdEqualTo(Long value) {\n            addCriterion(\"category_id =\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"category_id <>\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThan(Long value) {\n            addCriterion(\"category_id >\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"category_id >=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThan(Long value) {\n            addCriterion(\"category_id <\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"category_id <=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIn(List<Long> values) {\n            addCriterion(\"category_id in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"category_id not in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"category_id between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"category_id not between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNull() {\n            addCriterion(\"title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNotNull() {\n            addCriterion(\"title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleEqualTo(String value) {\n            addCriterion(\"title =\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotEqualTo(String value) {\n            addCriterion(\"title <>\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThan(String value) {\n            addCriterion(\"title >\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"title >=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThan(String value) {\n            addCriterion(\"title <\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"title <=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLike(String value) {\n            addCriterion(\"title like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotLike(String value) {\n            addCriterion(\"title not like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIn(List<String> values) {\n            addCriterion(\"title in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotIn(List<String> values) {\n            addCriterion(\"title not in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleBetween(String value1, String value2) {\n            addCriterion(\"title between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotBetween(String value1, String value2) {\n            addCriterion(\"title not between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNull() {\n            addCriterion(\"read_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNotNull() {\n            addCriterion(\"read_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountEqualTo(Integer value) {\n            addCriterion(\"read_count =\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotEqualTo(Integer value) {\n            addCriterion(\"read_count <>\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThan(Integer value) {\n            addCriterion(\"read_count >\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count >=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThan(Integer value) {\n            addCriterion(\"read_count <\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count <=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIn(List<Integer> values) {\n            addCriterion(\"read_count in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotIn(List<Integer> values) {\n            addCriterion(\"read_count not in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count not between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsMemberReport.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class CmsMemberReport implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"举报类型：0->商品评价；1->话题内容；2->用户评论\")\n    private Integer reportType;\n\n    @ApiModelProperty(value = \"举报人\")\n    private String reportMemberName;\n\n    private Date createTime;\n\n    private String reportObject;\n\n    @ApiModelProperty(value = \"举报状态：0->未处理；1->已处理\")\n    private Integer reportStatus;\n\n    @ApiModelProperty(value = \"处理结果：0->无效；1->有效；2->恶意\")\n    private Integer handleStatus;\n\n    private String note;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Integer getReportType() {\n        return reportType;\n    }\n\n    public void setReportType(Integer reportType) {\n        this.reportType = reportType;\n    }\n\n    public String getReportMemberName() {\n        return reportMemberName;\n    }\n\n    public void setReportMemberName(String reportMemberName) {\n        this.reportMemberName = reportMemberName;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getReportObject() {\n        return reportObject;\n    }\n\n    public void setReportObject(String reportObject) {\n        this.reportObject = reportObject;\n    }\n\n    public Integer getReportStatus() {\n        return reportStatus;\n    }\n\n    public void setReportStatus(Integer reportStatus) {\n        this.reportStatus = reportStatus;\n    }\n\n    public Integer getHandleStatus() {\n        return handleStatus;\n    }\n\n    public void setHandleStatus(Integer handleStatus) {\n        this.handleStatus = handleStatus;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", reportType=\").append(reportType);\n        sb.append(\", reportMemberName=\").append(reportMemberName);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", reportObject=\").append(reportObject);\n        sb.append(\", reportStatus=\").append(reportStatus);\n        sb.append(\", handleStatus=\").append(handleStatus);\n        sb.append(\", note=\").append(note);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsMemberReportExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class CmsMemberReportExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsMemberReportExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeIsNull() {\n            addCriterion(\"report_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeIsNotNull() {\n            addCriterion(\"report_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeEqualTo(Integer value) {\n            addCriterion(\"report_type =\", value, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeNotEqualTo(Integer value) {\n            addCriterion(\"report_type <>\", value, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeGreaterThan(Integer value) {\n            addCriterion(\"report_type >\", value, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"report_type >=\", value, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeLessThan(Integer value) {\n            addCriterion(\"report_type <\", value, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"report_type <=\", value, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeIn(List<Integer> values) {\n            addCriterion(\"report_type in\", values, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeNotIn(List<Integer> values) {\n            addCriterion(\"report_type not in\", values, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"report_type between\", value1, value2, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"report_type not between\", value1, value2, \"reportType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameIsNull() {\n            addCriterion(\"report_member_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameIsNotNull() {\n            addCriterion(\"report_member_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameEqualTo(String value) {\n            addCriterion(\"report_member_name =\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameNotEqualTo(String value) {\n            addCriterion(\"report_member_name <>\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameGreaterThan(String value) {\n            addCriterion(\"report_member_name >\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"report_member_name >=\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameLessThan(String value) {\n            addCriterion(\"report_member_name <\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameLessThanOrEqualTo(String value) {\n            addCriterion(\"report_member_name <=\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameLike(String value) {\n            addCriterion(\"report_member_name like\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameNotLike(String value) {\n            addCriterion(\"report_member_name not like\", value, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameIn(List<String> values) {\n            addCriterion(\"report_member_name in\", values, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameNotIn(List<String> values) {\n            addCriterion(\"report_member_name not in\", values, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameBetween(String value1, String value2) {\n            addCriterion(\"report_member_name between\", value1, value2, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportMemberNameNotBetween(String value1, String value2) {\n            addCriterion(\"report_member_name not between\", value1, value2, \"reportMemberName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectIsNull() {\n            addCriterion(\"report_object is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectIsNotNull() {\n            addCriterion(\"report_object is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectEqualTo(String value) {\n            addCriterion(\"report_object =\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectNotEqualTo(String value) {\n            addCriterion(\"report_object <>\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectGreaterThan(String value) {\n            addCriterion(\"report_object >\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectGreaterThanOrEqualTo(String value) {\n            addCriterion(\"report_object >=\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectLessThan(String value) {\n            addCriterion(\"report_object <\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectLessThanOrEqualTo(String value) {\n            addCriterion(\"report_object <=\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectLike(String value) {\n            addCriterion(\"report_object like\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectNotLike(String value) {\n            addCriterion(\"report_object not like\", value, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectIn(List<String> values) {\n            addCriterion(\"report_object in\", values, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectNotIn(List<String> values) {\n            addCriterion(\"report_object not in\", values, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectBetween(String value1, String value2) {\n            addCriterion(\"report_object between\", value1, value2, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportObjectNotBetween(String value1, String value2) {\n            addCriterion(\"report_object not between\", value1, value2, \"reportObject\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusIsNull() {\n            addCriterion(\"report_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusIsNotNull() {\n            addCriterion(\"report_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusEqualTo(Integer value) {\n            addCriterion(\"report_status =\", value, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusNotEqualTo(Integer value) {\n            addCriterion(\"report_status <>\", value, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusGreaterThan(Integer value) {\n            addCriterion(\"report_status >\", value, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"report_status >=\", value, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusLessThan(Integer value) {\n            addCriterion(\"report_status <\", value, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"report_status <=\", value, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusIn(List<Integer> values) {\n            addCriterion(\"report_status in\", values, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusNotIn(List<Integer> values) {\n            addCriterion(\"report_status not in\", values, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"report_status between\", value1, value2, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReportStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"report_status not between\", value1, value2, \"reportStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusIsNull() {\n            addCriterion(\"handle_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusIsNotNull() {\n            addCriterion(\"handle_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusEqualTo(Integer value) {\n            addCriterion(\"handle_status =\", value, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusNotEqualTo(Integer value) {\n            addCriterion(\"handle_status <>\", value, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusGreaterThan(Integer value) {\n            addCriterion(\"handle_status >\", value, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"handle_status >=\", value, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusLessThan(Integer value) {\n            addCriterion(\"handle_status <\", value, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"handle_status <=\", value, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusIn(List<Integer> values) {\n            addCriterion(\"handle_status in\", values, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusNotIn(List<Integer> values) {\n            addCriterion(\"handle_status not in\", values, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"handle_status between\", value1, value2, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"handle_status not between\", value1, value2, \"handleStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceArea.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class CmsPrefrenceArea implements Serializable {\n    private Long id;\n\n    private String name;\n\n    private String subTitle;\n\n    private Integer sort;\n\n    private Integer showStatus;\n\n    @ApiModelProperty(value = \"展示图片\")\n    private byte[] pic;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getSubTitle() {\n        return subTitle;\n    }\n\n    public void setSubTitle(String subTitle) {\n        this.subTitle = subTitle;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public byte[] getPic() {\n        return pic;\n    }\n\n    public void setPic(byte[] pic) {\n        this.pic = pic;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", subTitle=\").append(subTitle);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", pic=\").append(pic);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceAreaExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class CmsPrefrenceAreaExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsPrefrenceAreaExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleIsNull() {\n            addCriterion(\"sub_title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleIsNotNull() {\n            addCriterion(\"sub_title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleEqualTo(String value) {\n            addCriterion(\"sub_title =\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotEqualTo(String value) {\n            addCriterion(\"sub_title <>\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleGreaterThan(String value) {\n            addCriterion(\"sub_title >\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"sub_title >=\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleLessThan(String value) {\n            addCriterion(\"sub_title <\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"sub_title <=\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleLike(String value) {\n            addCriterion(\"sub_title like\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotLike(String value) {\n            addCriterion(\"sub_title not like\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleIn(List<String> values) {\n            addCriterion(\"sub_title in\", values, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotIn(List<String> values) {\n            addCriterion(\"sub_title not in\", values, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleBetween(String value1, String value2) {\n            addCriterion(\"sub_title between\", value1, value2, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotBetween(String value1, String value2) {\n            addCriterion(\"sub_title not between\", value1, value2, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceAreaProductRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class CmsPrefrenceAreaProductRelation implements Serializable {\n    private Long id;\n\n    private Long prefrenceAreaId;\n\n    private Long productId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getPrefrenceAreaId() {\n        return prefrenceAreaId;\n    }\n\n    public void setPrefrenceAreaId(Long prefrenceAreaId) {\n        this.prefrenceAreaId = prefrenceAreaId;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", prefrenceAreaId=\").append(prefrenceAreaId);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceAreaProductRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class CmsPrefrenceAreaProductRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsPrefrenceAreaProductRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdIsNull() {\n            addCriterion(\"prefrence_area_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdIsNotNull() {\n            addCriterion(\"prefrence_area_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdEqualTo(Long value) {\n            addCriterion(\"prefrence_area_id =\", value, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdNotEqualTo(Long value) {\n            addCriterion(\"prefrence_area_id <>\", value, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdGreaterThan(Long value) {\n            addCriterion(\"prefrence_area_id >\", value, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"prefrence_area_id >=\", value, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdLessThan(Long value) {\n            addCriterion(\"prefrence_area_id <\", value, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"prefrence_area_id <=\", value, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdIn(List<Long> values) {\n            addCriterion(\"prefrence_area_id in\", values, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdNotIn(List<Long> values) {\n            addCriterion(\"prefrence_area_id not in\", values, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdBetween(Long value1, Long value2) {\n            addCriterion(\"prefrence_area_id between\", value1, value2, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPrefrenceAreaIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"prefrence_area_id not between\", value1, value2, \"prefrenceAreaId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubject.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class CmsSubject implements Serializable {\n    private Long id;\n\n    private Long categoryId;\n\n    private String title;\n\n    @ApiModelProperty(value = \"专题主图\")\n    private String pic;\n\n    @ApiModelProperty(value = \"关联产品数量\")\n    private Integer productCount;\n\n    private Integer recommendStatus;\n\n    private Date createTime;\n\n    private Integer collectCount;\n\n    private Integer readCount;\n\n    private Integer commentCount;\n\n    @ApiModelProperty(value = \"画册图片用逗号分割\")\n    private String albumPics;\n\n    private String description;\n\n    @ApiModelProperty(value = \"显示状态：0->不显示；1->显示\")\n    private Integer showStatus;\n\n    @ApiModelProperty(value = \"转发数\")\n    private Integer forwardCount;\n\n    @ApiModelProperty(value = \"专题分类名称\")\n    private String categoryName;\n\n    private String content;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCategoryId() {\n        return categoryId;\n    }\n\n    public void setCategoryId(Long categoryId) {\n        this.categoryId = categoryId;\n    }\n\n    public String getTitle() {\n        return title;\n    }\n\n    public void setTitle(String title) {\n        this.title = title;\n    }\n\n    public String getPic() {\n        return pic;\n    }\n\n    public void setPic(String pic) {\n        this.pic = pic;\n    }\n\n    public Integer getProductCount() {\n        return productCount;\n    }\n\n    public void setProductCount(Integer productCount) {\n        this.productCount = productCount;\n    }\n\n    public Integer getRecommendStatus() {\n        return recommendStatus;\n    }\n\n    public void setRecommendStatus(Integer recommendStatus) {\n        this.recommendStatus = recommendStatus;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getCollectCount() {\n        return collectCount;\n    }\n\n    public void setCollectCount(Integer collectCount) {\n        this.collectCount = collectCount;\n    }\n\n    public Integer getReadCount() {\n        return readCount;\n    }\n\n    public void setReadCount(Integer readCount) {\n        this.readCount = readCount;\n    }\n\n    public Integer getCommentCount() {\n        return commentCount;\n    }\n\n    public void setCommentCount(Integer commentCount) {\n        this.commentCount = commentCount;\n    }\n\n    public String getAlbumPics() {\n        return albumPics;\n    }\n\n    public void setAlbumPics(String albumPics) {\n        this.albumPics = albumPics;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Integer getForwardCount() {\n        return forwardCount;\n    }\n\n    public void setForwardCount(Integer forwardCount) {\n        this.forwardCount = forwardCount;\n    }\n\n    public String getCategoryName() {\n        return categoryName;\n    }\n\n    public void setCategoryName(String categoryName) {\n        this.categoryName = categoryName;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", categoryId=\").append(categoryId);\n        sb.append(\", title=\").append(title);\n        sb.append(\", pic=\").append(pic);\n        sb.append(\", productCount=\").append(productCount);\n        sb.append(\", recommendStatus=\").append(recommendStatus);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", collectCount=\").append(collectCount);\n        sb.append(\", readCount=\").append(readCount);\n        sb.append(\", commentCount=\").append(commentCount);\n        sb.append(\", albumPics=\").append(albumPics);\n        sb.append(\", description=\").append(description);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", forwardCount=\").append(forwardCount);\n        sb.append(\", categoryName=\").append(categoryName);\n        sb.append(\", content=\").append(content);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCategory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class CmsSubjectCategory implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"分类图标\")\n    private String icon;\n\n    @ApiModelProperty(value = \"专题数量\")\n    private Integer subjectCount;\n\n    private Integer showStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public Integer getSubjectCount() {\n        return subjectCount;\n    }\n\n    public void setSubjectCount(Integer subjectCount) {\n        this.subjectCount = subjectCount;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", subjectCount=\").append(subjectCount);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCategoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class CmsSubjectCategoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsSubjectCategoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountIsNull() {\n            addCriterion(\"subject_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountIsNotNull() {\n            addCriterion(\"subject_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountEqualTo(Integer value) {\n            addCriterion(\"subject_count =\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountNotEqualTo(Integer value) {\n            addCriterion(\"subject_count <>\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountGreaterThan(Integer value) {\n            addCriterion(\"subject_count >\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"subject_count >=\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountLessThan(Integer value) {\n            addCriterion(\"subject_count <\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"subject_count <=\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountIn(List<Integer> values) {\n            addCriterion(\"subject_count in\", values, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountNotIn(List<Integer> values) {\n            addCriterion(\"subject_count not in\", values, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"subject_count between\", value1, value2, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"subject_count not between\", value1, value2, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectComment.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class CmsSubjectComment implements Serializable {\n    private Long id;\n\n    private Long subjectId;\n\n    private String memberNickName;\n\n    private String memberIcon;\n\n    private String content;\n\n    private Date createTime;\n\n    private Integer showStatus;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getSubjectId() {\n        return subjectId;\n    }\n\n    public void setSubjectId(Long subjectId) {\n        this.subjectId = subjectId;\n    }\n\n    public String getMemberNickName() {\n        return memberNickName;\n    }\n\n    public void setMemberNickName(String memberNickName) {\n        this.memberNickName = memberNickName;\n    }\n\n    public String getMemberIcon() {\n        return memberIcon;\n    }\n\n    public void setMemberIcon(String memberIcon) {\n        this.memberIcon = memberIcon;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", subjectId=\").append(subjectId);\n        sb.append(\", memberNickName=\").append(memberNickName);\n        sb.append(\", memberIcon=\").append(memberIcon);\n        sb.append(\", content=\").append(content);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCommentExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class CmsSubjectCommentExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsSubjectCommentExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIsNull() {\n            addCriterion(\"subject_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIsNotNull() {\n            addCriterion(\"subject_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdEqualTo(Long value) {\n            addCriterion(\"subject_id =\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotEqualTo(Long value) {\n            addCriterion(\"subject_id <>\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdGreaterThan(Long value) {\n            addCriterion(\"subject_id >\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"subject_id >=\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdLessThan(Long value) {\n            addCriterion(\"subject_id <\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"subject_id <=\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIn(List<Long> values) {\n            addCriterion(\"subject_id in\", values, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotIn(List<Long> values) {\n            addCriterion(\"subject_id not in\", values, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdBetween(Long value1, Long value2) {\n            addCriterion(\"subject_id between\", value1, value2, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"subject_id not between\", value1, value2, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNull() {\n            addCriterion(\"member_nick_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNotNull() {\n            addCriterion(\"member_nick_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameEqualTo(String value) {\n            addCriterion(\"member_nick_name =\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotEqualTo(String value) {\n            addCriterion(\"member_nick_name <>\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThan(String value) {\n            addCriterion(\"member_nick_name >\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name >=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThan(String value) {\n            addCriterion(\"member_nick_name <\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name <=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLike(String value) {\n            addCriterion(\"member_nick_name like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotLike(String value) {\n            addCriterion(\"member_nick_name not like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIn(List<String> values) {\n            addCriterion(\"member_nick_name in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotIn(List<String> values) {\n            addCriterion(\"member_nick_name not in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name not between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNull() {\n            addCriterion(\"member_icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNotNull() {\n            addCriterion(\"member_icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconEqualTo(String value) {\n            addCriterion(\"member_icon =\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotEqualTo(String value) {\n            addCriterion(\"member_icon <>\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThan(String value) {\n            addCriterion(\"member_icon >\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_icon >=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThan(String value) {\n            addCriterion(\"member_icon <\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThanOrEqualTo(String value) {\n            addCriterion(\"member_icon <=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLike(String value) {\n            addCriterion(\"member_icon like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotLike(String value) {\n            addCriterion(\"member_icon not like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIn(List<String> values) {\n            addCriterion(\"member_icon in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotIn(List<String> values) {\n            addCriterion(\"member_icon not in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconBetween(String value1, String value2) {\n            addCriterion(\"member_icon between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotBetween(String value1, String value2) {\n            addCriterion(\"member_icon not between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIsNull() {\n            addCriterion(\"content is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIsNotNull() {\n            addCriterion(\"content is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentEqualTo(String value) {\n            addCriterion(\"content =\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotEqualTo(String value) {\n            addCriterion(\"content <>\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentGreaterThan(String value) {\n            addCriterion(\"content >\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentGreaterThanOrEqualTo(String value) {\n            addCriterion(\"content >=\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLessThan(String value) {\n            addCriterion(\"content <\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLessThanOrEqualTo(String value) {\n            addCriterion(\"content <=\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLike(String value) {\n            addCriterion(\"content like\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotLike(String value) {\n            addCriterion(\"content not like\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIn(List<String> values) {\n            addCriterion(\"content in\", values, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotIn(List<String> values) {\n            addCriterion(\"content not in\", values, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentBetween(String value1, String value2) {\n            addCriterion(\"content between\", value1, value2, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotBetween(String value1, String value2) {\n            addCriterion(\"content not between\", value1, value2, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class CmsSubjectExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsSubjectExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNull() {\n            addCriterion(\"category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNotNull() {\n            addCriterion(\"category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdEqualTo(Long value) {\n            addCriterion(\"category_id =\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"category_id <>\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThan(Long value) {\n            addCriterion(\"category_id >\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"category_id >=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThan(Long value) {\n            addCriterion(\"category_id <\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"category_id <=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIn(List<Long> values) {\n            addCriterion(\"category_id in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"category_id not in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"category_id between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"category_id not between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNull() {\n            addCriterion(\"title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNotNull() {\n            addCriterion(\"title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleEqualTo(String value) {\n            addCriterion(\"title =\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotEqualTo(String value) {\n            addCriterion(\"title <>\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThan(String value) {\n            addCriterion(\"title >\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"title >=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThan(String value) {\n            addCriterion(\"title <\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"title <=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLike(String value) {\n            addCriterion(\"title like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotLike(String value) {\n            addCriterion(\"title not like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIn(List<String> values) {\n            addCriterion(\"title in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotIn(List<String> values) {\n            addCriterion(\"title not in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleBetween(String value1, String value2) {\n            addCriterion(\"title between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotBetween(String value1, String value2) {\n            addCriterion(\"title not between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNull() {\n            addCriterion(\"pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNotNull() {\n            addCriterion(\"pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicEqualTo(String value) {\n            addCriterion(\"pic =\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotEqualTo(String value) {\n            addCriterion(\"pic <>\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThan(String value) {\n            addCriterion(\"pic >\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"pic >=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThan(String value) {\n            addCriterion(\"pic <\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThanOrEqualTo(String value) {\n            addCriterion(\"pic <=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLike(String value) {\n            addCriterion(\"pic like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotLike(String value) {\n            addCriterion(\"pic not like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIn(List<String> values) {\n            addCriterion(\"pic in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotIn(List<String> values) {\n            addCriterion(\"pic not in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicBetween(String value1, String value2) {\n            addCriterion(\"pic between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotBetween(String value1, String value2) {\n            addCriterion(\"pic not between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNull() {\n            addCriterion(\"product_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNotNull() {\n            addCriterion(\"product_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountEqualTo(Integer value) {\n            addCriterion(\"product_count =\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotEqualTo(Integer value) {\n            addCriterion(\"product_count <>\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThan(Integer value) {\n            addCriterion(\"product_count >\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count >=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThan(Integer value) {\n            addCriterion(\"product_count <\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count <=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIn(List<Integer> values) {\n            addCriterion(\"product_count in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotIn(List<Integer> values) {\n            addCriterion(\"product_count not in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count not between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNull() {\n            addCriterion(\"recommend_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNotNull() {\n            addCriterion(\"recommend_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusEqualTo(Integer value) {\n            addCriterion(\"recommend_status =\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotEqualTo(Integer value) {\n            addCriterion(\"recommend_status <>\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThan(Integer value) {\n            addCriterion(\"recommend_status >\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status >=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThan(Integer value) {\n            addCriterion(\"recommend_status <\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status <=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIn(List<Integer> values) {\n            addCriterion(\"recommend_status in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotIn(List<Integer> values) {\n            addCriterion(\"recommend_status not in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status not between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountIsNull() {\n            addCriterion(\"collect_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountIsNotNull() {\n            addCriterion(\"collect_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountEqualTo(Integer value) {\n            addCriterion(\"collect_count =\", value, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountNotEqualTo(Integer value) {\n            addCriterion(\"collect_count <>\", value, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountGreaterThan(Integer value) {\n            addCriterion(\"collect_count >\", value, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_count >=\", value, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountLessThan(Integer value) {\n            addCriterion(\"collect_count <\", value, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_count <=\", value, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountIn(List<Integer> values) {\n            addCriterion(\"collect_count in\", values, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountNotIn(List<Integer> values) {\n            addCriterion(\"collect_count not in\", values, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_count between\", value1, value2, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_count not between\", value1, value2, \"collectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNull() {\n            addCriterion(\"read_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNotNull() {\n            addCriterion(\"read_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountEqualTo(Integer value) {\n            addCriterion(\"read_count =\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotEqualTo(Integer value) {\n            addCriterion(\"read_count <>\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThan(Integer value) {\n            addCriterion(\"read_count >\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count >=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThan(Integer value) {\n            addCriterion(\"read_count <\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count <=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIn(List<Integer> values) {\n            addCriterion(\"read_count in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotIn(List<Integer> values) {\n            addCriterion(\"read_count not in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count not between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountIsNull() {\n            addCriterion(\"comment_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountIsNotNull() {\n            addCriterion(\"comment_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountEqualTo(Integer value) {\n            addCriterion(\"comment_count =\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountNotEqualTo(Integer value) {\n            addCriterion(\"comment_count <>\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountGreaterThan(Integer value) {\n            addCriterion(\"comment_count >\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_count >=\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountLessThan(Integer value) {\n            addCriterion(\"comment_count <\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_count <=\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountIn(List<Integer> values) {\n            addCriterion(\"comment_count in\", values, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountNotIn(List<Integer> values) {\n            addCriterion(\"comment_count not in\", values, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_count between\", value1, value2, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_count not between\", value1, value2, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsIsNull() {\n            addCriterion(\"album_pics is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsIsNotNull() {\n            addCriterion(\"album_pics is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsEqualTo(String value) {\n            addCriterion(\"album_pics =\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotEqualTo(String value) {\n            addCriterion(\"album_pics <>\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsGreaterThan(String value) {\n            addCriterion(\"album_pics >\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"album_pics >=\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsLessThan(String value) {\n            addCriterion(\"album_pics <\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsLessThanOrEqualTo(String value) {\n            addCriterion(\"album_pics <=\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsLike(String value) {\n            addCriterion(\"album_pics like\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotLike(String value) {\n            addCriterion(\"album_pics not like\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsIn(List<String> values) {\n            addCriterion(\"album_pics in\", values, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotIn(List<String> values) {\n            addCriterion(\"album_pics not in\", values, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsBetween(String value1, String value2) {\n            addCriterion(\"album_pics between\", value1, value2, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotBetween(String value1, String value2) {\n            addCriterion(\"album_pics not between\", value1, value2, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNull() {\n            addCriterion(\"description is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNotNull() {\n            addCriterion(\"description is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionEqualTo(String value) {\n            addCriterion(\"description =\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotEqualTo(String value) {\n            addCriterion(\"description <>\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThan(String value) {\n            addCriterion(\"description >\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"description >=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThan(String value) {\n            addCriterion(\"description <\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThanOrEqualTo(String value) {\n            addCriterion(\"description <=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLike(String value) {\n            addCriterion(\"description like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotLike(String value) {\n            addCriterion(\"description not like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIn(List<String> values) {\n            addCriterion(\"description in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotIn(List<String> values) {\n            addCriterion(\"description not in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionBetween(String value1, String value2) {\n            addCriterion(\"description between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotBetween(String value1, String value2) {\n            addCriterion(\"description not between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountIsNull() {\n            addCriterion(\"forward_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountIsNotNull() {\n            addCriterion(\"forward_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountEqualTo(Integer value) {\n            addCriterion(\"forward_count =\", value, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountNotEqualTo(Integer value) {\n            addCriterion(\"forward_count <>\", value, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountGreaterThan(Integer value) {\n            addCriterion(\"forward_count >\", value, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"forward_count >=\", value, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountLessThan(Integer value) {\n            addCriterion(\"forward_count <\", value, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"forward_count <=\", value, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountIn(List<Integer> values) {\n            addCriterion(\"forward_count in\", values, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountNotIn(List<Integer> values) {\n            addCriterion(\"forward_count not in\", values, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"forward_count between\", value1, value2, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andForwardCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"forward_count not between\", value1, value2, \"forwardCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameIsNull() {\n            addCriterion(\"category_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameIsNotNull() {\n            addCriterion(\"category_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameEqualTo(String value) {\n            addCriterion(\"category_name =\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameNotEqualTo(String value) {\n            addCriterion(\"category_name <>\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameGreaterThan(String value) {\n            addCriterion(\"category_name >\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"category_name >=\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameLessThan(String value) {\n            addCriterion(\"category_name <\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameLessThanOrEqualTo(String value) {\n            addCriterion(\"category_name <=\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameLike(String value) {\n            addCriterion(\"category_name like\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameNotLike(String value) {\n            addCriterion(\"category_name not like\", value, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameIn(List<String> values) {\n            addCriterion(\"category_name in\", values, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameNotIn(List<String> values) {\n            addCriterion(\"category_name not in\", values, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameBetween(String value1, String value2) {\n            addCriterion(\"category_name between\", value1, value2, \"categoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryNameNotBetween(String value1, String value2) {\n            addCriterion(\"category_name not between\", value1, value2, \"categoryName\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectProductRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class CmsSubjectProductRelation implements Serializable {\n    private Long id;\n\n    private Long subjectId;\n\n    private Long productId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getSubjectId() {\n        return subjectId;\n    }\n\n    public void setSubjectId(Long subjectId) {\n        this.subjectId = subjectId;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", subjectId=\").append(subjectId);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectProductRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class CmsSubjectProductRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsSubjectProductRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIsNull() {\n            addCriterion(\"subject_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIsNotNull() {\n            addCriterion(\"subject_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdEqualTo(Long value) {\n            addCriterion(\"subject_id =\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotEqualTo(Long value) {\n            addCriterion(\"subject_id <>\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdGreaterThan(Long value) {\n            addCriterion(\"subject_id >\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"subject_id >=\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdLessThan(Long value) {\n            addCriterion(\"subject_id <\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"subject_id <=\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIn(List<Long> values) {\n            addCriterion(\"subject_id in\", values, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotIn(List<Long> values) {\n            addCriterion(\"subject_id not in\", values, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdBetween(Long value1, Long value2) {\n            addCriterion(\"subject_id between\", value1, value2, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"subject_id not between\", value1, value2, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsTopic.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class CmsTopic implements Serializable {\n    private Long id;\n\n    private Long categoryId;\n\n    private String name;\n\n    private Date createTime;\n\n    private Date startTime;\n\n    private Date endTime;\n\n    @ApiModelProperty(value = \"参与人数\")\n    private Integer attendCount;\n\n    @ApiModelProperty(value = \"关注人数\")\n    private Integer attentionCount;\n\n    private Integer readCount;\n\n    @ApiModelProperty(value = \"奖品名称\")\n    private String awardName;\n\n    @ApiModelProperty(value = \"参与方式\")\n    private String attendType;\n\n    @ApiModelProperty(value = \"话题内容\")\n    private String content;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCategoryId() {\n        return categoryId;\n    }\n\n    public void setCategoryId(Long categoryId) {\n        this.categoryId = categoryId;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Date getStartTime() {\n        return startTime;\n    }\n\n    public void setStartTime(Date startTime) {\n        this.startTime = startTime;\n    }\n\n    public Date getEndTime() {\n        return endTime;\n    }\n\n    public void setEndTime(Date endTime) {\n        this.endTime = endTime;\n    }\n\n    public Integer getAttendCount() {\n        return attendCount;\n    }\n\n    public void setAttendCount(Integer attendCount) {\n        this.attendCount = attendCount;\n    }\n\n    public Integer getAttentionCount() {\n        return attentionCount;\n    }\n\n    public void setAttentionCount(Integer attentionCount) {\n        this.attentionCount = attentionCount;\n    }\n\n    public Integer getReadCount() {\n        return readCount;\n    }\n\n    public void setReadCount(Integer readCount) {\n        this.readCount = readCount;\n    }\n\n    public String getAwardName() {\n        return awardName;\n    }\n\n    public void setAwardName(String awardName) {\n        this.awardName = awardName;\n    }\n\n    public String getAttendType() {\n        return attendType;\n    }\n\n    public void setAttendType(String attendType) {\n        this.attendType = attendType;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", categoryId=\").append(categoryId);\n        sb.append(\", name=\").append(name);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", startTime=\").append(startTime);\n        sb.append(\", endTime=\").append(endTime);\n        sb.append(\", attendCount=\").append(attendCount);\n        sb.append(\", attentionCount=\").append(attentionCount);\n        sb.append(\", readCount=\").append(readCount);\n        sb.append(\", awardName=\").append(awardName);\n        sb.append(\", attendType=\").append(attendType);\n        sb.append(\", content=\").append(content);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsTopicCategory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class CmsTopicCategory implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"分类图标\")\n    private String icon;\n\n    @ApiModelProperty(value = \"专题数量\")\n    private Integer subjectCount;\n\n    private Integer showStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public Integer getSubjectCount() {\n        return subjectCount;\n    }\n\n    public void setSubjectCount(Integer subjectCount) {\n        this.subjectCount = subjectCount;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", subjectCount=\").append(subjectCount);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsTopicCategoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class CmsTopicCategoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsTopicCategoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountIsNull() {\n            addCriterion(\"subject_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountIsNotNull() {\n            addCriterion(\"subject_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountEqualTo(Integer value) {\n            addCriterion(\"subject_count =\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountNotEqualTo(Integer value) {\n            addCriterion(\"subject_count <>\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountGreaterThan(Integer value) {\n            addCriterion(\"subject_count >\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"subject_count >=\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountLessThan(Integer value) {\n            addCriterion(\"subject_count <\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"subject_count <=\", value, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountIn(List<Integer> values) {\n            addCriterion(\"subject_count in\", values, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountNotIn(List<Integer> values) {\n            addCriterion(\"subject_count not in\", values, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"subject_count between\", value1, value2, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"subject_count not between\", value1, value2, \"subjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsTopicComment.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class CmsTopicComment implements Serializable {\n    private Long id;\n\n    private String memberNickName;\n\n    private Long topicId;\n\n    private String memberIcon;\n\n    private String content;\n\n    private Date createTime;\n\n    private Integer showStatus;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getMemberNickName() {\n        return memberNickName;\n    }\n\n    public void setMemberNickName(String memberNickName) {\n        this.memberNickName = memberNickName;\n    }\n\n    public Long getTopicId() {\n        return topicId;\n    }\n\n    public void setTopicId(Long topicId) {\n        this.topicId = topicId;\n    }\n\n    public String getMemberIcon() {\n        return memberIcon;\n    }\n\n    public void setMemberIcon(String memberIcon) {\n        this.memberIcon = memberIcon;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberNickName=\").append(memberNickName);\n        sb.append(\", topicId=\").append(topicId);\n        sb.append(\", memberIcon=\").append(memberIcon);\n        sb.append(\", content=\").append(content);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsTopicCommentExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class CmsTopicCommentExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsTopicCommentExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNull() {\n            addCriterion(\"member_nick_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNotNull() {\n            addCriterion(\"member_nick_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameEqualTo(String value) {\n            addCriterion(\"member_nick_name =\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotEqualTo(String value) {\n            addCriterion(\"member_nick_name <>\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThan(String value) {\n            addCriterion(\"member_nick_name >\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name >=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThan(String value) {\n            addCriterion(\"member_nick_name <\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name <=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLike(String value) {\n            addCriterion(\"member_nick_name like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotLike(String value) {\n            addCriterion(\"member_nick_name not like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIn(List<String> values) {\n            addCriterion(\"member_nick_name in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotIn(List<String> values) {\n            addCriterion(\"member_nick_name not in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name not between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdIsNull() {\n            addCriterion(\"topic_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdIsNotNull() {\n            addCriterion(\"topic_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdEqualTo(Long value) {\n            addCriterion(\"topic_id =\", value, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdNotEqualTo(Long value) {\n            addCriterion(\"topic_id <>\", value, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdGreaterThan(Long value) {\n            addCriterion(\"topic_id >\", value, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"topic_id >=\", value, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdLessThan(Long value) {\n            addCriterion(\"topic_id <\", value, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"topic_id <=\", value, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdIn(List<Long> values) {\n            addCriterion(\"topic_id in\", values, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdNotIn(List<Long> values) {\n            addCriterion(\"topic_id not in\", values, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdBetween(Long value1, Long value2) {\n            addCriterion(\"topic_id between\", value1, value2, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTopicIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"topic_id not between\", value1, value2, \"topicId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNull() {\n            addCriterion(\"member_icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNotNull() {\n            addCriterion(\"member_icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconEqualTo(String value) {\n            addCriterion(\"member_icon =\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotEqualTo(String value) {\n            addCriterion(\"member_icon <>\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThan(String value) {\n            addCriterion(\"member_icon >\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_icon >=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThan(String value) {\n            addCriterion(\"member_icon <\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThanOrEqualTo(String value) {\n            addCriterion(\"member_icon <=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLike(String value) {\n            addCriterion(\"member_icon like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotLike(String value) {\n            addCriterion(\"member_icon not like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIn(List<String> values) {\n            addCriterion(\"member_icon in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotIn(List<String> values) {\n            addCriterion(\"member_icon not in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconBetween(String value1, String value2) {\n            addCriterion(\"member_icon between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotBetween(String value1, String value2) {\n            addCriterion(\"member_icon not between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIsNull() {\n            addCriterion(\"content is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIsNotNull() {\n            addCriterion(\"content is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentEqualTo(String value) {\n            addCriterion(\"content =\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotEqualTo(String value) {\n            addCriterion(\"content <>\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentGreaterThan(String value) {\n            addCriterion(\"content >\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentGreaterThanOrEqualTo(String value) {\n            addCriterion(\"content >=\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLessThan(String value) {\n            addCriterion(\"content <\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLessThanOrEqualTo(String value) {\n            addCriterion(\"content <=\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLike(String value) {\n            addCriterion(\"content like\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotLike(String value) {\n            addCriterion(\"content not like\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIn(List<String> values) {\n            addCriterion(\"content in\", values, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotIn(List<String> values) {\n            addCriterion(\"content not in\", values, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentBetween(String value1, String value2) {\n            addCriterion(\"content between\", value1, value2, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotBetween(String value1, String value2) {\n            addCriterion(\"content not between\", value1, value2, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/CmsTopicExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class CmsTopicExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public CmsTopicExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNull() {\n            addCriterion(\"category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNotNull() {\n            addCriterion(\"category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdEqualTo(Long value) {\n            addCriterion(\"category_id =\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"category_id <>\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThan(Long value) {\n            addCriterion(\"category_id >\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"category_id >=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThan(Long value) {\n            addCriterion(\"category_id <\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"category_id <=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIn(List<Long> values) {\n            addCriterion(\"category_id in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"category_id not in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"category_id between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"category_id not between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNull() {\n            addCriterion(\"start_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNotNull() {\n            addCriterion(\"start_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeEqualTo(Date value) {\n            addCriterion(\"start_time =\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotEqualTo(Date value) {\n            addCriterion(\"start_time <>\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThan(Date value) {\n            addCriterion(\"start_time >\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"start_time >=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThan(Date value) {\n            addCriterion(\"start_time <\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"start_time <=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIn(List<Date> values) {\n            addCriterion(\"start_time in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotIn(List<Date> values) {\n            addCriterion(\"start_time not in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeBetween(Date value1, Date value2) {\n            addCriterion(\"start_time between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"start_time not between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNull() {\n            addCriterion(\"end_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNotNull() {\n            addCriterion(\"end_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeEqualTo(Date value) {\n            addCriterion(\"end_time =\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotEqualTo(Date value) {\n            addCriterion(\"end_time <>\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThan(Date value) {\n            addCriterion(\"end_time >\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"end_time >=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThan(Date value) {\n            addCriterion(\"end_time <\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"end_time <=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIn(List<Date> values) {\n            addCriterion(\"end_time in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotIn(List<Date> values) {\n            addCriterion(\"end_time not in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeBetween(Date value1, Date value2) {\n            addCriterion(\"end_time between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"end_time not between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountIsNull() {\n            addCriterion(\"attend_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountIsNotNull() {\n            addCriterion(\"attend_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountEqualTo(Integer value) {\n            addCriterion(\"attend_count =\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountNotEqualTo(Integer value) {\n            addCriterion(\"attend_count <>\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountGreaterThan(Integer value) {\n            addCriterion(\"attend_count >\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"attend_count >=\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountLessThan(Integer value) {\n            addCriterion(\"attend_count <\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"attend_count <=\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountIn(List<Integer> values) {\n            addCriterion(\"attend_count in\", values, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountNotIn(List<Integer> values) {\n            addCriterion(\"attend_count not in\", values, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"attend_count between\", value1, value2, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"attend_count not between\", value1, value2, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountIsNull() {\n            addCriterion(\"attention_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountIsNotNull() {\n            addCriterion(\"attention_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountEqualTo(Integer value) {\n            addCriterion(\"attention_count =\", value, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountNotEqualTo(Integer value) {\n            addCriterion(\"attention_count <>\", value, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountGreaterThan(Integer value) {\n            addCriterion(\"attention_count >\", value, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"attention_count >=\", value, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountLessThan(Integer value) {\n            addCriterion(\"attention_count <\", value, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"attention_count <=\", value, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountIn(List<Integer> values) {\n            addCriterion(\"attention_count in\", values, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountNotIn(List<Integer> values) {\n            addCriterion(\"attention_count not in\", values, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"attention_count between\", value1, value2, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttentionCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"attention_count not between\", value1, value2, \"attentionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNull() {\n            addCriterion(\"read_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNotNull() {\n            addCriterion(\"read_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountEqualTo(Integer value) {\n            addCriterion(\"read_count =\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotEqualTo(Integer value) {\n            addCriterion(\"read_count <>\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThan(Integer value) {\n            addCriterion(\"read_count >\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count >=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThan(Integer value) {\n            addCriterion(\"read_count <\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count <=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIn(List<Integer> values) {\n            addCriterion(\"read_count in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotIn(List<Integer> values) {\n            addCriterion(\"read_count not in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count not between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameIsNull() {\n            addCriterion(\"award_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameIsNotNull() {\n            addCriterion(\"award_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameEqualTo(String value) {\n            addCriterion(\"award_name =\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameNotEqualTo(String value) {\n            addCriterion(\"award_name <>\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameGreaterThan(String value) {\n            addCriterion(\"award_name >\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"award_name >=\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameLessThan(String value) {\n            addCriterion(\"award_name <\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameLessThanOrEqualTo(String value) {\n            addCriterion(\"award_name <=\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameLike(String value) {\n            addCriterion(\"award_name like\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameNotLike(String value) {\n            addCriterion(\"award_name not like\", value, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameIn(List<String> values) {\n            addCriterion(\"award_name in\", values, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameNotIn(List<String> values) {\n            addCriterion(\"award_name not in\", values, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameBetween(String value1, String value2) {\n            addCriterion(\"award_name between\", value1, value2, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAwardNameNotBetween(String value1, String value2) {\n            addCriterion(\"award_name not between\", value1, value2, \"awardName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeIsNull() {\n            addCriterion(\"attend_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeIsNotNull() {\n            addCriterion(\"attend_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeEqualTo(String value) {\n            addCriterion(\"attend_type =\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeNotEqualTo(String value) {\n            addCriterion(\"attend_type <>\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeGreaterThan(String value) {\n            addCriterion(\"attend_type >\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"attend_type >=\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeLessThan(String value) {\n            addCriterion(\"attend_type <\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeLessThanOrEqualTo(String value) {\n            addCriterion(\"attend_type <=\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeLike(String value) {\n            addCriterion(\"attend_type like\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeNotLike(String value) {\n            addCriterion(\"attend_type not like\", value, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeIn(List<String> values) {\n            addCriterion(\"attend_type in\", values, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeNotIn(List<String> values) {\n            addCriterion(\"attend_type not in\", values, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeBetween(String value1, String value2) {\n            addCriterion(\"attend_type between\", value1, value2, \"attendType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendTypeNotBetween(String value1, String value2) {\n            addCriterion(\"attend_type not between\", value1, value2, \"attendType\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class OmsCartItem implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private Long productSkuId;\n\n    private Long memberId;\n\n    @ApiModelProperty(value = \"购买数量\")\n    private Integer quantity;\n\n    @ApiModelProperty(value = \"添加到购物车的价格\")\n    private BigDecimal price;\n\n    @ApiModelProperty(value = \"商品主图\")\n    private String productPic;\n\n    @ApiModelProperty(value = \"商品名称\")\n    private String productName;\n\n    @ApiModelProperty(value = \"商品副标题（卖点）\")\n    private String productSubTitle;\n\n    @ApiModelProperty(value = \"商品sku条码\")\n    private String productSkuCode;\n\n    @ApiModelProperty(value = \"会员昵称\")\n    private String memberNickname;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createDate;\n\n    @ApiModelProperty(value = \"修改时间\")\n    private Date modifyDate;\n\n    @ApiModelProperty(value = \"是否删除\")\n    private Integer deleteStatus;\n\n    @ApiModelProperty(value = \"商品分类\")\n    private Long productCategoryId;\n\n    private String productBrand;\n\n    private String productSn;\n\n    @ApiModelProperty(value = \"商品销售属性:[{'key':'颜色','value':'颜色'},{'key':'容量','value':'4G'}]\")\n    private String productAttr;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public Long getProductSkuId() {\n        return productSkuId;\n    }\n\n    public void setProductSkuId(Long productSkuId) {\n        this.productSkuId = productSkuId;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Integer getQuantity() {\n        return quantity;\n    }\n\n    public void setQuantity(Integer quantity) {\n        this.quantity = quantity;\n    }\n\n    public BigDecimal getPrice() {\n        return price;\n    }\n\n    public void setPrice(BigDecimal price) {\n        this.price = price;\n    }\n\n    public String getProductPic() {\n        return productPic;\n    }\n\n    public void setProductPic(String productPic) {\n        this.productPic = productPic;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public String getProductSubTitle() {\n        return productSubTitle;\n    }\n\n    public void setProductSubTitle(String productSubTitle) {\n        this.productSubTitle = productSubTitle;\n    }\n\n    public String getProductSkuCode() {\n        return productSkuCode;\n    }\n\n    public void setProductSkuCode(String productSkuCode) {\n        this.productSkuCode = productSkuCode;\n    }\n\n    public String getMemberNickname() {\n        return memberNickname;\n    }\n\n    public void setMemberNickname(String memberNickname) {\n        this.memberNickname = memberNickname;\n    }\n\n    public Date getCreateDate() {\n        return createDate;\n    }\n\n    public void setCreateDate(Date createDate) {\n        this.createDate = createDate;\n    }\n\n    public Date getModifyDate() {\n        return modifyDate;\n    }\n\n    public void setModifyDate(Date modifyDate) {\n        this.modifyDate = modifyDate;\n    }\n\n    public Integer getDeleteStatus() {\n        return deleteStatus;\n    }\n\n    public void setDeleteStatus(Integer deleteStatus) {\n        this.deleteStatus = deleteStatus;\n    }\n\n    public Long getProductCategoryId() {\n        return productCategoryId;\n    }\n\n    public void setProductCategoryId(Long productCategoryId) {\n        this.productCategoryId = productCategoryId;\n    }\n\n    public String getProductBrand() {\n        return productBrand;\n    }\n\n    public void setProductBrand(String productBrand) {\n        this.productBrand = productBrand;\n    }\n\n    public String getProductSn() {\n        return productSn;\n    }\n\n    public void setProductSn(String productSn) {\n        this.productSn = productSn;\n    }\n\n    public String getProductAttr() {\n        return productAttr;\n    }\n\n    public void setProductAttr(String productAttr) {\n        this.productAttr = productAttr;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", productSkuId=\").append(productSkuId);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", quantity=\").append(quantity);\n        sb.append(\", price=\").append(price);\n        sb.append(\", productPic=\").append(productPic);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", productSubTitle=\").append(productSubTitle);\n        sb.append(\", productSkuCode=\").append(productSkuCode);\n        sb.append(\", memberNickname=\").append(memberNickname);\n        sb.append(\", createDate=\").append(createDate);\n        sb.append(\", modifyDate=\").append(modifyDate);\n        sb.append(\", deleteStatus=\").append(deleteStatus);\n        sb.append(\", productCategoryId=\").append(productCategoryId);\n        sb.append(\", productBrand=\").append(productBrand);\n        sb.append(\", productSn=\").append(productSn);\n        sb.append(\", productAttr=\").append(productAttr);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsCartItemExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class OmsCartItemExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsCartItemExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdIsNull() {\n            addCriterion(\"product_sku_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdIsNotNull() {\n            addCriterion(\"product_sku_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdEqualTo(Long value) {\n            addCriterion(\"product_sku_id =\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdNotEqualTo(Long value) {\n            addCriterion(\"product_sku_id <>\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdGreaterThan(Long value) {\n            addCriterion(\"product_sku_id >\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_sku_id >=\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdLessThan(Long value) {\n            addCriterion(\"product_sku_id <\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_sku_id <=\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdIn(List<Long> values) {\n            addCriterion(\"product_sku_id in\", values, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdNotIn(List<Long> values) {\n            addCriterion(\"product_sku_id not in\", values, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_sku_id between\", value1, value2, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_sku_id not between\", value1, value2, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityIsNull() {\n            addCriterion(\"quantity is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityIsNotNull() {\n            addCriterion(\"quantity is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityEqualTo(Integer value) {\n            addCriterion(\"quantity =\", value, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityNotEqualTo(Integer value) {\n            addCriterion(\"quantity <>\", value, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityGreaterThan(Integer value) {\n            addCriterion(\"quantity >\", value, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"quantity >=\", value, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityLessThan(Integer value) {\n            addCriterion(\"quantity <\", value, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityLessThanOrEqualTo(Integer value) {\n            addCriterion(\"quantity <=\", value, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityIn(List<Integer> values) {\n            addCriterion(\"quantity in\", values, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityNotIn(List<Integer> values) {\n            addCriterion(\"quantity not in\", values, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityBetween(Integer value1, Integer value2) {\n            addCriterion(\"quantity between\", value1, value2, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andQuantityNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"quantity not between\", value1, value2, \"quantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNull() {\n            addCriterion(\"price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNotNull() {\n            addCriterion(\"price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceEqualTo(BigDecimal value) {\n            addCriterion(\"price =\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"price <>\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"price >\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price >=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThan(BigDecimal value) {\n            addCriterion(\"price <\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price <=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIn(List<BigDecimal> values) {\n            addCriterion(\"price in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"price not in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price not between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIsNull() {\n            addCriterion(\"product_pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIsNotNull() {\n            addCriterion(\"product_pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicEqualTo(String value) {\n            addCriterion(\"product_pic =\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotEqualTo(String value) {\n            addCriterion(\"product_pic <>\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicGreaterThan(String value) {\n            addCriterion(\"product_pic >\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_pic >=\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLessThan(String value) {\n            addCriterion(\"product_pic <\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLessThanOrEqualTo(String value) {\n            addCriterion(\"product_pic <=\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLike(String value) {\n            addCriterion(\"product_pic like\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotLike(String value) {\n            addCriterion(\"product_pic not like\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIn(List<String> values) {\n            addCriterion(\"product_pic in\", values, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotIn(List<String> values) {\n            addCriterion(\"product_pic not in\", values, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicBetween(String value1, String value2) {\n            addCriterion(\"product_pic between\", value1, value2, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotBetween(String value1, String value2) {\n            addCriterion(\"product_pic not between\", value1, value2, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleIsNull() {\n            addCriterion(\"product_sub_title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleIsNotNull() {\n            addCriterion(\"product_sub_title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleEqualTo(String value) {\n            addCriterion(\"product_sub_title =\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleNotEqualTo(String value) {\n            addCriterion(\"product_sub_title <>\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleGreaterThan(String value) {\n            addCriterion(\"product_sub_title >\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sub_title >=\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleLessThan(String value) {\n            addCriterion(\"product_sub_title <\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sub_title <=\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleLike(String value) {\n            addCriterion(\"product_sub_title like\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleNotLike(String value) {\n            addCriterion(\"product_sub_title not like\", value, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleIn(List<String> values) {\n            addCriterion(\"product_sub_title in\", values, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleNotIn(List<String> values) {\n            addCriterion(\"product_sub_title not in\", values, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleBetween(String value1, String value2) {\n            addCriterion(\"product_sub_title between\", value1, value2, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSubTitleNotBetween(String value1, String value2) {\n            addCriterion(\"product_sub_title not between\", value1, value2, \"productSubTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeIsNull() {\n            addCriterion(\"product_sku_code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeIsNotNull() {\n            addCriterion(\"product_sku_code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeEqualTo(String value) {\n            addCriterion(\"product_sku_code =\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotEqualTo(String value) {\n            addCriterion(\"product_sku_code <>\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeGreaterThan(String value) {\n            addCriterion(\"product_sku_code >\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sku_code >=\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeLessThan(String value) {\n            addCriterion(\"product_sku_code <\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sku_code <=\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeLike(String value) {\n            addCriterion(\"product_sku_code like\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotLike(String value) {\n            addCriterion(\"product_sku_code not like\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeIn(List<String> values) {\n            addCriterion(\"product_sku_code in\", values, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotIn(List<String> values) {\n            addCriterion(\"product_sku_code not in\", values, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeBetween(String value1, String value2) {\n            addCriterion(\"product_sku_code between\", value1, value2, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotBetween(String value1, String value2) {\n            addCriterion(\"product_sku_code not between\", value1, value2, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameIsNull() {\n            addCriterion(\"member_nickname is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameIsNotNull() {\n            addCriterion(\"member_nickname is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameEqualTo(String value) {\n            addCriterion(\"member_nickname =\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotEqualTo(String value) {\n            addCriterion(\"member_nickname <>\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameGreaterThan(String value) {\n            addCriterion(\"member_nickname >\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_nickname >=\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameLessThan(String value) {\n            addCriterion(\"member_nickname <\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_nickname <=\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameLike(String value) {\n            addCriterion(\"member_nickname like\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotLike(String value) {\n            addCriterion(\"member_nickname not like\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameIn(List<String> values) {\n            addCriterion(\"member_nickname in\", values, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotIn(List<String> values) {\n            addCriterion(\"member_nickname not in\", values, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameBetween(String value1, String value2) {\n            addCriterion(\"member_nickname between\", value1, value2, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotBetween(String value1, String value2) {\n            addCriterion(\"member_nickname not between\", value1, value2, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateIsNull() {\n            addCriterion(\"create_date is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateIsNotNull() {\n            addCriterion(\"create_date is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateEqualTo(Date value) {\n            addCriterion(\"create_date =\", value, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateNotEqualTo(Date value) {\n            addCriterion(\"create_date <>\", value, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateGreaterThan(Date value) {\n            addCriterion(\"create_date >\", value, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_date >=\", value, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateLessThan(Date value) {\n            addCriterion(\"create_date <\", value, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_date <=\", value, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateIn(List<Date> values) {\n            addCriterion(\"create_date in\", values, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateNotIn(List<Date> values) {\n            addCriterion(\"create_date not in\", values, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateBetween(Date value1, Date value2) {\n            addCriterion(\"create_date between\", value1, value2, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateDateNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_date not between\", value1, value2, \"createDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateIsNull() {\n            addCriterion(\"modify_date is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateIsNotNull() {\n            addCriterion(\"modify_date is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateEqualTo(Date value) {\n            addCriterion(\"modify_date =\", value, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateNotEqualTo(Date value) {\n            addCriterion(\"modify_date <>\", value, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateGreaterThan(Date value) {\n            addCriterion(\"modify_date >\", value, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"modify_date >=\", value, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateLessThan(Date value) {\n            addCriterion(\"modify_date <\", value, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateLessThanOrEqualTo(Date value) {\n            addCriterion(\"modify_date <=\", value, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateIn(List<Date> values) {\n            addCriterion(\"modify_date in\", values, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateNotIn(List<Date> values) {\n            addCriterion(\"modify_date not in\", values, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateBetween(Date value1, Date value2) {\n            addCriterion(\"modify_date between\", value1, value2, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyDateNotBetween(Date value1, Date value2) {\n            addCriterion(\"modify_date not between\", value1, value2, \"modifyDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIsNull() {\n            addCriterion(\"delete_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIsNotNull() {\n            addCriterion(\"delete_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusEqualTo(Integer value) {\n            addCriterion(\"delete_status =\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotEqualTo(Integer value) {\n            addCriterion(\"delete_status <>\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusGreaterThan(Integer value) {\n            addCriterion(\"delete_status >\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"delete_status >=\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusLessThan(Integer value) {\n            addCriterion(\"delete_status <\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"delete_status <=\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIn(List<Integer> values) {\n            addCriterion(\"delete_status in\", values, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotIn(List<Integer> values) {\n            addCriterion(\"delete_status not in\", values, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"delete_status between\", value1, value2, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"delete_status not between\", value1, value2, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNull() {\n            addCriterion(\"product_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNotNull() {\n            addCriterion(\"product_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_category_id =\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_category_id <>\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_category_id >\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id >=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThan(Long value) {\n            addCriterion(\"product_category_id <\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id <=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_category_id in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_category_id not in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id not between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIsNull() {\n            addCriterion(\"product_brand is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIsNotNull() {\n            addCriterion(\"product_brand is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandEqualTo(String value) {\n            addCriterion(\"product_brand =\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotEqualTo(String value) {\n            addCriterion(\"product_brand <>\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandGreaterThan(String value) {\n            addCriterion(\"product_brand >\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_brand >=\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLessThan(String value) {\n            addCriterion(\"product_brand <\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLessThanOrEqualTo(String value) {\n            addCriterion(\"product_brand <=\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLike(String value) {\n            addCriterion(\"product_brand like\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotLike(String value) {\n            addCriterion(\"product_brand not like\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIn(List<String> values) {\n            addCriterion(\"product_brand in\", values, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotIn(List<String> values) {\n            addCriterion(\"product_brand not in\", values, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandBetween(String value1, String value2) {\n            addCriterion(\"product_brand between\", value1, value2, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotBetween(String value1, String value2) {\n            addCriterion(\"product_brand not between\", value1, value2, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNull() {\n            addCriterion(\"product_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNotNull() {\n            addCriterion(\"product_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnEqualTo(String value) {\n            addCriterion(\"product_sn =\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotEqualTo(String value) {\n            addCriterion(\"product_sn <>\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThan(String value) {\n            addCriterion(\"product_sn >\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sn >=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThan(String value) {\n            addCriterion(\"product_sn <\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sn <=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLike(String value) {\n            addCriterion(\"product_sn like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotLike(String value) {\n            addCriterion(\"product_sn not like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIn(List<String> values) {\n            addCriterion(\"product_sn in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotIn(List<String> values) {\n            addCriterion(\"product_sn not in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnBetween(String value1, String value2) {\n            addCriterion(\"product_sn between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotBetween(String value1, String value2) {\n            addCriterion(\"product_sn not between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIsNull() {\n            addCriterion(\"product_attr is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIsNotNull() {\n            addCriterion(\"product_attr is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrEqualTo(String value) {\n            addCriterion(\"product_attr =\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotEqualTo(String value) {\n            addCriterion(\"product_attr <>\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrGreaterThan(String value) {\n            addCriterion(\"product_attr >\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_attr >=\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLessThan(String value) {\n            addCriterion(\"product_attr <\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLessThanOrEqualTo(String value) {\n            addCriterion(\"product_attr <=\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLike(String value) {\n            addCriterion(\"product_attr like\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotLike(String value) {\n            addCriterion(\"product_attr not like\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIn(List<String> values) {\n            addCriterion(\"product_attr in\", values, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotIn(List<String> values) {\n            addCriterion(\"product_attr not in\", values, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrBetween(String value1, String value2) {\n            addCriterion(\"product_attr between\", value1, value2, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotBetween(String value1, String value2) {\n            addCriterion(\"product_attr not between\", value1, value2, \"productAttr\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsCompanyAddress.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class OmsCompanyAddress implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"地址名称\")\n    private String addressName;\n\n    @ApiModelProperty(value = \"默认发货地址：0->否；1->是\")\n    private Integer sendStatus;\n\n    @ApiModelProperty(value = \"是否默认收货地址：0->否；1->是\")\n    private Integer receiveStatus;\n\n    @ApiModelProperty(value = \"收发货人姓名\")\n    private String name;\n\n    @ApiModelProperty(value = \"收货人电话\")\n    private String phone;\n\n    @ApiModelProperty(value = \"省/直辖市\")\n    private String province;\n\n    @ApiModelProperty(value = \"市\")\n    private String city;\n\n    @ApiModelProperty(value = \"区\")\n    private String region;\n\n    @ApiModelProperty(value = \"详细地址\")\n    private String detailAddress;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getAddressName() {\n        return addressName;\n    }\n\n    public void setAddressName(String addressName) {\n        this.addressName = addressName;\n    }\n\n    public Integer getSendStatus() {\n        return sendStatus;\n    }\n\n    public void setSendStatus(Integer sendStatus) {\n        this.sendStatus = sendStatus;\n    }\n\n    public Integer getReceiveStatus() {\n        return receiveStatus;\n    }\n\n    public void setReceiveStatus(Integer receiveStatus) {\n        this.receiveStatus = receiveStatus;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getPhone() {\n        return phone;\n    }\n\n    public void setPhone(String phone) {\n        this.phone = phone;\n    }\n\n    public String getProvince() {\n        return province;\n    }\n\n    public void setProvince(String province) {\n        this.province = province;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getRegion() {\n        return region;\n    }\n\n    public void setRegion(String region) {\n        this.region = region;\n    }\n\n    public String getDetailAddress() {\n        return detailAddress;\n    }\n\n    public void setDetailAddress(String detailAddress) {\n        this.detailAddress = detailAddress;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", addressName=\").append(addressName);\n        sb.append(\", sendStatus=\").append(sendStatus);\n        sb.append(\", receiveStatus=\").append(receiveStatus);\n        sb.append(\", name=\").append(name);\n        sb.append(\", phone=\").append(phone);\n        sb.append(\", province=\").append(province);\n        sb.append(\", city=\").append(city);\n        sb.append(\", region=\").append(region);\n        sb.append(\", detailAddress=\").append(detailAddress);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsCompanyAddressExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class OmsCompanyAddressExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsCompanyAddressExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameIsNull() {\n            addCriterion(\"address_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameIsNotNull() {\n            addCriterion(\"address_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameEqualTo(String value) {\n            addCriterion(\"address_name =\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameNotEqualTo(String value) {\n            addCriterion(\"address_name <>\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameGreaterThan(String value) {\n            addCriterion(\"address_name >\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"address_name >=\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameLessThan(String value) {\n            addCriterion(\"address_name <\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameLessThanOrEqualTo(String value) {\n            addCriterion(\"address_name <=\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameLike(String value) {\n            addCriterion(\"address_name like\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameNotLike(String value) {\n            addCriterion(\"address_name not like\", value, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameIn(List<String> values) {\n            addCriterion(\"address_name in\", values, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameNotIn(List<String> values) {\n            addCriterion(\"address_name not in\", values, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameBetween(String value1, String value2) {\n            addCriterion(\"address_name between\", value1, value2, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNameNotBetween(String value1, String value2) {\n            addCriterion(\"address_name not between\", value1, value2, \"addressName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusIsNull() {\n            addCriterion(\"send_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusIsNotNull() {\n            addCriterion(\"send_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusEqualTo(Integer value) {\n            addCriterion(\"send_status =\", value, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusNotEqualTo(Integer value) {\n            addCriterion(\"send_status <>\", value, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusGreaterThan(Integer value) {\n            addCriterion(\"send_status >\", value, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"send_status >=\", value, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusLessThan(Integer value) {\n            addCriterion(\"send_status <\", value, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"send_status <=\", value, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusIn(List<Integer> values) {\n            addCriterion(\"send_status in\", values, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusNotIn(List<Integer> values) {\n            addCriterion(\"send_status not in\", values, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"send_status between\", value1, value2, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"send_status not between\", value1, value2, \"sendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusIsNull() {\n            addCriterion(\"receive_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusIsNotNull() {\n            addCriterion(\"receive_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusEqualTo(Integer value) {\n            addCriterion(\"receive_status =\", value, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusNotEqualTo(Integer value) {\n            addCriterion(\"receive_status <>\", value, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusGreaterThan(Integer value) {\n            addCriterion(\"receive_status >\", value, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"receive_status >=\", value, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusLessThan(Integer value) {\n            addCriterion(\"receive_status <\", value, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"receive_status <=\", value, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusIn(List<Integer> values) {\n            addCriterion(\"receive_status in\", values, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusNotIn(List<Integer> values) {\n            addCriterion(\"receive_status not in\", values, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"receive_status between\", value1, value2, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"receive_status not between\", value1, value2, \"receiveStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneIsNull() {\n            addCriterion(\"phone is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneIsNotNull() {\n            addCriterion(\"phone is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneEqualTo(String value) {\n            addCriterion(\"phone =\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotEqualTo(String value) {\n            addCriterion(\"phone <>\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneGreaterThan(String value) {\n            addCriterion(\"phone >\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneGreaterThanOrEqualTo(String value) {\n            addCriterion(\"phone >=\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneLessThan(String value) {\n            addCriterion(\"phone <\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneLessThanOrEqualTo(String value) {\n            addCriterion(\"phone <=\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneLike(String value) {\n            addCriterion(\"phone like\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotLike(String value) {\n            addCriterion(\"phone not like\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneIn(List<String> values) {\n            addCriterion(\"phone in\", values, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotIn(List<String> values) {\n            addCriterion(\"phone not in\", values, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneBetween(String value1, String value2) {\n            addCriterion(\"phone between\", value1, value2, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotBetween(String value1, String value2) {\n            addCriterion(\"phone not between\", value1, value2, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIsNull() {\n            addCriterion(\"province is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIsNotNull() {\n            addCriterion(\"province is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceEqualTo(String value) {\n            addCriterion(\"province =\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotEqualTo(String value) {\n            addCriterion(\"province <>\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceGreaterThan(String value) {\n            addCriterion(\"province >\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceGreaterThanOrEqualTo(String value) {\n            addCriterion(\"province >=\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLessThan(String value) {\n            addCriterion(\"province <\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLessThanOrEqualTo(String value) {\n            addCriterion(\"province <=\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLike(String value) {\n            addCriterion(\"province like\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotLike(String value) {\n            addCriterion(\"province not like\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIn(List<String> values) {\n            addCriterion(\"province in\", values, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotIn(List<String> values) {\n            addCriterion(\"province not in\", values, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceBetween(String value1, String value2) {\n            addCriterion(\"province between\", value1, value2, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotBetween(String value1, String value2) {\n            addCriterion(\"province not between\", value1, value2, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNull() {\n            addCriterion(\"city is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNotNull() {\n            addCriterion(\"city is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityEqualTo(String value) {\n            addCriterion(\"city =\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotEqualTo(String value) {\n            addCriterion(\"city <>\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThan(String value) {\n            addCriterion(\"city >\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThanOrEqualTo(String value) {\n            addCriterion(\"city >=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThan(String value) {\n            addCriterion(\"city <\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThanOrEqualTo(String value) {\n            addCriterion(\"city <=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLike(String value) {\n            addCriterion(\"city like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotLike(String value) {\n            addCriterion(\"city not like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIn(List<String> values) {\n            addCriterion(\"city in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotIn(List<String> values) {\n            addCriterion(\"city not in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityBetween(String value1, String value2) {\n            addCriterion(\"city between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotBetween(String value1, String value2) {\n            addCriterion(\"city not between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionIsNull() {\n            addCriterion(\"region is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionIsNotNull() {\n            addCriterion(\"region is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionEqualTo(String value) {\n            addCriterion(\"region =\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotEqualTo(String value) {\n            addCriterion(\"region <>\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionGreaterThan(String value) {\n            addCriterion(\"region >\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"region >=\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionLessThan(String value) {\n            addCriterion(\"region <\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionLessThanOrEqualTo(String value) {\n            addCriterion(\"region <=\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionLike(String value) {\n            addCriterion(\"region like\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotLike(String value) {\n            addCriterion(\"region not like\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionIn(List<String> values) {\n            addCriterion(\"region in\", values, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotIn(List<String> values) {\n            addCriterion(\"region not in\", values, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionBetween(String value1, String value2) {\n            addCriterion(\"region between\", value1, value2, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotBetween(String value1, String value2) {\n            addCriterion(\"region not between\", value1, value2, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressIsNull() {\n            addCriterion(\"detail_address is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressIsNotNull() {\n            addCriterion(\"detail_address is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressEqualTo(String value) {\n            addCriterion(\"detail_address =\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotEqualTo(String value) {\n            addCriterion(\"detail_address <>\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressGreaterThan(String value) {\n            addCriterion(\"detail_address >\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressGreaterThanOrEqualTo(String value) {\n            addCriterion(\"detail_address >=\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressLessThan(String value) {\n            addCriterion(\"detail_address <\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressLessThanOrEqualTo(String value) {\n            addCriterion(\"detail_address <=\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressLike(String value) {\n            addCriterion(\"detail_address like\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotLike(String value) {\n            addCriterion(\"detail_address not like\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressIn(List<String> values) {\n            addCriterion(\"detail_address in\", values, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotIn(List<String> values) {\n            addCriterion(\"detail_address not in\", values, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressBetween(String value1, String value2) {\n            addCriterion(\"detail_address between\", value1, value2, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotBetween(String value1, String value2) {\n            addCriterion(\"detail_address not between\", value1, value2, \"detailAddress\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrder.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class OmsOrder implements Serializable {\n    @ApiModelProperty(value = \"订单id\")\n    private Long id;\n\n    private Long memberId;\n\n    private Long couponId;\n\n    @ApiModelProperty(value = \"订单编号\")\n    private String orderSn;\n\n    @ApiModelProperty(value = \"提交时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"用户帐号\")\n    private String memberUsername;\n\n    @ApiModelProperty(value = \"订单总金额\")\n    private BigDecimal totalAmount;\n\n    @ApiModelProperty(value = \"应付金额（实际支付金额）\")\n    private BigDecimal payAmount;\n\n    @ApiModelProperty(value = \"运费金额\")\n    private BigDecimal freightAmount;\n\n    @ApiModelProperty(value = \"促销优化金额（促销价、满减、阶梯价）\")\n    private BigDecimal promotionAmount;\n\n    @ApiModelProperty(value = \"积分抵扣金额\")\n    private BigDecimal integrationAmount;\n\n    @ApiModelProperty(value = \"优惠券抵扣金额\")\n    private BigDecimal couponAmount;\n\n    @ApiModelProperty(value = \"管理员后台调整订单使用的折扣金额\")\n    private BigDecimal discountAmount;\n\n    @ApiModelProperty(value = \"支付方式：0->未支付；1->支付宝；2->微信\")\n    private Integer payType;\n\n    @ApiModelProperty(value = \"订单来源：0->PC订单；1->app订单\")\n    private Integer sourceType;\n\n    @ApiModelProperty(value = \"订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"订单类型：0->正常订单；1->秒杀订单\")\n    private Integer orderType;\n\n    @ApiModelProperty(value = \"物流公司(配送方式)\")\n    private String deliveryCompany;\n\n    @ApiModelProperty(value = \"物流单号\")\n    private String deliverySn;\n\n    @ApiModelProperty(value = \"自动确认时间（天）\")\n    private Integer autoConfirmDay;\n\n    @ApiModelProperty(value = \"可以获得的积分\")\n    private Integer integration;\n\n    @ApiModelProperty(value = \"可以活动的成长值\")\n    private Integer growth;\n\n    @ApiModelProperty(value = \"活动信息\")\n    private String promotionInfo;\n\n    @ApiModelProperty(value = \"发票类型：0->不开发票；1->电子发票；2->纸质发票\")\n    private Integer billType;\n\n    @ApiModelProperty(value = \"发票抬头\")\n    private String billHeader;\n\n    @ApiModelProperty(value = \"发票内容\")\n    private String billContent;\n\n    @ApiModelProperty(value = \"收票人电话\")\n    private String billReceiverPhone;\n\n    @ApiModelProperty(value = \"收票人邮箱\")\n    private String billReceiverEmail;\n\n    @ApiModelProperty(value = \"收货人姓名\")\n    private String receiverName;\n\n    @ApiModelProperty(value = \"收货人电话\")\n    private String receiverPhone;\n\n    @ApiModelProperty(value = \"收货人邮编\")\n    private String receiverPostCode;\n\n    @ApiModelProperty(value = \"省份/直辖市\")\n    private String receiverProvince;\n\n    @ApiModelProperty(value = \"城市\")\n    private String receiverCity;\n\n    @ApiModelProperty(value = \"区\")\n    private String receiverRegion;\n\n    @ApiModelProperty(value = \"详细地址\")\n    private String receiverDetailAddress;\n\n    @ApiModelProperty(value = \"订单备注\")\n    private String note;\n\n    @ApiModelProperty(value = \"确认收货状态：0->未确认；1->已确认\")\n    private Integer confirmStatus;\n\n    @ApiModelProperty(value = \"删除状态：0->未删除；1->已删除\")\n    private Integer deleteStatus;\n\n    @ApiModelProperty(value = \"下单时使用的积分\")\n    private Integer useIntegration;\n\n    @ApiModelProperty(value = \"支付时间\")\n    private Date paymentTime;\n\n    @ApiModelProperty(value = \"发货时间\")\n    private Date deliveryTime;\n\n    @ApiModelProperty(value = \"确认收货时间\")\n    private Date receiveTime;\n\n    @ApiModelProperty(value = \"评价时间\")\n    private Date commentTime;\n\n    @ApiModelProperty(value = \"修改时间\")\n    private Date modifyTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Long getCouponId() {\n        return couponId;\n    }\n\n    public void setCouponId(Long couponId) {\n        this.couponId = couponId;\n    }\n\n    public String getOrderSn() {\n        return orderSn;\n    }\n\n    public void setOrderSn(String orderSn) {\n        this.orderSn = orderSn;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getMemberUsername() {\n        return memberUsername;\n    }\n\n    public void setMemberUsername(String memberUsername) {\n        this.memberUsername = memberUsername;\n    }\n\n    public BigDecimal getTotalAmount() {\n        return totalAmount;\n    }\n\n    public void setTotalAmount(BigDecimal totalAmount) {\n        this.totalAmount = totalAmount;\n    }\n\n    public BigDecimal getPayAmount() {\n        return payAmount;\n    }\n\n    public void setPayAmount(BigDecimal payAmount) {\n        this.payAmount = payAmount;\n    }\n\n    public BigDecimal getFreightAmount() {\n        return freightAmount;\n    }\n\n    public void setFreightAmount(BigDecimal freightAmount) {\n        this.freightAmount = freightAmount;\n    }\n\n    public BigDecimal getPromotionAmount() {\n        return promotionAmount;\n    }\n\n    public void setPromotionAmount(BigDecimal promotionAmount) {\n        this.promotionAmount = promotionAmount;\n    }\n\n    public BigDecimal getIntegrationAmount() {\n        return integrationAmount;\n    }\n\n    public void setIntegrationAmount(BigDecimal integrationAmount) {\n        this.integrationAmount = integrationAmount;\n    }\n\n    public BigDecimal getCouponAmount() {\n        return couponAmount;\n    }\n\n    public void setCouponAmount(BigDecimal couponAmount) {\n        this.couponAmount = couponAmount;\n    }\n\n    public BigDecimal getDiscountAmount() {\n        return discountAmount;\n    }\n\n    public void setDiscountAmount(BigDecimal discountAmount) {\n        this.discountAmount = discountAmount;\n    }\n\n    public Integer getPayType() {\n        return payType;\n    }\n\n    public void setPayType(Integer payType) {\n        this.payType = payType;\n    }\n\n    public Integer getSourceType() {\n        return sourceType;\n    }\n\n    public void setSourceType(Integer sourceType) {\n        this.sourceType = sourceType;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Integer getOrderType() {\n        return orderType;\n    }\n\n    public void setOrderType(Integer orderType) {\n        this.orderType = orderType;\n    }\n\n    public String getDeliveryCompany() {\n        return deliveryCompany;\n    }\n\n    public void setDeliveryCompany(String deliveryCompany) {\n        this.deliveryCompany = deliveryCompany;\n    }\n\n    public String getDeliverySn() {\n        return deliverySn;\n    }\n\n    public void setDeliverySn(String deliverySn) {\n        this.deliverySn = deliverySn;\n    }\n\n    public Integer getAutoConfirmDay() {\n        return autoConfirmDay;\n    }\n\n    public void setAutoConfirmDay(Integer autoConfirmDay) {\n        this.autoConfirmDay = autoConfirmDay;\n    }\n\n    public Integer getIntegration() {\n        return integration;\n    }\n\n    public void setIntegration(Integer integration) {\n        this.integration = integration;\n    }\n\n    public Integer getGrowth() {\n        return growth;\n    }\n\n    public void setGrowth(Integer growth) {\n        this.growth = growth;\n    }\n\n    public String getPromotionInfo() {\n        return promotionInfo;\n    }\n\n    public void setPromotionInfo(String promotionInfo) {\n        this.promotionInfo = promotionInfo;\n    }\n\n    public Integer getBillType() {\n        return billType;\n    }\n\n    public void setBillType(Integer billType) {\n        this.billType = billType;\n    }\n\n    public String getBillHeader() {\n        return billHeader;\n    }\n\n    public void setBillHeader(String billHeader) {\n        this.billHeader = billHeader;\n    }\n\n    public String getBillContent() {\n        return billContent;\n    }\n\n    public void setBillContent(String billContent) {\n        this.billContent = billContent;\n    }\n\n    public String getBillReceiverPhone() {\n        return billReceiverPhone;\n    }\n\n    public void setBillReceiverPhone(String billReceiverPhone) {\n        this.billReceiverPhone = billReceiverPhone;\n    }\n\n    public String getBillReceiverEmail() {\n        return billReceiverEmail;\n    }\n\n    public void setBillReceiverEmail(String billReceiverEmail) {\n        this.billReceiverEmail = billReceiverEmail;\n    }\n\n    public String getReceiverName() {\n        return receiverName;\n    }\n\n    public void setReceiverName(String receiverName) {\n        this.receiverName = receiverName;\n    }\n\n    public String getReceiverPhone() {\n        return receiverPhone;\n    }\n\n    public void setReceiverPhone(String receiverPhone) {\n        this.receiverPhone = receiverPhone;\n    }\n\n    public String getReceiverPostCode() {\n        return receiverPostCode;\n    }\n\n    public void setReceiverPostCode(String receiverPostCode) {\n        this.receiverPostCode = receiverPostCode;\n    }\n\n    public String getReceiverProvince() {\n        return receiverProvince;\n    }\n\n    public void setReceiverProvince(String receiverProvince) {\n        this.receiverProvince = receiverProvince;\n    }\n\n    public String getReceiverCity() {\n        return receiverCity;\n    }\n\n    public void setReceiverCity(String receiverCity) {\n        this.receiverCity = receiverCity;\n    }\n\n    public String getReceiverRegion() {\n        return receiverRegion;\n    }\n\n    public void setReceiverRegion(String receiverRegion) {\n        this.receiverRegion = receiverRegion;\n    }\n\n    public String getReceiverDetailAddress() {\n        return receiverDetailAddress;\n    }\n\n    public void setReceiverDetailAddress(String receiverDetailAddress) {\n        this.receiverDetailAddress = receiverDetailAddress;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    public Integer getConfirmStatus() {\n        return confirmStatus;\n    }\n\n    public void setConfirmStatus(Integer confirmStatus) {\n        this.confirmStatus = confirmStatus;\n    }\n\n    public Integer getDeleteStatus() {\n        return deleteStatus;\n    }\n\n    public void setDeleteStatus(Integer deleteStatus) {\n        this.deleteStatus = deleteStatus;\n    }\n\n    public Integer getUseIntegration() {\n        return useIntegration;\n    }\n\n    public void setUseIntegration(Integer useIntegration) {\n        this.useIntegration = useIntegration;\n    }\n\n    public Date getPaymentTime() {\n        return paymentTime;\n    }\n\n    public void setPaymentTime(Date paymentTime) {\n        this.paymentTime = paymentTime;\n    }\n\n    public Date getDeliveryTime() {\n        return deliveryTime;\n    }\n\n    public void setDeliveryTime(Date deliveryTime) {\n        this.deliveryTime = deliveryTime;\n    }\n\n    public Date getReceiveTime() {\n        return receiveTime;\n    }\n\n    public void setReceiveTime(Date receiveTime) {\n        this.receiveTime = receiveTime;\n    }\n\n    public Date getCommentTime() {\n        return commentTime;\n    }\n\n    public void setCommentTime(Date commentTime) {\n        this.commentTime = commentTime;\n    }\n\n    public Date getModifyTime() {\n        return modifyTime;\n    }\n\n    public void setModifyTime(Date modifyTime) {\n        this.modifyTime = modifyTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", couponId=\").append(couponId);\n        sb.append(\", orderSn=\").append(orderSn);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", memberUsername=\").append(memberUsername);\n        sb.append(\", totalAmount=\").append(totalAmount);\n        sb.append(\", payAmount=\").append(payAmount);\n        sb.append(\", freightAmount=\").append(freightAmount);\n        sb.append(\", promotionAmount=\").append(promotionAmount);\n        sb.append(\", integrationAmount=\").append(integrationAmount);\n        sb.append(\", couponAmount=\").append(couponAmount);\n        sb.append(\", discountAmount=\").append(discountAmount);\n        sb.append(\", payType=\").append(payType);\n        sb.append(\", sourceType=\").append(sourceType);\n        sb.append(\", status=\").append(status);\n        sb.append(\", orderType=\").append(orderType);\n        sb.append(\", deliveryCompany=\").append(deliveryCompany);\n        sb.append(\", deliverySn=\").append(deliverySn);\n        sb.append(\", autoConfirmDay=\").append(autoConfirmDay);\n        sb.append(\", integration=\").append(integration);\n        sb.append(\", growth=\").append(growth);\n        sb.append(\", promotionInfo=\").append(promotionInfo);\n        sb.append(\", billType=\").append(billType);\n        sb.append(\", billHeader=\").append(billHeader);\n        sb.append(\", billContent=\").append(billContent);\n        sb.append(\", billReceiverPhone=\").append(billReceiverPhone);\n        sb.append(\", billReceiverEmail=\").append(billReceiverEmail);\n        sb.append(\", receiverName=\").append(receiverName);\n        sb.append(\", receiverPhone=\").append(receiverPhone);\n        sb.append(\", receiverPostCode=\").append(receiverPostCode);\n        sb.append(\", receiverProvince=\").append(receiverProvince);\n        sb.append(\", receiverCity=\").append(receiverCity);\n        sb.append(\", receiverRegion=\").append(receiverRegion);\n        sb.append(\", receiverDetailAddress=\").append(receiverDetailAddress);\n        sb.append(\", note=\").append(note);\n        sb.append(\", confirmStatus=\").append(confirmStatus);\n        sb.append(\", deleteStatus=\").append(deleteStatus);\n        sb.append(\", useIntegration=\").append(useIntegration);\n        sb.append(\", paymentTime=\").append(paymentTime);\n        sb.append(\", deliveryTime=\").append(deliveryTime);\n        sb.append(\", receiveTime=\").append(receiveTime);\n        sb.append(\", commentTime=\").append(commentTime);\n        sb.append(\", modifyTime=\").append(modifyTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class OmsOrderExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsOrderExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNull() {\n            addCriterion(\"coupon_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNotNull() {\n            addCriterion(\"coupon_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdEqualTo(Long value) {\n            addCriterion(\"coupon_id =\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotEqualTo(Long value) {\n            addCriterion(\"coupon_id <>\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThan(Long value) {\n            addCriterion(\"coupon_id >\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id >=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThan(Long value) {\n            addCriterion(\"coupon_id <\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id <=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIn(List<Long> values) {\n            addCriterion(\"coupon_id in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotIn(List<Long> values) {\n            addCriterion(\"coupon_id not in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id not between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNull() {\n            addCriterion(\"order_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNotNull() {\n            addCriterion(\"order_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnEqualTo(String value) {\n            addCriterion(\"order_sn =\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotEqualTo(String value) {\n            addCriterion(\"order_sn <>\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThan(String value) {\n            addCriterion(\"order_sn >\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"order_sn >=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThan(String value) {\n            addCriterion(\"order_sn <\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThanOrEqualTo(String value) {\n            addCriterion(\"order_sn <=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLike(String value) {\n            addCriterion(\"order_sn like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotLike(String value) {\n            addCriterion(\"order_sn not like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIn(List<String> values) {\n            addCriterion(\"order_sn in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotIn(List<String> values) {\n            addCriterion(\"order_sn not in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnBetween(String value1, String value2) {\n            addCriterion(\"order_sn between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotBetween(String value1, String value2) {\n            addCriterion(\"order_sn not between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameIsNull() {\n            addCriterion(\"member_username is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameIsNotNull() {\n            addCriterion(\"member_username is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameEqualTo(String value) {\n            addCriterion(\"member_username =\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotEqualTo(String value) {\n            addCriterion(\"member_username <>\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameGreaterThan(String value) {\n            addCriterion(\"member_username >\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_username >=\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameLessThan(String value) {\n            addCriterion(\"member_username <\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_username <=\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameLike(String value) {\n            addCriterion(\"member_username like\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotLike(String value) {\n            addCriterion(\"member_username not like\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameIn(List<String> values) {\n            addCriterion(\"member_username in\", values, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotIn(List<String> values) {\n            addCriterion(\"member_username not in\", values, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameBetween(String value1, String value2) {\n            addCriterion(\"member_username between\", value1, value2, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotBetween(String value1, String value2) {\n            addCriterion(\"member_username not between\", value1, value2, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountIsNull() {\n            addCriterion(\"total_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountIsNotNull() {\n            addCriterion(\"total_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountEqualTo(BigDecimal value) {\n            addCriterion(\"total_amount =\", value, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"total_amount <>\", value, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"total_amount >\", value, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"total_amount >=\", value, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountLessThan(BigDecimal value) {\n            addCriterion(\"total_amount <\", value, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"total_amount <=\", value, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountIn(List<BigDecimal> values) {\n            addCriterion(\"total_amount in\", values, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"total_amount not in\", values, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"total_amount between\", value1, value2, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTotalAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"total_amount not between\", value1, value2, \"totalAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountIsNull() {\n            addCriterion(\"pay_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountIsNotNull() {\n            addCriterion(\"pay_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountEqualTo(BigDecimal value) {\n            addCriterion(\"pay_amount =\", value, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"pay_amount <>\", value, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"pay_amount >\", value, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"pay_amount >=\", value, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountLessThan(BigDecimal value) {\n            addCriterion(\"pay_amount <\", value, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"pay_amount <=\", value, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountIn(List<BigDecimal> values) {\n            addCriterion(\"pay_amount in\", values, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"pay_amount not in\", values, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"pay_amount between\", value1, value2, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"pay_amount not between\", value1, value2, \"payAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountIsNull() {\n            addCriterion(\"freight_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountIsNotNull() {\n            addCriterion(\"freight_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountEqualTo(BigDecimal value) {\n            addCriterion(\"freight_amount =\", value, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"freight_amount <>\", value, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"freight_amount >\", value, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"freight_amount >=\", value, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountLessThan(BigDecimal value) {\n            addCriterion(\"freight_amount <\", value, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"freight_amount <=\", value, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountIn(List<BigDecimal> values) {\n            addCriterion(\"freight_amount in\", values, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"freight_amount not in\", values, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"freight_amount between\", value1, value2, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreightAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"freight_amount not between\", value1, value2, \"freightAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountIsNull() {\n            addCriterion(\"promotion_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountIsNotNull() {\n            addCriterion(\"promotion_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount =\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount <>\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"promotion_amount >\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount >=\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountLessThan(BigDecimal value) {\n            addCriterion(\"promotion_amount <\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount <=\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_amount in\", values, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_amount not in\", values, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_amount between\", value1, value2, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_amount not between\", value1, value2, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountIsNull() {\n            addCriterion(\"integration_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountIsNotNull() {\n            addCriterion(\"integration_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount =\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount <>\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"integration_amount >\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount >=\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountLessThan(BigDecimal value) {\n            addCriterion(\"integration_amount <\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount <=\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountIn(List<BigDecimal> values) {\n            addCriterion(\"integration_amount in\", values, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"integration_amount not in\", values, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"integration_amount between\", value1, value2, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"integration_amount not between\", value1, value2, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountIsNull() {\n            addCriterion(\"coupon_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountIsNotNull() {\n            addCriterion(\"coupon_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount =\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount <>\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"coupon_amount >\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount >=\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountLessThan(BigDecimal value) {\n            addCriterion(\"coupon_amount <\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount <=\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountIn(List<BigDecimal> values) {\n            addCriterion(\"coupon_amount in\", values, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"coupon_amount not in\", values, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"coupon_amount between\", value1, value2, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"coupon_amount not between\", value1, value2, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountIsNull() {\n            addCriterion(\"discount_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountIsNotNull() {\n            addCriterion(\"discount_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountEqualTo(BigDecimal value) {\n            addCriterion(\"discount_amount =\", value, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"discount_amount <>\", value, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"discount_amount >\", value, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"discount_amount >=\", value, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountLessThan(BigDecimal value) {\n            addCriterion(\"discount_amount <\", value, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"discount_amount <=\", value, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountIn(List<BigDecimal> values) {\n            addCriterion(\"discount_amount in\", values, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"discount_amount not in\", values, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"discount_amount between\", value1, value2, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"discount_amount not between\", value1, value2, \"discountAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeIsNull() {\n            addCriterion(\"pay_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeIsNotNull() {\n            addCriterion(\"pay_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeEqualTo(Integer value) {\n            addCriterion(\"pay_type =\", value, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeNotEqualTo(Integer value) {\n            addCriterion(\"pay_type <>\", value, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeGreaterThan(Integer value) {\n            addCriterion(\"pay_type >\", value, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"pay_type >=\", value, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeLessThan(Integer value) {\n            addCriterion(\"pay_type <\", value, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"pay_type <=\", value, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeIn(List<Integer> values) {\n            addCriterion(\"pay_type in\", values, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeNotIn(List<Integer> values) {\n            addCriterion(\"pay_type not in\", values, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"pay_type between\", value1, value2, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPayTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"pay_type not between\", value1, value2, \"payType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNull() {\n            addCriterion(\"source_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNotNull() {\n            addCriterion(\"source_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeEqualTo(Integer value) {\n            addCriterion(\"source_type =\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotEqualTo(Integer value) {\n            addCriterion(\"source_type <>\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThan(Integer value) {\n            addCriterion(\"source_type >\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type >=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThan(Integer value) {\n            addCriterion(\"source_type <\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type <=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIn(List<Integer> values) {\n            addCriterion(\"source_type in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotIn(List<Integer> values) {\n            addCriterion(\"source_type not in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type not between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeIsNull() {\n            addCriterion(\"order_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeIsNotNull() {\n            addCriterion(\"order_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeEqualTo(Integer value) {\n            addCriterion(\"order_type =\", value, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeNotEqualTo(Integer value) {\n            addCriterion(\"order_type <>\", value, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeGreaterThan(Integer value) {\n            addCriterion(\"order_type >\", value, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"order_type >=\", value, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeLessThan(Integer value) {\n            addCriterion(\"order_type <\", value, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"order_type <=\", value, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeIn(List<Integer> values) {\n            addCriterion(\"order_type in\", values, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeNotIn(List<Integer> values) {\n            addCriterion(\"order_type not in\", values, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_type between\", value1, value2, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_type not between\", value1, value2, \"orderType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyIsNull() {\n            addCriterion(\"delivery_company is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyIsNotNull() {\n            addCriterion(\"delivery_company is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyEqualTo(String value) {\n            addCriterion(\"delivery_company =\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyNotEqualTo(String value) {\n            addCriterion(\"delivery_company <>\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyGreaterThan(String value) {\n            addCriterion(\"delivery_company >\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyGreaterThanOrEqualTo(String value) {\n            addCriterion(\"delivery_company >=\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyLessThan(String value) {\n            addCriterion(\"delivery_company <\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyLessThanOrEqualTo(String value) {\n            addCriterion(\"delivery_company <=\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyLike(String value) {\n            addCriterion(\"delivery_company like\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyNotLike(String value) {\n            addCriterion(\"delivery_company not like\", value, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyIn(List<String> values) {\n            addCriterion(\"delivery_company in\", values, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyNotIn(List<String> values) {\n            addCriterion(\"delivery_company not in\", values, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyBetween(String value1, String value2) {\n            addCriterion(\"delivery_company between\", value1, value2, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryCompanyNotBetween(String value1, String value2) {\n            addCriterion(\"delivery_company not between\", value1, value2, \"deliveryCompany\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnIsNull() {\n            addCriterion(\"delivery_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnIsNotNull() {\n            addCriterion(\"delivery_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnEqualTo(String value) {\n            addCriterion(\"delivery_sn =\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnNotEqualTo(String value) {\n            addCriterion(\"delivery_sn <>\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnGreaterThan(String value) {\n            addCriterion(\"delivery_sn >\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"delivery_sn >=\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnLessThan(String value) {\n            addCriterion(\"delivery_sn <\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnLessThanOrEqualTo(String value) {\n            addCriterion(\"delivery_sn <=\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnLike(String value) {\n            addCriterion(\"delivery_sn like\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnNotLike(String value) {\n            addCriterion(\"delivery_sn not like\", value, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnIn(List<String> values) {\n            addCriterion(\"delivery_sn in\", values, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnNotIn(List<String> values) {\n            addCriterion(\"delivery_sn not in\", values, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnBetween(String value1, String value2) {\n            addCriterion(\"delivery_sn between\", value1, value2, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliverySnNotBetween(String value1, String value2) {\n            addCriterion(\"delivery_sn not between\", value1, value2, \"deliverySn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayIsNull() {\n            addCriterion(\"auto_confirm_day is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayIsNotNull() {\n            addCriterion(\"auto_confirm_day is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayEqualTo(Integer value) {\n            addCriterion(\"auto_confirm_day =\", value, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayNotEqualTo(Integer value) {\n            addCriterion(\"auto_confirm_day <>\", value, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayGreaterThan(Integer value) {\n            addCriterion(\"auto_confirm_day >\", value, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"auto_confirm_day >=\", value, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayLessThan(Integer value) {\n            addCriterion(\"auto_confirm_day <\", value, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayLessThanOrEqualTo(Integer value) {\n            addCriterion(\"auto_confirm_day <=\", value, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayIn(List<Integer> values) {\n            addCriterion(\"auto_confirm_day in\", values, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayNotIn(List<Integer> values) {\n            addCriterion(\"auto_confirm_day not in\", values, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayBetween(Integer value1, Integer value2) {\n            addCriterion(\"auto_confirm_day between\", value1, value2, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAutoConfirmDayNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"auto_confirm_day not between\", value1, value2, \"autoConfirmDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationIsNull() {\n            addCriterion(\"integration is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationIsNotNull() {\n            addCriterion(\"integration is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationEqualTo(Integer value) {\n            addCriterion(\"integration =\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationNotEqualTo(Integer value) {\n            addCriterion(\"integration <>\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationGreaterThan(Integer value) {\n            addCriterion(\"integration >\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"integration >=\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationLessThan(Integer value) {\n            addCriterion(\"integration <\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationLessThanOrEqualTo(Integer value) {\n            addCriterion(\"integration <=\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationIn(List<Integer> values) {\n            addCriterion(\"integration in\", values, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationNotIn(List<Integer> values) {\n            addCriterion(\"integration not in\", values, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationBetween(Integer value1, Integer value2) {\n            addCriterion(\"integration between\", value1, value2, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"integration not between\", value1, value2, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIsNull() {\n            addCriterion(\"growth is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIsNotNull() {\n            addCriterion(\"growth is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthEqualTo(Integer value) {\n            addCriterion(\"growth =\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotEqualTo(Integer value) {\n            addCriterion(\"growth <>\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthGreaterThan(Integer value) {\n            addCriterion(\"growth >\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"growth >=\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthLessThan(Integer value) {\n            addCriterion(\"growth <\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthLessThanOrEqualTo(Integer value) {\n            addCriterion(\"growth <=\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIn(List<Integer> values) {\n            addCriterion(\"growth in\", values, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotIn(List<Integer> values) {\n            addCriterion(\"growth not in\", values, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth between\", value1, value2, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth not between\", value1, value2, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoIsNull() {\n            addCriterion(\"promotion_info is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoIsNotNull() {\n            addCriterion(\"promotion_info is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoEqualTo(String value) {\n            addCriterion(\"promotion_info =\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoNotEqualTo(String value) {\n            addCriterion(\"promotion_info <>\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoGreaterThan(String value) {\n            addCriterion(\"promotion_info >\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoGreaterThanOrEqualTo(String value) {\n            addCriterion(\"promotion_info >=\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoLessThan(String value) {\n            addCriterion(\"promotion_info <\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoLessThanOrEqualTo(String value) {\n            addCriterion(\"promotion_info <=\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoLike(String value) {\n            addCriterion(\"promotion_info like\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoNotLike(String value) {\n            addCriterion(\"promotion_info not like\", value, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoIn(List<String> values) {\n            addCriterion(\"promotion_info in\", values, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoNotIn(List<String> values) {\n            addCriterion(\"promotion_info not in\", values, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoBetween(String value1, String value2) {\n            addCriterion(\"promotion_info between\", value1, value2, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionInfoNotBetween(String value1, String value2) {\n            addCriterion(\"promotion_info not between\", value1, value2, \"promotionInfo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeIsNull() {\n            addCriterion(\"bill_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeIsNotNull() {\n            addCriterion(\"bill_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeEqualTo(Integer value) {\n            addCriterion(\"bill_type =\", value, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeNotEqualTo(Integer value) {\n            addCriterion(\"bill_type <>\", value, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeGreaterThan(Integer value) {\n            addCriterion(\"bill_type >\", value, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"bill_type >=\", value, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeLessThan(Integer value) {\n            addCriterion(\"bill_type <\", value, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"bill_type <=\", value, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeIn(List<Integer> values) {\n            addCriterion(\"bill_type in\", values, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeNotIn(List<Integer> values) {\n            addCriterion(\"bill_type not in\", values, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"bill_type between\", value1, value2, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"bill_type not between\", value1, value2, \"billType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderIsNull() {\n            addCriterion(\"bill_header is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderIsNotNull() {\n            addCriterion(\"bill_header is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderEqualTo(String value) {\n            addCriterion(\"bill_header =\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderNotEqualTo(String value) {\n            addCriterion(\"bill_header <>\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderGreaterThan(String value) {\n            addCriterion(\"bill_header >\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderGreaterThanOrEqualTo(String value) {\n            addCriterion(\"bill_header >=\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderLessThan(String value) {\n            addCriterion(\"bill_header <\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderLessThanOrEqualTo(String value) {\n            addCriterion(\"bill_header <=\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderLike(String value) {\n            addCriterion(\"bill_header like\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderNotLike(String value) {\n            addCriterion(\"bill_header not like\", value, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderIn(List<String> values) {\n            addCriterion(\"bill_header in\", values, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderNotIn(List<String> values) {\n            addCriterion(\"bill_header not in\", values, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderBetween(String value1, String value2) {\n            addCriterion(\"bill_header between\", value1, value2, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillHeaderNotBetween(String value1, String value2) {\n            addCriterion(\"bill_header not between\", value1, value2, \"billHeader\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentIsNull() {\n            addCriterion(\"bill_content is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentIsNotNull() {\n            addCriterion(\"bill_content is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentEqualTo(String value) {\n            addCriterion(\"bill_content =\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentNotEqualTo(String value) {\n            addCriterion(\"bill_content <>\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentGreaterThan(String value) {\n            addCriterion(\"bill_content >\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentGreaterThanOrEqualTo(String value) {\n            addCriterion(\"bill_content >=\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentLessThan(String value) {\n            addCriterion(\"bill_content <\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentLessThanOrEqualTo(String value) {\n            addCriterion(\"bill_content <=\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentLike(String value) {\n            addCriterion(\"bill_content like\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentNotLike(String value) {\n            addCriterion(\"bill_content not like\", value, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentIn(List<String> values) {\n            addCriterion(\"bill_content in\", values, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentNotIn(List<String> values) {\n            addCriterion(\"bill_content not in\", values, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentBetween(String value1, String value2) {\n            addCriterion(\"bill_content between\", value1, value2, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillContentNotBetween(String value1, String value2) {\n            addCriterion(\"bill_content not between\", value1, value2, \"billContent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneIsNull() {\n            addCriterion(\"bill_receiver_phone is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneIsNotNull() {\n            addCriterion(\"bill_receiver_phone is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneEqualTo(String value) {\n            addCriterion(\"bill_receiver_phone =\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneNotEqualTo(String value) {\n            addCriterion(\"bill_receiver_phone <>\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneGreaterThan(String value) {\n            addCriterion(\"bill_receiver_phone >\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneGreaterThanOrEqualTo(String value) {\n            addCriterion(\"bill_receiver_phone >=\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneLessThan(String value) {\n            addCriterion(\"bill_receiver_phone <\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneLessThanOrEqualTo(String value) {\n            addCriterion(\"bill_receiver_phone <=\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneLike(String value) {\n            addCriterion(\"bill_receiver_phone like\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneNotLike(String value) {\n            addCriterion(\"bill_receiver_phone not like\", value, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneIn(List<String> values) {\n            addCriterion(\"bill_receiver_phone in\", values, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneNotIn(List<String> values) {\n            addCriterion(\"bill_receiver_phone not in\", values, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneBetween(String value1, String value2) {\n            addCriterion(\"bill_receiver_phone between\", value1, value2, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverPhoneNotBetween(String value1, String value2) {\n            addCriterion(\"bill_receiver_phone not between\", value1, value2, \"billReceiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailIsNull() {\n            addCriterion(\"bill_receiver_email is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailIsNotNull() {\n            addCriterion(\"bill_receiver_email is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailEqualTo(String value) {\n            addCriterion(\"bill_receiver_email =\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailNotEqualTo(String value) {\n            addCriterion(\"bill_receiver_email <>\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailGreaterThan(String value) {\n            addCriterion(\"bill_receiver_email >\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailGreaterThanOrEqualTo(String value) {\n            addCriterion(\"bill_receiver_email >=\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailLessThan(String value) {\n            addCriterion(\"bill_receiver_email <\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailLessThanOrEqualTo(String value) {\n            addCriterion(\"bill_receiver_email <=\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailLike(String value) {\n            addCriterion(\"bill_receiver_email like\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailNotLike(String value) {\n            addCriterion(\"bill_receiver_email not like\", value, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailIn(List<String> values) {\n            addCriterion(\"bill_receiver_email in\", values, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailNotIn(List<String> values) {\n            addCriterion(\"bill_receiver_email not in\", values, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailBetween(String value1, String value2) {\n            addCriterion(\"bill_receiver_email between\", value1, value2, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBillReceiverEmailNotBetween(String value1, String value2) {\n            addCriterion(\"bill_receiver_email not between\", value1, value2, \"billReceiverEmail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameIsNull() {\n            addCriterion(\"receiver_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameIsNotNull() {\n            addCriterion(\"receiver_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameEqualTo(String value) {\n            addCriterion(\"receiver_name =\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameNotEqualTo(String value) {\n            addCriterion(\"receiver_name <>\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameGreaterThan(String value) {\n            addCriterion(\"receiver_name >\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_name >=\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameLessThan(String value) {\n            addCriterion(\"receiver_name <\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_name <=\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameLike(String value) {\n            addCriterion(\"receiver_name like\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameNotLike(String value) {\n            addCriterion(\"receiver_name not like\", value, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameIn(List<String> values) {\n            addCriterion(\"receiver_name in\", values, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameNotIn(List<String> values) {\n            addCriterion(\"receiver_name not in\", values, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameBetween(String value1, String value2) {\n            addCriterion(\"receiver_name between\", value1, value2, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverNameNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_name not between\", value1, value2, \"receiverName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneIsNull() {\n            addCriterion(\"receiver_phone is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneIsNotNull() {\n            addCriterion(\"receiver_phone is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneEqualTo(String value) {\n            addCriterion(\"receiver_phone =\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneNotEqualTo(String value) {\n            addCriterion(\"receiver_phone <>\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneGreaterThan(String value) {\n            addCriterion(\"receiver_phone >\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_phone >=\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneLessThan(String value) {\n            addCriterion(\"receiver_phone <\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_phone <=\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneLike(String value) {\n            addCriterion(\"receiver_phone like\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneNotLike(String value) {\n            addCriterion(\"receiver_phone not like\", value, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneIn(List<String> values) {\n            addCriterion(\"receiver_phone in\", values, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneNotIn(List<String> values) {\n            addCriterion(\"receiver_phone not in\", values, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneBetween(String value1, String value2) {\n            addCriterion(\"receiver_phone between\", value1, value2, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPhoneNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_phone not between\", value1, value2, \"receiverPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeIsNull() {\n            addCriterion(\"receiver_post_code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeIsNotNull() {\n            addCriterion(\"receiver_post_code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeEqualTo(String value) {\n            addCriterion(\"receiver_post_code =\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeNotEqualTo(String value) {\n            addCriterion(\"receiver_post_code <>\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeGreaterThan(String value) {\n            addCriterion(\"receiver_post_code >\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_post_code >=\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeLessThan(String value) {\n            addCriterion(\"receiver_post_code <\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_post_code <=\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeLike(String value) {\n            addCriterion(\"receiver_post_code like\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeNotLike(String value) {\n            addCriterion(\"receiver_post_code not like\", value, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeIn(List<String> values) {\n            addCriterion(\"receiver_post_code in\", values, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeNotIn(List<String> values) {\n            addCriterion(\"receiver_post_code not in\", values, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeBetween(String value1, String value2) {\n            addCriterion(\"receiver_post_code between\", value1, value2, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverPostCodeNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_post_code not between\", value1, value2, \"receiverPostCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceIsNull() {\n            addCriterion(\"receiver_province is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceIsNotNull() {\n            addCriterion(\"receiver_province is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceEqualTo(String value) {\n            addCriterion(\"receiver_province =\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceNotEqualTo(String value) {\n            addCriterion(\"receiver_province <>\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceGreaterThan(String value) {\n            addCriterion(\"receiver_province >\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_province >=\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceLessThan(String value) {\n            addCriterion(\"receiver_province <\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_province <=\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceLike(String value) {\n            addCriterion(\"receiver_province like\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceNotLike(String value) {\n            addCriterion(\"receiver_province not like\", value, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceIn(List<String> values) {\n            addCriterion(\"receiver_province in\", values, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceNotIn(List<String> values) {\n            addCriterion(\"receiver_province not in\", values, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceBetween(String value1, String value2) {\n            addCriterion(\"receiver_province between\", value1, value2, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverProvinceNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_province not between\", value1, value2, \"receiverProvince\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityIsNull() {\n            addCriterion(\"receiver_city is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityIsNotNull() {\n            addCriterion(\"receiver_city is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityEqualTo(String value) {\n            addCriterion(\"receiver_city =\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityNotEqualTo(String value) {\n            addCriterion(\"receiver_city <>\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityGreaterThan(String value) {\n            addCriterion(\"receiver_city >\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_city >=\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityLessThan(String value) {\n            addCriterion(\"receiver_city <\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_city <=\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityLike(String value) {\n            addCriterion(\"receiver_city like\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityNotLike(String value) {\n            addCriterion(\"receiver_city not like\", value, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityIn(List<String> values) {\n            addCriterion(\"receiver_city in\", values, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityNotIn(List<String> values) {\n            addCriterion(\"receiver_city not in\", values, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityBetween(String value1, String value2) {\n            addCriterion(\"receiver_city between\", value1, value2, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverCityNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_city not between\", value1, value2, \"receiverCity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionIsNull() {\n            addCriterion(\"receiver_region is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionIsNotNull() {\n            addCriterion(\"receiver_region is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionEqualTo(String value) {\n            addCriterion(\"receiver_region =\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionNotEqualTo(String value) {\n            addCriterion(\"receiver_region <>\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionGreaterThan(String value) {\n            addCriterion(\"receiver_region >\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_region >=\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionLessThan(String value) {\n            addCriterion(\"receiver_region <\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_region <=\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionLike(String value) {\n            addCriterion(\"receiver_region like\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionNotLike(String value) {\n            addCriterion(\"receiver_region not like\", value, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionIn(List<String> values) {\n            addCriterion(\"receiver_region in\", values, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionNotIn(List<String> values) {\n            addCriterion(\"receiver_region not in\", values, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionBetween(String value1, String value2) {\n            addCriterion(\"receiver_region between\", value1, value2, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverRegionNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_region not between\", value1, value2, \"receiverRegion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressIsNull() {\n            addCriterion(\"receiver_detail_address is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressIsNotNull() {\n            addCriterion(\"receiver_detail_address is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressEqualTo(String value) {\n            addCriterion(\"receiver_detail_address =\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressNotEqualTo(String value) {\n            addCriterion(\"receiver_detail_address <>\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressGreaterThan(String value) {\n            addCriterion(\"receiver_detail_address >\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receiver_detail_address >=\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressLessThan(String value) {\n            addCriterion(\"receiver_detail_address <\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressLessThanOrEqualTo(String value) {\n            addCriterion(\"receiver_detail_address <=\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressLike(String value) {\n            addCriterion(\"receiver_detail_address like\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressNotLike(String value) {\n            addCriterion(\"receiver_detail_address not like\", value, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressIn(List<String> values) {\n            addCriterion(\"receiver_detail_address in\", values, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressNotIn(List<String> values) {\n            addCriterion(\"receiver_detail_address not in\", values, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressBetween(String value1, String value2) {\n            addCriterion(\"receiver_detail_address between\", value1, value2, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiverDetailAddressNotBetween(String value1, String value2) {\n            addCriterion(\"receiver_detail_address not between\", value1, value2, \"receiverDetailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusIsNull() {\n            addCriterion(\"confirm_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusIsNotNull() {\n            addCriterion(\"confirm_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusEqualTo(Integer value) {\n            addCriterion(\"confirm_status =\", value, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusNotEqualTo(Integer value) {\n            addCriterion(\"confirm_status <>\", value, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusGreaterThan(Integer value) {\n            addCriterion(\"confirm_status >\", value, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"confirm_status >=\", value, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusLessThan(Integer value) {\n            addCriterion(\"confirm_status <\", value, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"confirm_status <=\", value, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusIn(List<Integer> values) {\n            addCriterion(\"confirm_status in\", values, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusNotIn(List<Integer> values) {\n            addCriterion(\"confirm_status not in\", values, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"confirm_status between\", value1, value2, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"confirm_status not between\", value1, value2, \"confirmStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIsNull() {\n            addCriterion(\"delete_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIsNotNull() {\n            addCriterion(\"delete_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusEqualTo(Integer value) {\n            addCriterion(\"delete_status =\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotEqualTo(Integer value) {\n            addCriterion(\"delete_status <>\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusGreaterThan(Integer value) {\n            addCriterion(\"delete_status >\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"delete_status >=\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusLessThan(Integer value) {\n            addCriterion(\"delete_status <\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"delete_status <=\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIn(List<Integer> values) {\n            addCriterion(\"delete_status in\", values, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotIn(List<Integer> values) {\n            addCriterion(\"delete_status not in\", values, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"delete_status between\", value1, value2, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"delete_status not between\", value1, value2, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationIsNull() {\n            addCriterion(\"use_integration is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationIsNotNull() {\n            addCriterion(\"use_integration is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationEqualTo(Integer value) {\n            addCriterion(\"use_integration =\", value, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationNotEqualTo(Integer value) {\n            addCriterion(\"use_integration <>\", value, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationGreaterThan(Integer value) {\n            addCriterion(\"use_integration >\", value, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_integration >=\", value, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationLessThan(Integer value) {\n            addCriterion(\"use_integration <\", value, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_integration <=\", value, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationIn(List<Integer> values) {\n            addCriterion(\"use_integration in\", values, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationNotIn(List<Integer> values) {\n            addCriterion(\"use_integration not in\", values, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_integration between\", value1, value2, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseIntegrationNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_integration not between\", value1, value2, \"useIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeIsNull() {\n            addCriterion(\"payment_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeIsNotNull() {\n            addCriterion(\"payment_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeEqualTo(Date value) {\n            addCriterion(\"payment_time =\", value, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeNotEqualTo(Date value) {\n            addCriterion(\"payment_time <>\", value, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeGreaterThan(Date value) {\n            addCriterion(\"payment_time >\", value, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"payment_time >=\", value, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeLessThan(Date value) {\n            addCriterion(\"payment_time <\", value, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"payment_time <=\", value, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeIn(List<Date> values) {\n            addCriterion(\"payment_time in\", values, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeNotIn(List<Date> values) {\n            addCriterion(\"payment_time not in\", values, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeBetween(Date value1, Date value2) {\n            addCriterion(\"payment_time between\", value1, value2, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPaymentTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"payment_time not between\", value1, value2, \"paymentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeIsNull() {\n            addCriterion(\"delivery_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeIsNotNull() {\n            addCriterion(\"delivery_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeEqualTo(Date value) {\n            addCriterion(\"delivery_time =\", value, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeNotEqualTo(Date value) {\n            addCriterion(\"delivery_time <>\", value, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeGreaterThan(Date value) {\n            addCriterion(\"delivery_time >\", value, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"delivery_time >=\", value, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeLessThan(Date value) {\n            addCriterion(\"delivery_time <\", value, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"delivery_time <=\", value, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeIn(List<Date> values) {\n            addCriterion(\"delivery_time in\", values, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeNotIn(List<Date> values) {\n            addCriterion(\"delivery_time not in\", values, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeBetween(Date value1, Date value2) {\n            addCriterion(\"delivery_time between\", value1, value2, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeliveryTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"delivery_time not between\", value1, value2, \"deliveryTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeIsNull() {\n            addCriterion(\"receive_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeIsNotNull() {\n            addCriterion(\"receive_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeEqualTo(Date value) {\n            addCriterion(\"receive_time =\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeNotEqualTo(Date value) {\n            addCriterion(\"receive_time <>\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeGreaterThan(Date value) {\n            addCriterion(\"receive_time >\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"receive_time >=\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeLessThan(Date value) {\n            addCriterion(\"receive_time <\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"receive_time <=\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeIn(List<Date> values) {\n            addCriterion(\"receive_time in\", values, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeNotIn(List<Date> values) {\n            addCriterion(\"receive_time not in\", values, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeBetween(Date value1, Date value2) {\n            addCriterion(\"receive_time between\", value1, value2, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"receive_time not between\", value1, value2, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeIsNull() {\n            addCriterion(\"comment_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeIsNotNull() {\n            addCriterion(\"comment_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeEqualTo(Date value) {\n            addCriterion(\"comment_time =\", value, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeNotEqualTo(Date value) {\n            addCriterion(\"comment_time <>\", value, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeGreaterThan(Date value) {\n            addCriterion(\"comment_time >\", value, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"comment_time >=\", value, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeLessThan(Date value) {\n            addCriterion(\"comment_time <\", value, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"comment_time <=\", value, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeIn(List<Date> values) {\n            addCriterion(\"comment_time in\", values, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeNotIn(List<Date> values) {\n            addCriterion(\"comment_time not in\", values, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeBetween(Date value1, Date value2) {\n            addCriterion(\"comment_time between\", value1, value2, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"comment_time not between\", value1, value2, \"commentTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeIsNull() {\n            addCriterion(\"modify_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeIsNotNull() {\n            addCriterion(\"modify_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeEqualTo(Date value) {\n            addCriterion(\"modify_time =\", value, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeNotEqualTo(Date value) {\n            addCriterion(\"modify_time <>\", value, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeGreaterThan(Date value) {\n            addCriterion(\"modify_time >\", value, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"modify_time >=\", value, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeLessThan(Date value) {\n            addCriterion(\"modify_time <\", value, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"modify_time <=\", value, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeIn(List<Date> values) {\n            addCriterion(\"modify_time in\", values, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeNotIn(List<Date> values) {\n            addCriterion(\"modify_time not in\", values, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeBetween(Date value1, Date value2) {\n            addCriterion(\"modify_time between\", value1, value2, \"modifyTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andModifyTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"modify_time not between\", value1, value2, \"modifyTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItem.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class OmsOrderItem implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"订单id\")\n    private Long orderId;\n\n    @ApiModelProperty(value = \"订单编号\")\n    private String orderSn;\n\n    private Long productId;\n\n    private String productPic;\n\n    private String productName;\n\n    private String productBrand;\n\n    private String productSn;\n\n    @ApiModelProperty(value = \"销售价格\")\n    private BigDecimal productPrice;\n\n    @ApiModelProperty(value = \"购买数量\")\n    private Integer productQuantity;\n\n    @ApiModelProperty(value = \"商品sku编号\")\n    private Long productSkuId;\n\n    @ApiModelProperty(value = \"商品sku条码\")\n    private String productSkuCode;\n\n    @ApiModelProperty(value = \"商品分类id\")\n    private Long productCategoryId;\n\n    @ApiModelProperty(value = \"商品促销名称\")\n    private String promotionName;\n\n    @ApiModelProperty(value = \"商品促销分解金额\")\n    private BigDecimal promotionAmount;\n\n    @ApiModelProperty(value = \"优惠券优惠分解金额\")\n    private BigDecimal couponAmount;\n\n    @ApiModelProperty(value = \"积分优惠分解金额\")\n    private BigDecimal integrationAmount;\n\n    @ApiModelProperty(value = \"该商品经过优惠后的分解金额\")\n    private BigDecimal realAmount;\n\n    private Integer giftIntegration;\n\n    private Integer giftGrowth;\n\n    @ApiModelProperty(value = \"商品销售属性:[{'key':'颜色','value':'颜色'},{'key':'容量','value':'4G'}]\")\n    private String productAttr;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getOrderId() {\n        return orderId;\n    }\n\n    public void setOrderId(Long orderId) {\n        this.orderId = orderId;\n    }\n\n    public String getOrderSn() {\n        return orderSn;\n    }\n\n    public void setOrderSn(String orderSn) {\n        this.orderSn = orderSn;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getProductPic() {\n        return productPic;\n    }\n\n    public void setProductPic(String productPic) {\n        this.productPic = productPic;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public String getProductBrand() {\n        return productBrand;\n    }\n\n    public void setProductBrand(String productBrand) {\n        this.productBrand = productBrand;\n    }\n\n    public String getProductSn() {\n        return productSn;\n    }\n\n    public void setProductSn(String productSn) {\n        this.productSn = productSn;\n    }\n\n    public BigDecimal getProductPrice() {\n        return productPrice;\n    }\n\n    public void setProductPrice(BigDecimal productPrice) {\n        this.productPrice = productPrice;\n    }\n\n    public Integer getProductQuantity() {\n        return productQuantity;\n    }\n\n    public void setProductQuantity(Integer productQuantity) {\n        this.productQuantity = productQuantity;\n    }\n\n    public Long getProductSkuId() {\n        return productSkuId;\n    }\n\n    public void setProductSkuId(Long productSkuId) {\n        this.productSkuId = productSkuId;\n    }\n\n    public String getProductSkuCode() {\n        return productSkuCode;\n    }\n\n    public void setProductSkuCode(String productSkuCode) {\n        this.productSkuCode = productSkuCode;\n    }\n\n    public Long getProductCategoryId() {\n        return productCategoryId;\n    }\n\n    public void setProductCategoryId(Long productCategoryId) {\n        this.productCategoryId = productCategoryId;\n    }\n\n    public String getPromotionName() {\n        return promotionName;\n    }\n\n    public void setPromotionName(String promotionName) {\n        this.promotionName = promotionName;\n    }\n\n    public BigDecimal getPromotionAmount() {\n        return promotionAmount;\n    }\n\n    public void setPromotionAmount(BigDecimal promotionAmount) {\n        this.promotionAmount = promotionAmount;\n    }\n\n    public BigDecimal getCouponAmount() {\n        return couponAmount;\n    }\n\n    public void setCouponAmount(BigDecimal couponAmount) {\n        this.couponAmount = couponAmount;\n    }\n\n    public BigDecimal getIntegrationAmount() {\n        return integrationAmount;\n    }\n\n    public void setIntegrationAmount(BigDecimal integrationAmount) {\n        this.integrationAmount = integrationAmount;\n    }\n\n    public BigDecimal getRealAmount() {\n        return realAmount;\n    }\n\n    public void setRealAmount(BigDecimal realAmount) {\n        this.realAmount = realAmount;\n    }\n\n    public Integer getGiftIntegration() {\n        return giftIntegration;\n    }\n\n    public void setGiftIntegration(Integer giftIntegration) {\n        this.giftIntegration = giftIntegration;\n    }\n\n    public Integer getGiftGrowth() {\n        return giftGrowth;\n    }\n\n    public void setGiftGrowth(Integer giftGrowth) {\n        this.giftGrowth = giftGrowth;\n    }\n\n    public String getProductAttr() {\n        return productAttr;\n    }\n\n    public void setProductAttr(String productAttr) {\n        this.productAttr = productAttr;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", orderId=\").append(orderId);\n        sb.append(\", orderSn=\").append(orderSn);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", productPic=\").append(productPic);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", productBrand=\").append(productBrand);\n        sb.append(\", productSn=\").append(productSn);\n        sb.append(\", productPrice=\").append(productPrice);\n        sb.append(\", productQuantity=\").append(productQuantity);\n        sb.append(\", productSkuId=\").append(productSkuId);\n        sb.append(\", productSkuCode=\").append(productSkuCode);\n        sb.append(\", productCategoryId=\").append(productCategoryId);\n        sb.append(\", promotionName=\").append(promotionName);\n        sb.append(\", promotionAmount=\").append(promotionAmount);\n        sb.append(\", couponAmount=\").append(couponAmount);\n        sb.append(\", integrationAmount=\").append(integrationAmount);\n        sb.append(\", realAmount=\").append(realAmount);\n        sb.append(\", giftIntegration=\").append(giftIntegration);\n        sb.append(\", giftGrowth=\").append(giftGrowth);\n        sb.append(\", productAttr=\").append(productAttr);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItemExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class OmsOrderItemExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsOrderItemExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNull() {\n            addCriterion(\"order_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNotNull() {\n            addCriterion(\"order_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdEqualTo(Long value) {\n            addCriterion(\"order_id =\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotEqualTo(Long value) {\n            addCriterion(\"order_id <>\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThan(Long value) {\n            addCriterion(\"order_id >\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"order_id >=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThan(Long value) {\n            addCriterion(\"order_id <\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"order_id <=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIn(List<Long> values) {\n            addCriterion(\"order_id in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotIn(List<Long> values) {\n            addCriterion(\"order_id not in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdBetween(Long value1, Long value2) {\n            addCriterion(\"order_id between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"order_id not between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNull() {\n            addCriterion(\"order_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNotNull() {\n            addCriterion(\"order_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnEqualTo(String value) {\n            addCriterion(\"order_sn =\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotEqualTo(String value) {\n            addCriterion(\"order_sn <>\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThan(String value) {\n            addCriterion(\"order_sn >\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"order_sn >=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThan(String value) {\n            addCriterion(\"order_sn <\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThanOrEqualTo(String value) {\n            addCriterion(\"order_sn <=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLike(String value) {\n            addCriterion(\"order_sn like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotLike(String value) {\n            addCriterion(\"order_sn not like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIn(List<String> values) {\n            addCriterion(\"order_sn in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotIn(List<String> values) {\n            addCriterion(\"order_sn not in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnBetween(String value1, String value2) {\n            addCriterion(\"order_sn between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotBetween(String value1, String value2) {\n            addCriterion(\"order_sn not between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIsNull() {\n            addCriterion(\"product_pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIsNotNull() {\n            addCriterion(\"product_pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicEqualTo(String value) {\n            addCriterion(\"product_pic =\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotEqualTo(String value) {\n            addCriterion(\"product_pic <>\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicGreaterThan(String value) {\n            addCriterion(\"product_pic >\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_pic >=\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLessThan(String value) {\n            addCriterion(\"product_pic <\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLessThanOrEqualTo(String value) {\n            addCriterion(\"product_pic <=\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLike(String value) {\n            addCriterion(\"product_pic like\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotLike(String value) {\n            addCriterion(\"product_pic not like\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIn(List<String> values) {\n            addCriterion(\"product_pic in\", values, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotIn(List<String> values) {\n            addCriterion(\"product_pic not in\", values, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicBetween(String value1, String value2) {\n            addCriterion(\"product_pic between\", value1, value2, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotBetween(String value1, String value2) {\n            addCriterion(\"product_pic not between\", value1, value2, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIsNull() {\n            addCriterion(\"product_brand is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIsNotNull() {\n            addCriterion(\"product_brand is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandEqualTo(String value) {\n            addCriterion(\"product_brand =\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotEqualTo(String value) {\n            addCriterion(\"product_brand <>\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandGreaterThan(String value) {\n            addCriterion(\"product_brand >\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_brand >=\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLessThan(String value) {\n            addCriterion(\"product_brand <\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLessThanOrEqualTo(String value) {\n            addCriterion(\"product_brand <=\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLike(String value) {\n            addCriterion(\"product_brand like\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotLike(String value) {\n            addCriterion(\"product_brand not like\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIn(List<String> values) {\n            addCriterion(\"product_brand in\", values, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotIn(List<String> values) {\n            addCriterion(\"product_brand not in\", values, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandBetween(String value1, String value2) {\n            addCriterion(\"product_brand between\", value1, value2, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotBetween(String value1, String value2) {\n            addCriterion(\"product_brand not between\", value1, value2, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNull() {\n            addCriterion(\"product_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNotNull() {\n            addCriterion(\"product_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnEqualTo(String value) {\n            addCriterion(\"product_sn =\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotEqualTo(String value) {\n            addCriterion(\"product_sn <>\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThan(String value) {\n            addCriterion(\"product_sn >\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sn >=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThan(String value) {\n            addCriterion(\"product_sn <\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sn <=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLike(String value) {\n            addCriterion(\"product_sn like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotLike(String value) {\n            addCriterion(\"product_sn not like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIn(List<String> values) {\n            addCriterion(\"product_sn in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotIn(List<String> values) {\n            addCriterion(\"product_sn not in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnBetween(String value1, String value2) {\n            addCriterion(\"product_sn between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotBetween(String value1, String value2) {\n            addCriterion(\"product_sn not between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceIsNull() {\n            addCriterion(\"product_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceIsNotNull() {\n            addCriterion(\"product_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceEqualTo(BigDecimal value) {\n            addCriterion(\"product_price =\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"product_price <>\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"product_price >\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"product_price >=\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceLessThan(BigDecimal value) {\n            addCriterion(\"product_price <\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"product_price <=\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceIn(List<BigDecimal> values) {\n            addCriterion(\"product_price in\", values, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"product_price not in\", values, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"product_price between\", value1, value2, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"product_price not between\", value1, value2, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityIsNull() {\n            addCriterion(\"product_quantity is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityIsNotNull() {\n            addCriterion(\"product_quantity is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityEqualTo(Integer value) {\n            addCriterion(\"product_quantity =\", value, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityNotEqualTo(Integer value) {\n            addCriterion(\"product_quantity <>\", value, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityGreaterThan(Integer value) {\n            addCriterion(\"product_quantity >\", value, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"product_quantity >=\", value, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityLessThan(Integer value) {\n            addCriterion(\"product_quantity <\", value, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityLessThanOrEqualTo(Integer value) {\n            addCriterion(\"product_quantity <=\", value, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityIn(List<Integer> values) {\n            addCriterion(\"product_quantity in\", values, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityNotIn(List<Integer> values) {\n            addCriterion(\"product_quantity not in\", values, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_quantity between\", value1, value2, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductQuantityNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_quantity not between\", value1, value2, \"productQuantity\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdIsNull() {\n            addCriterion(\"product_sku_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdIsNotNull() {\n            addCriterion(\"product_sku_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdEqualTo(Long value) {\n            addCriterion(\"product_sku_id =\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdNotEqualTo(Long value) {\n            addCriterion(\"product_sku_id <>\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdGreaterThan(Long value) {\n            addCriterion(\"product_sku_id >\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_sku_id >=\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdLessThan(Long value) {\n            addCriterion(\"product_sku_id <\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_sku_id <=\", value, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdIn(List<Long> values) {\n            addCriterion(\"product_sku_id in\", values, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdNotIn(List<Long> values) {\n            addCriterion(\"product_sku_id not in\", values, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_sku_id between\", value1, value2, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_sku_id not between\", value1, value2, \"productSkuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeIsNull() {\n            addCriterion(\"product_sku_code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeIsNotNull() {\n            addCriterion(\"product_sku_code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeEqualTo(String value) {\n            addCriterion(\"product_sku_code =\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotEqualTo(String value) {\n            addCriterion(\"product_sku_code <>\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeGreaterThan(String value) {\n            addCriterion(\"product_sku_code >\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sku_code >=\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeLessThan(String value) {\n            addCriterion(\"product_sku_code <\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sku_code <=\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeLike(String value) {\n            addCriterion(\"product_sku_code like\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotLike(String value) {\n            addCriterion(\"product_sku_code not like\", value, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeIn(List<String> values) {\n            addCriterion(\"product_sku_code in\", values, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotIn(List<String> values) {\n            addCriterion(\"product_sku_code not in\", values, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeBetween(String value1, String value2) {\n            addCriterion(\"product_sku_code between\", value1, value2, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSkuCodeNotBetween(String value1, String value2) {\n            addCriterion(\"product_sku_code not between\", value1, value2, \"productSkuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNull() {\n            addCriterion(\"product_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNotNull() {\n            addCriterion(\"product_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_category_id =\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_category_id <>\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_category_id >\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id >=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThan(Long value) {\n            addCriterion(\"product_category_id <\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id <=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_category_id in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_category_id not in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id not between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameIsNull() {\n            addCriterion(\"promotion_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameIsNotNull() {\n            addCriterion(\"promotion_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameEqualTo(String value) {\n            addCriterion(\"promotion_name =\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameNotEqualTo(String value) {\n            addCriterion(\"promotion_name <>\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameGreaterThan(String value) {\n            addCriterion(\"promotion_name >\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"promotion_name >=\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameLessThan(String value) {\n            addCriterion(\"promotion_name <\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameLessThanOrEqualTo(String value) {\n            addCriterion(\"promotion_name <=\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameLike(String value) {\n            addCriterion(\"promotion_name like\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameNotLike(String value) {\n            addCriterion(\"promotion_name not like\", value, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameIn(List<String> values) {\n            addCriterion(\"promotion_name in\", values, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameNotIn(List<String> values) {\n            addCriterion(\"promotion_name not in\", values, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameBetween(String value1, String value2) {\n            addCriterion(\"promotion_name between\", value1, value2, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionNameNotBetween(String value1, String value2) {\n            addCriterion(\"promotion_name not between\", value1, value2, \"promotionName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountIsNull() {\n            addCriterion(\"promotion_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountIsNotNull() {\n            addCriterion(\"promotion_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount =\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount <>\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"promotion_amount >\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount >=\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountLessThan(BigDecimal value) {\n            addCriterion(\"promotion_amount <\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_amount <=\", value, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_amount in\", values, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_amount not in\", values, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_amount between\", value1, value2, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_amount not between\", value1, value2, \"promotionAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountIsNull() {\n            addCriterion(\"coupon_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountIsNotNull() {\n            addCriterion(\"coupon_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount =\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount <>\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"coupon_amount >\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount >=\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountLessThan(BigDecimal value) {\n            addCriterion(\"coupon_amount <\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"coupon_amount <=\", value, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountIn(List<BigDecimal> values) {\n            addCriterion(\"coupon_amount in\", values, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"coupon_amount not in\", values, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"coupon_amount between\", value1, value2, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"coupon_amount not between\", value1, value2, \"couponAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountIsNull() {\n            addCriterion(\"integration_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountIsNotNull() {\n            addCriterion(\"integration_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount =\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount <>\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"integration_amount >\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount >=\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountLessThan(BigDecimal value) {\n            addCriterion(\"integration_amount <\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"integration_amount <=\", value, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountIn(List<BigDecimal> values) {\n            addCriterion(\"integration_amount in\", values, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"integration_amount not in\", values, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"integration_amount between\", value1, value2, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"integration_amount not between\", value1, value2, \"integrationAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountIsNull() {\n            addCriterion(\"real_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountIsNotNull() {\n            addCriterion(\"real_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountEqualTo(BigDecimal value) {\n            addCriterion(\"real_amount =\", value, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"real_amount <>\", value, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"real_amount >\", value, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"real_amount >=\", value, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountLessThan(BigDecimal value) {\n            addCriterion(\"real_amount <\", value, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"real_amount <=\", value, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountIn(List<BigDecimal> values) {\n            addCriterion(\"real_amount in\", values, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"real_amount not in\", values, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"real_amount between\", value1, value2, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRealAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"real_amount not between\", value1, value2, \"realAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationIsNull() {\n            addCriterion(\"gift_integration is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationIsNotNull() {\n            addCriterion(\"gift_integration is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationEqualTo(Integer value) {\n            addCriterion(\"gift_integration =\", value, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationNotEqualTo(Integer value) {\n            addCriterion(\"gift_integration <>\", value, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationGreaterThan(Integer value) {\n            addCriterion(\"gift_integration >\", value, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_integration >=\", value, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationLessThan(Integer value) {\n            addCriterion(\"gift_integration <\", value, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_integration <=\", value, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationIn(List<Integer> values) {\n            addCriterion(\"gift_integration in\", values, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationNotIn(List<Integer> values) {\n            addCriterion(\"gift_integration not in\", values, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_integration between\", value1, value2, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftIntegrationNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_integration not between\", value1, value2, \"giftIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthIsNull() {\n            addCriterion(\"gift_growth is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthIsNotNull() {\n            addCriterion(\"gift_growth is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthEqualTo(Integer value) {\n            addCriterion(\"gift_growth =\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthNotEqualTo(Integer value) {\n            addCriterion(\"gift_growth <>\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthGreaterThan(Integer value) {\n            addCriterion(\"gift_growth >\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_growth >=\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthLessThan(Integer value) {\n            addCriterion(\"gift_growth <\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_growth <=\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthIn(List<Integer> values) {\n            addCriterion(\"gift_growth in\", values, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthNotIn(List<Integer> values) {\n            addCriterion(\"gift_growth not in\", values, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_growth between\", value1, value2, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_growth not between\", value1, value2, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIsNull() {\n            addCriterion(\"product_attr is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIsNotNull() {\n            addCriterion(\"product_attr is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrEqualTo(String value) {\n            addCriterion(\"product_attr =\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotEqualTo(String value) {\n            addCriterion(\"product_attr <>\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrGreaterThan(String value) {\n            addCriterion(\"product_attr >\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_attr >=\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLessThan(String value) {\n            addCriterion(\"product_attr <\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLessThanOrEqualTo(String value) {\n            addCriterion(\"product_attr <=\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLike(String value) {\n            addCriterion(\"product_attr like\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotLike(String value) {\n            addCriterion(\"product_attr not like\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIn(List<String> values) {\n            addCriterion(\"product_attr in\", values, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotIn(List<String> values) {\n            addCriterion(\"product_attr not in\", values, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrBetween(String value1, String value2) {\n            addCriterion(\"product_attr between\", value1, value2, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotBetween(String value1, String value2) {\n            addCriterion(\"product_attr not between\", value1, value2, \"productAttr\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderOperateHistory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class OmsOrderOperateHistory implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"订单id\")\n    private Long orderId;\n\n    @ApiModelProperty(value = \"操作人：用户；系统；后台管理员\")\n    private String operateMan;\n\n    @ApiModelProperty(value = \"操作时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单\")\n    private Integer orderStatus;\n\n    @ApiModelProperty(value = \"备注\")\n    private String note;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getOrderId() {\n        return orderId;\n    }\n\n    public void setOrderId(Long orderId) {\n        this.orderId = orderId;\n    }\n\n    public String getOperateMan() {\n        return operateMan;\n    }\n\n    public void setOperateMan(String operateMan) {\n        this.operateMan = operateMan;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getOrderStatus() {\n        return orderStatus;\n    }\n\n    public void setOrderStatus(Integer orderStatus) {\n        this.orderStatus = orderStatus;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", orderId=\").append(orderId);\n        sb.append(\", operateMan=\").append(operateMan);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", orderStatus=\").append(orderStatus);\n        sb.append(\", note=\").append(note);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderOperateHistoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class OmsOrderOperateHistoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsOrderOperateHistoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNull() {\n            addCriterion(\"order_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNotNull() {\n            addCriterion(\"order_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdEqualTo(Long value) {\n            addCriterion(\"order_id =\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotEqualTo(Long value) {\n            addCriterion(\"order_id <>\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThan(Long value) {\n            addCriterion(\"order_id >\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"order_id >=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThan(Long value) {\n            addCriterion(\"order_id <\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"order_id <=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIn(List<Long> values) {\n            addCriterion(\"order_id in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotIn(List<Long> values) {\n            addCriterion(\"order_id not in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdBetween(Long value1, Long value2) {\n            addCriterion(\"order_id between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"order_id not between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNull() {\n            addCriterion(\"operate_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNotNull() {\n            addCriterion(\"operate_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManEqualTo(String value) {\n            addCriterion(\"operate_man =\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotEqualTo(String value) {\n            addCriterion(\"operate_man <>\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThan(String value) {\n            addCriterion(\"operate_man >\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"operate_man >=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThan(String value) {\n            addCriterion(\"operate_man <\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThanOrEqualTo(String value) {\n            addCriterion(\"operate_man <=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLike(String value) {\n            addCriterion(\"operate_man like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotLike(String value) {\n            addCriterion(\"operate_man not like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIn(List<String> values) {\n            addCriterion(\"operate_man in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotIn(List<String> values) {\n            addCriterion(\"operate_man not in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManBetween(String value1, String value2) {\n            addCriterion(\"operate_man between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotBetween(String value1, String value2) {\n            addCriterion(\"operate_man not between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusIsNull() {\n            addCriterion(\"order_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusIsNotNull() {\n            addCriterion(\"order_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusEqualTo(Integer value) {\n            addCriterion(\"order_status =\", value, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusNotEqualTo(Integer value) {\n            addCriterion(\"order_status <>\", value, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusGreaterThan(Integer value) {\n            addCriterion(\"order_status >\", value, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"order_status >=\", value, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusLessThan(Integer value) {\n            addCriterion(\"order_status <\", value, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"order_status <=\", value, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusIn(List<Integer> values) {\n            addCriterion(\"order_status in\", values, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusNotIn(List<Integer> values) {\n            addCriterion(\"order_status not in\", values, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_status between\", value1, value2, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_status not between\", value1, value2, \"orderStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnApply.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class OmsOrderReturnApply implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"订单id\")\n    private Long orderId;\n\n    @ApiModelProperty(value = \"收货地址表id\")\n    private Long companyAddressId;\n\n    @ApiModelProperty(value = \"退货商品id\")\n    private Long productId;\n\n    @ApiModelProperty(value = \"订单编号\")\n    private String orderSn;\n\n    @ApiModelProperty(value = \"申请时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"会员用户名\")\n    private String memberUsername;\n\n    @ApiModelProperty(value = \"退款金额\")\n    private BigDecimal returnAmount;\n\n    @ApiModelProperty(value = \"退货人姓名\")\n    private String returnName;\n\n    @ApiModelProperty(value = \"退货人电话\")\n    private String returnPhone;\n\n    @ApiModelProperty(value = \"申请状态：0->待处理；1->退货中；2->已完成；3->已拒绝\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"处理时间\")\n    private Date handleTime;\n\n    @ApiModelProperty(value = \"商品图片\")\n    private String productPic;\n\n    @ApiModelProperty(value = \"商品名称\")\n    private String productName;\n\n    @ApiModelProperty(value = \"商品品牌\")\n    private String productBrand;\n\n    @ApiModelProperty(value = \"商品销售属性：颜色：红色；尺码：xl;\")\n    private String productAttr;\n\n    @ApiModelProperty(value = \"退货数量\")\n    private Integer productCount;\n\n    @ApiModelProperty(value = \"商品单价\")\n    private BigDecimal productPrice;\n\n    @ApiModelProperty(value = \"商品实际支付单价\")\n    private BigDecimal productRealPrice;\n\n    @ApiModelProperty(value = \"原因\")\n    private String reason;\n\n    @ApiModelProperty(value = \"描述\")\n    private String description;\n\n    @ApiModelProperty(value = \"凭证图片，以逗号隔开\")\n    private String proofPics;\n\n    @ApiModelProperty(value = \"处理备注\")\n    private String handleNote;\n\n    @ApiModelProperty(value = \"处理人员\")\n    private String handleMan;\n\n    @ApiModelProperty(value = \"收货人\")\n    private String receiveMan;\n\n    @ApiModelProperty(value = \"收货时间\")\n    private Date receiveTime;\n\n    @ApiModelProperty(value = \"收货备注\")\n    private String receiveNote;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getOrderId() {\n        return orderId;\n    }\n\n    public void setOrderId(Long orderId) {\n        this.orderId = orderId;\n    }\n\n    public Long getCompanyAddressId() {\n        return companyAddressId;\n    }\n\n    public void setCompanyAddressId(Long companyAddressId) {\n        this.companyAddressId = companyAddressId;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getOrderSn() {\n        return orderSn;\n    }\n\n    public void setOrderSn(String orderSn) {\n        this.orderSn = orderSn;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getMemberUsername() {\n        return memberUsername;\n    }\n\n    public void setMemberUsername(String memberUsername) {\n        this.memberUsername = memberUsername;\n    }\n\n    public BigDecimal getReturnAmount() {\n        return returnAmount;\n    }\n\n    public void setReturnAmount(BigDecimal returnAmount) {\n        this.returnAmount = returnAmount;\n    }\n\n    public String getReturnName() {\n        return returnName;\n    }\n\n    public void setReturnName(String returnName) {\n        this.returnName = returnName;\n    }\n\n    public String getReturnPhone() {\n        return returnPhone;\n    }\n\n    public void setReturnPhone(String returnPhone) {\n        this.returnPhone = returnPhone;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Date getHandleTime() {\n        return handleTime;\n    }\n\n    public void setHandleTime(Date handleTime) {\n        this.handleTime = handleTime;\n    }\n\n    public String getProductPic() {\n        return productPic;\n    }\n\n    public void setProductPic(String productPic) {\n        this.productPic = productPic;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public String getProductBrand() {\n        return productBrand;\n    }\n\n    public void setProductBrand(String productBrand) {\n        this.productBrand = productBrand;\n    }\n\n    public String getProductAttr() {\n        return productAttr;\n    }\n\n    public void setProductAttr(String productAttr) {\n        this.productAttr = productAttr;\n    }\n\n    public Integer getProductCount() {\n        return productCount;\n    }\n\n    public void setProductCount(Integer productCount) {\n        this.productCount = productCount;\n    }\n\n    public BigDecimal getProductPrice() {\n        return productPrice;\n    }\n\n    public void setProductPrice(BigDecimal productPrice) {\n        this.productPrice = productPrice;\n    }\n\n    public BigDecimal getProductRealPrice() {\n        return productRealPrice;\n    }\n\n    public void setProductRealPrice(BigDecimal productRealPrice) {\n        this.productRealPrice = productRealPrice;\n    }\n\n    public String getReason() {\n        return reason;\n    }\n\n    public void setReason(String reason) {\n        this.reason = reason;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public String getProofPics() {\n        return proofPics;\n    }\n\n    public void setProofPics(String proofPics) {\n        this.proofPics = proofPics;\n    }\n\n    public String getHandleNote() {\n        return handleNote;\n    }\n\n    public void setHandleNote(String handleNote) {\n        this.handleNote = handleNote;\n    }\n\n    public String getHandleMan() {\n        return handleMan;\n    }\n\n    public void setHandleMan(String handleMan) {\n        this.handleMan = handleMan;\n    }\n\n    public String getReceiveMan() {\n        return receiveMan;\n    }\n\n    public void setReceiveMan(String receiveMan) {\n        this.receiveMan = receiveMan;\n    }\n\n    public Date getReceiveTime() {\n        return receiveTime;\n    }\n\n    public void setReceiveTime(Date receiveTime) {\n        this.receiveTime = receiveTime;\n    }\n\n    public String getReceiveNote() {\n        return receiveNote;\n    }\n\n    public void setReceiveNote(String receiveNote) {\n        this.receiveNote = receiveNote;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", orderId=\").append(orderId);\n        sb.append(\", companyAddressId=\").append(companyAddressId);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", orderSn=\").append(orderSn);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", memberUsername=\").append(memberUsername);\n        sb.append(\", returnAmount=\").append(returnAmount);\n        sb.append(\", returnName=\").append(returnName);\n        sb.append(\", returnPhone=\").append(returnPhone);\n        sb.append(\", status=\").append(status);\n        sb.append(\", handleTime=\").append(handleTime);\n        sb.append(\", productPic=\").append(productPic);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", productBrand=\").append(productBrand);\n        sb.append(\", productAttr=\").append(productAttr);\n        sb.append(\", productCount=\").append(productCount);\n        sb.append(\", productPrice=\").append(productPrice);\n        sb.append(\", productRealPrice=\").append(productRealPrice);\n        sb.append(\", reason=\").append(reason);\n        sb.append(\", description=\").append(description);\n        sb.append(\", proofPics=\").append(proofPics);\n        sb.append(\", handleNote=\").append(handleNote);\n        sb.append(\", handleMan=\").append(handleMan);\n        sb.append(\", receiveMan=\").append(receiveMan);\n        sb.append(\", receiveTime=\").append(receiveTime);\n        sb.append(\", receiveNote=\").append(receiveNote);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnApplyExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class OmsOrderReturnApplyExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsOrderReturnApplyExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNull() {\n            addCriterion(\"order_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNotNull() {\n            addCriterion(\"order_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdEqualTo(Long value) {\n            addCriterion(\"order_id =\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotEqualTo(Long value) {\n            addCriterion(\"order_id <>\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThan(Long value) {\n            addCriterion(\"order_id >\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"order_id >=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThan(Long value) {\n            addCriterion(\"order_id <\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"order_id <=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIn(List<Long> values) {\n            addCriterion(\"order_id in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotIn(List<Long> values) {\n            addCriterion(\"order_id not in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdBetween(Long value1, Long value2) {\n            addCriterion(\"order_id between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"order_id not between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdIsNull() {\n            addCriterion(\"company_address_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdIsNotNull() {\n            addCriterion(\"company_address_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdEqualTo(Long value) {\n            addCriterion(\"company_address_id =\", value, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdNotEqualTo(Long value) {\n            addCriterion(\"company_address_id <>\", value, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdGreaterThan(Long value) {\n            addCriterion(\"company_address_id >\", value, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"company_address_id >=\", value, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdLessThan(Long value) {\n            addCriterion(\"company_address_id <\", value, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"company_address_id <=\", value, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdIn(List<Long> values) {\n            addCriterion(\"company_address_id in\", values, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdNotIn(List<Long> values) {\n            addCriterion(\"company_address_id not in\", values, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdBetween(Long value1, Long value2) {\n            addCriterion(\"company_address_id between\", value1, value2, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCompanyAddressIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"company_address_id not between\", value1, value2, \"companyAddressId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNull() {\n            addCriterion(\"order_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNotNull() {\n            addCriterion(\"order_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnEqualTo(String value) {\n            addCriterion(\"order_sn =\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotEqualTo(String value) {\n            addCriterion(\"order_sn <>\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThan(String value) {\n            addCriterion(\"order_sn >\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"order_sn >=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThan(String value) {\n            addCriterion(\"order_sn <\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThanOrEqualTo(String value) {\n            addCriterion(\"order_sn <=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLike(String value) {\n            addCriterion(\"order_sn like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotLike(String value) {\n            addCriterion(\"order_sn not like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIn(List<String> values) {\n            addCriterion(\"order_sn in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotIn(List<String> values) {\n            addCriterion(\"order_sn not in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnBetween(String value1, String value2) {\n            addCriterion(\"order_sn between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotBetween(String value1, String value2) {\n            addCriterion(\"order_sn not between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameIsNull() {\n            addCriterion(\"member_username is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameIsNotNull() {\n            addCriterion(\"member_username is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameEqualTo(String value) {\n            addCriterion(\"member_username =\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotEqualTo(String value) {\n            addCriterion(\"member_username <>\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameGreaterThan(String value) {\n            addCriterion(\"member_username >\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_username >=\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameLessThan(String value) {\n            addCriterion(\"member_username <\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_username <=\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameLike(String value) {\n            addCriterion(\"member_username like\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotLike(String value) {\n            addCriterion(\"member_username not like\", value, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameIn(List<String> values) {\n            addCriterion(\"member_username in\", values, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotIn(List<String> values) {\n            addCriterion(\"member_username not in\", values, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameBetween(String value1, String value2) {\n            addCriterion(\"member_username between\", value1, value2, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberUsernameNotBetween(String value1, String value2) {\n            addCriterion(\"member_username not between\", value1, value2, \"memberUsername\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountIsNull() {\n            addCriterion(\"return_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountIsNotNull() {\n            addCriterion(\"return_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountEqualTo(BigDecimal value) {\n            addCriterion(\"return_amount =\", value, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"return_amount <>\", value, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"return_amount >\", value, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"return_amount >=\", value, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountLessThan(BigDecimal value) {\n            addCriterion(\"return_amount <\", value, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"return_amount <=\", value, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountIn(List<BigDecimal> values) {\n            addCriterion(\"return_amount in\", values, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"return_amount not in\", values, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"return_amount between\", value1, value2, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"return_amount not between\", value1, value2, \"returnAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameIsNull() {\n            addCriterion(\"return_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameIsNotNull() {\n            addCriterion(\"return_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameEqualTo(String value) {\n            addCriterion(\"return_name =\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameNotEqualTo(String value) {\n            addCriterion(\"return_name <>\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameGreaterThan(String value) {\n            addCriterion(\"return_name >\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"return_name >=\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameLessThan(String value) {\n            addCriterion(\"return_name <\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameLessThanOrEqualTo(String value) {\n            addCriterion(\"return_name <=\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameLike(String value) {\n            addCriterion(\"return_name like\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameNotLike(String value) {\n            addCriterion(\"return_name not like\", value, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameIn(List<String> values) {\n            addCriterion(\"return_name in\", values, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameNotIn(List<String> values) {\n            addCriterion(\"return_name not in\", values, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameBetween(String value1, String value2) {\n            addCriterion(\"return_name between\", value1, value2, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnNameNotBetween(String value1, String value2) {\n            addCriterion(\"return_name not between\", value1, value2, \"returnName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneIsNull() {\n            addCriterion(\"return_phone is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneIsNotNull() {\n            addCriterion(\"return_phone is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneEqualTo(String value) {\n            addCriterion(\"return_phone =\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneNotEqualTo(String value) {\n            addCriterion(\"return_phone <>\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneGreaterThan(String value) {\n            addCriterion(\"return_phone >\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneGreaterThanOrEqualTo(String value) {\n            addCriterion(\"return_phone >=\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneLessThan(String value) {\n            addCriterion(\"return_phone <\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneLessThanOrEqualTo(String value) {\n            addCriterion(\"return_phone <=\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneLike(String value) {\n            addCriterion(\"return_phone like\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneNotLike(String value) {\n            addCriterion(\"return_phone not like\", value, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneIn(List<String> values) {\n            addCriterion(\"return_phone in\", values, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneNotIn(List<String> values) {\n            addCriterion(\"return_phone not in\", values, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneBetween(String value1, String value2) {\n            addCriterion(\"return_phone between\", value1, value2, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnPhoneNotBetween(String value1, String value2) {\n            addCriterion(\"return_phone not between\", value1, value2, \"returnPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeIsNull() {\n            addCriterion(\"handle_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeIsNotNull() {\n            addCriterion(\"handle_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeEqualTo(Date value) {\n            addCriterion(\"handle_time =\", value, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeNotEqualTo(Date value) {\n            addCriterion(\"handle_time <>\", value, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeGreaterThan(Date value) {\n            addCriterion(\"handle_time >\", value, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"handle_time >=\", value, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeLessThan(Date value) {\n            addCriterion(\"handle_time <\", value, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"handle_time <=\", value, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeIn(List<Date> values) {\n            addCriterion(\"handle_time in\", values, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeNotIn(List<Date> values) {\n            addCriterion(\"handle_time not in\", values, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeBetween(Date value1, Date value2) {\n            addCriterion(\"handle_time between\", value1, value2, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"handle_time not between\", value1, value2, \"handleTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIsNull() {\n            addCriterion(\"product_pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIsNotNull() {\n            addCriterion(\"product_pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicEqualTo(String value) {\n            addCriterion(\"product_pic =\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotEqualTo(String value) {\n            addCriterion(\"product_pic <>\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicGreaterThan(String value) {\n            addCriterion(\"product_pic >\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_pic >=\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLessThan(String value) {\n            addCriterion(\"product_pic <\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLessThanOrEqualTo(String value) {\n            addCriterion(\"product_pic <=\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicLike(String value) {\n            addCriterion(\"product_pic like\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotLike(String value) {\n            addCriterion(\"product_pic not like\", value, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicIn(List<String> values) {\n            addCriterion(\"product_pic in\", values, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotIn(List<String> values) {\n            addCriterion(\"product_pic not in\", values, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicBetween(String value1, String value2) {\n            addCriterion(\"product_pic between\", value1, value2, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPicNotBetween(String value1, String value2) {\n            addCriterion(\"product_pic not between\", value1, value2, \"productPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIsNull() {\n            addCriterion(\"product_brand is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIsNotNull() {\n            addCriterion(\"product_brand is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandEqualTo(String value) {\n            addCriterion(\"product_brand =\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotEqualTo(String value) {\n            addCriterion(\"product_brand <>\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandGreaterThan(String value) {\n            addCriterion(\"product_brand >\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_brand >=\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLessThan(String value) {\n            addCriterion(\"product_brand <\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLessThanOrEqualTo(String value) {\n            addCriterion(\"product_brand <=\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandLike(String value) {\n            addCriterion(\"product_brand like\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotLike(String value) {\n            addCriterion(\"product_brand not like\", value, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandIn(List<String> values) {\n            addCriterion(\"product_brand in\", values, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotIn(List<String> values) {\n            addCriterion(\"product_brand not in\", values, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandBetween(String value1, String value2) {\n            addCriterion(\"product_brand between\", value1, value2, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductBrandNotBetween(String value1, String value2) {\n            addCriterion(\"product_brand not between\", value1, value2, \"productBrand\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIsNull() {\n            addCriterion(\"product_attr is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIsNotNull() {\n            addCriterion(\"product_attr is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrEqualTo(String value) {\n            addCriterion(\"product_attr =\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotEqualTo(String value) {\n            addCriterion(\"product_attr <>\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrGreaterThan(String value) {\n            addCriterion(\"product_attr >\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_attr >=\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLessThan(String value) {\n            addCriterion(\"product_attr <\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLessThanOrEqualTo(String value) {\n            addCriterion(\"product_attr <=\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrLike(String value) {\n            addCriterion(\"product_attr like\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotLike(String value) {\n            addCriterion(\"product_attr not like\", value, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrIn(List<String> values) {\n            addCriterion(\"product_attr in\", values, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotIn(List<String> values) {\n            addCriterion(\"product_attr not in\", values, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrBetween(String value1, String value2) {\n            addCriterion(\"product_attr between\", value1, value2, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttrNotBetween(String value1, String value2) {\n            addCriterion(\"product_attr not between\", value1, value2, \"productAttr\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNull() {\n            addCriterion(\"product_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNotNull() {\n            addCriterion(\"product_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountEqualTo(Integer value) {\n            addCriterion(\"product_count =\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotEqualTo(Integer value) {\n            addCriterion(\"product_count <>\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThan(Integer value) {\n            addCriterion(\"product_count >\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count >=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThan(Integer value) {\n            addCriterion(\"product_count <\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count <=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIn(List<Integer> values) {\n            addCriterion(\"product_count in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotIn(List<Integer> values) {\n            addCriterion(\"product_count not in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count not between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceIsNull() {\n            addCriterion(\"product_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceIsNotNull() {\n            addCriterion(\"product_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceEqualTo(BigDecimal value) {\n            addCriterion(\"product_price =\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"product_price <>\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"product_price >\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"product_price >=\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceLessThan(BigDecimal value) {\n            addCriterion(\"product_price <\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"product_price <=\", value, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceIn(List<BigDecimal> values) {\n            addCriterion(\"product_price in\", values, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"product_price not in\", values, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"product_price between\", value1, value2, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"product_price not between\", value1, value2, \"productPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceIsNull() {\n            addCriterion(\"product_real_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceIsNotNull() {\n            addCriterion(\"product_real_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceEqualTo(BigDecimal value) {\n            addCriterion(\"product_real_price =\", value, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"product_real_price <>\", value, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"product_real_price >\", value, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"product_real_price >=\", value, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceLessThan(BigDecimal value) {\n            addCriterion(\"product_real_price <\", value, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"product_real_price <=\", value, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceIn(List<BigDecimal> values) {\n            addCriterion(\"product_real_price in\", values, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"product_real_price not in\", values, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"product_real_price between\", value1, value2, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductRealPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"product_real_price not between\", value1, value2, \"productRealPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonIsNull() {\n            addCriterion(\"reason is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonIsNotNull() {\n            addCriterion(\"reason is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonEqualTo(String value) {\n            addCriterion(\"reason =\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonNotEqualTo(String value) {\n            addCriterion(\"reason <>\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonGreaterThan(String value) {\n            addCriterion(\"reason >\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonGreaterThanOrEqualTo(String value) {\n            addCriterion(\"reason >=\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonLessThan(String value) {\n            addCriterion(\"reason <\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonLessThanOrEqualTo(String value) {\n            addCriterion(\"reason <=\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonLike(String value) {\n            addCriterion(\"reason like\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonNotLike(String value) {\n            addCriterion(\"reason not like\", value, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonIn(List<String> values) {\n            addCriterion(\"reason in\", values, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonNotIn(List<String> values) {\n            addCriterion(\"reason not in\", values, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonBetween(String value1, String value2) {\n            addCriterion(\"reason between\", value1, value2, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReasonNotBetween(String value1, String value2) {\n            addCriterion(\"reason not between\", value1, value2, \"reason\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNull() {\n            addCriterion(\"description is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNotNull() {\n            addCriterion(\"description is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionEqualTo(String value) {\n            addCriterion(\"description =\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotEqualTo(String value) {\n            addCriterion(\"description <>\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThan(String value) {\n            addCriterion(\"description >\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"description >=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThan(String value) {\n            addCriterion(\"description <\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThanOrEqualTo(String value) {\n            addCriterion(\"description <=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLike(String value) {\n            addCriterion(\"description like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotLike(String value) {\n            addCriterion(\"description not like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIn(List<String> values) {\n            addCriterion(\"description in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotIn(List<String> values) {\n            addCriterion(\"description not in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionBetween(String value1, String value2) {\n            addCriterion(\"description between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotBetween(String value1, String value2) {\n            addCriterion(\"description not between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsIsNull() {\n            addCriterion(\"proof_pics is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsIsNotNull() {\n            addCriterion(\"proof_pics is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsEqualTo(String value) {\n            addCriterion(\"proof_pics =\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsNotEqualTo(String value) {\n            addCriterion(\"proof_pics <>\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsGreaterThan(String value) {\n            addCriterion(\"proof_pics >\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"proof_pics >=\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsLessThan(String value) {\n            addCriterion(\"proof_pics <\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsLessThanOrEqualTo(String value) {\n            addCriterion(\"proof_pics <=\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsLike(String value) {\n            addCriterion(\"proof_pics like\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsNotLike(String value) {\n            addCriterion(\"proof_pics not like\", value, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsIn(List<String> values) {\n            addCriterion(\"proof_pics in\", values, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsNotIn(List<String> values) {\n            addCriterion(\"proof_pics not in\", values, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsBetween(String value1, String value2) {\n            addCriterion(\"proof_pics between\", value1, value2, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProofPicsNotBetween(String value1, String value2) {\n            addCriterion(\"proof_pics not between\", value1, value2, \"proofPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteIsNull() {\n            addCriterion(\"handle_note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteIsNotNull() {\n            addCriterion(\"handle_note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteEqualTo(String value) {\n            addCriterion(\"handle_note =\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteNotEqualTo(String value) {\n            addCriterion(\"handle_note <>\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteGreaterThan(String value) {\n            addCriterion(\"handle_note >\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"handle_note >=\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteLessThan(String value) {\n            addCriterion(\"handle_note <\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"handle_note <=\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteLike(String value) {\n            addCriterion(\"handle_note like\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteNotLike(String value) {\n            addCriterion(\"handle_note not like\", value, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteIn(List<String> values) {\n            addCriterion(\"handle_note in\", values, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteNotIn(List<String> values) {\n            addCriterion(\"handle_note not in\", values, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteBetween(String value1, String value2) {\n            addCriterion(\"handle_note between\", value1, value2, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleNoteNotBetween(String value1, String value2) {\n            addCriterion(\"handle_note not between\", value1, value2, \"handleNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManIsNull() {\n            addCriterion(\"handle_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManIsNotNull() {\n            addCriterion(\"handle_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManEqualTo(String value) {\n            addCriterion(\"handle_man =\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManNotEqualTo(String value) {\n            addCriterion(\"handle_man <>\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManGreaterThan(String value) {\n            addCriterion(\"handle_man >\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"handle_man >=\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManLessThan(String value) {\n            addCriterion(\"handle_man <\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManLessThanOrEqualTo(String value) {\n            addCriterion(\"handle_man <=\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManLike(String value) {\n            addCriterion(\"handle_man like\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManNotLike(String value) {\n            addCriterion(\"handle_man not like\", value, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManIn(List<String> values) {\n            addCriterion(\"handle_man in\", values, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManNotIn(List<String> values) {\n            addCriterion(\"handle_man not in\", values, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManBetween(String value1, String value2) {\n            addCriterion(\"handle_man between\", value1, value2, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandleManNotBetween(String value1, String value2) {\n            addCriterion(\"handle_man not between\", value1, value2, \"handleMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManIsNull() {\n            addCriterion(\"receive_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManIsNotNull() {\n            addCriterion(\"receive_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManEqualTo(String value) {\n            addCriterion(\"receive_man =\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManNotEqualTo(String value) {\n            addCriterion(\"receive_man <>\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManGreaterThan(String value) {\n            addCriterion(\"receive_man >\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receive_man >=\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManLessThan(String value) {\n            addCriterion(\"receive_man <\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManLessThanOrEqualTo(String value) {\n            addCriterion(\"receive_man <=\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManLike(String value) {\n            addCriterion(\"receive_man like\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManNotLike(String value) {\n            addCriterion(\"receive_man not like\", value, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManIn(List<String> values) {\n            addCriterion(\"receive_man in\", values, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManNotIn(List<String> values) {\n            addCriterion(\"receive_man not in\", values, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManBetween(String value1, String value2) {\n            addCriterion(\"receive_man between\", value1, value2, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveManNotBetween(String value1, String value2) {\n            addCriterion(\"receive_man not between\", value1, value2, \"receiveMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeIsNull() {\n            addCriterion(\"receive_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeIsNotNull() {\n            addCriterion(\"receive_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeEqualTo(Date value) {\n            addCriterion(\"receive_time =\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeNotEqualTo(Date value) {\n            addCriterion(\"receive_time <>\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeGreaterThan(Date value) {\n            addCriterion(\"receive_time >\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"receive_time >=\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeLessThan(Date value) {\n            addCriterion(\"receive_time <\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"receive_time <=\", value, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeIn(List<Date> values) {\n            addCriterion(\"receive_time in\", values, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeNotIn(List<Date> values) {\n            addCriterion(\"receive_time not in\", values, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeBetween(Date value1, Date value2) {\n            addCriterion(\"receive_time between\", value1, value2, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"receive_time not between\", value1, value2, \"receiveTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteIsNull() {\n            addCriterion(\"receive_note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteIsNotNull() {\n            addCriterion(\"receive_note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteEqualTo(String value) {\n            addCriterion(\"receive_note =\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteNotEqualTo(String value) {\n            addCriterion(\"receive_note <>\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteGreaterThan(String value) {\n            addCriterion(\"receive_note >\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"receive_note >=\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteLessThan(String value) {\n            addCriterion(\"receive_note <\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"receive_note <=\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteLike(String value) {\n            addCriterion(\"receive_note like\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteNotLike(String value) {\n            addCriterion(\"receive_note not like\", value, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteIn(List<String> values) {\n            addCriterion(\"receive_note in\", values, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteNotIn(List<String> values) {\n            addCriterion(\"receive_note not in\", values, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteBetween(String value1, String value2) {\n            addCriterion(\"receive_note between\", value1, value2, \"receiveNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveNoteNotBetween(String value1, String value2) {\n            addCriterion(\"receive_note not between\", value1, value2, \"receiveNote\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnReason.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class OmsOrderReturnReason implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"退货类型\")\n    private String name;\n\n    private Integer sort;\n\n    @ApiModelProperty(value = \"状态：0->不启用；1->启用\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"添加时间\")\n    private Date createTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", status=\").append(status);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnReasonExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class OmsOrderReturnReasonExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsOrderReturnReasonExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderSetting.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class OmsOrderSetting implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"秒杀订单超时关闭时间(分)\")\n    private Integer flashOrderOvertime;\n\n    @ApiModelProperty(value = \"正常订单超时时间(分)\")\n    private Integer normalOrderOvertime;\n\n    @ApiModelProperty(value = \"发货后自动确认收货时间（天）\")\n    private Integer confirmOvertime;\n\n    @ApiModelProperty(value = \"自动完成交易时间，不能申请售后（天）\")\n    private Integer finishOvertime;\n\n    @ApiModelProperty(value = \"订单完成后自动好评时间（天）\")\n    private Integer commentOvertime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Integer getFlashOrderOvertime() {\n        return flashOrderOvertime;\n    }\n\n    public void setFlashOrderOvertime(Integer flashOrderOvertime) {\n        this.flashOrderOvertime = flashOrderOvertime;\n    }\n\n    public Integer getNormalOrderOvertime() {\n        return normalOrderOvertime;\n    }\n\n    public void setNormalOrderOvertime(Integer normalOrderOvertime) {\n        this.normalOrderOvertime = normalOrderOvertime;\n    }\n\n    public Integer getConfirmOvertime() {\n        return confirmOvertime;\n    }\n\n    public void setConfirmOvertime(Integer confirmOvertime) {\n        this.confirmOvertime = confirmOvertime;\n    }\n\n    public Integer getFinishOvertime() {\n        return finishOvertime;\n    }\n\n    public void setFinishOvertime(Integer finishOvertime) {\n        this.finishOvertime = finishOvertime;\n    }\n\n    public Integer getCommentOvertime() {\n        return commentOvertime;\n    }\n\n    public void setCommentOvertime(Integer commentOvertime) {\n        this.commentOvertime = commentOvertime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", flashOrderOvertime=\").append(flashOrderOvertime);\n        sb.append(\", normalOrderOvertime=\").append(normalOrderOvertime);\n        sb.append(\", confirmOvertime=\").append(confirmOvertime);\n        sb.append(\", finishOvertime=\").append(finishOvertime);\n        sb.append(\", commentOvertime=\").append(commentOvertime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/OmsOrderSettingExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class OmsOrderSettingExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public OmsOrderSettingExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeIsNull() {\n            addCriterion(\"flash_order_overtime is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeIsNotNull() {\n            addCriterion(\"flash_order_overtime is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeEqualTo(Integer value) {\n            addCriterion(\"flash_order_overtime =\", value, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeNotEqualTo(Integer value) {\n            addCriterion(\"flash_order_overtime <>\", value, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeGreaterThan(Integer value) {\n            addCriterion(\"flash_order_overtime >\", value, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"flash_order_overtime >=\", value, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeLessThan(Integer value) {\n            addCriterion(\"flash_order_overtime <\", value, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"flash_order_overtime <=\", value, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeIn(List<Integer> values) {\n            addCriterion(\"flash_order_overtime in\", values, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeNotIn(List<Integer> values) {\n            addCriterion(\"flash_order_overtime not in\", values, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeBetween(Integer value1, Integer value2) {\n            addCriterion(\"flash_order_overtime between\", value1, value2, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashOrderOvertimeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"flash_order_overtime not between\", value1, value2, \"flashOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeIsNull() {\n            addCriterion(\"normal_order_overtime is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeIsNotNull() {\n            addCriterion(\"normal_order_overtime is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeEqualTo(Integer value) {\n            addCriterion(\"normal_order_overtime =\", value, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeNotEqualTo(Integer value) {\n            addCriterion(\"normal_order_overtime <>\", value, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeGreaterThan(Integer value) {\n            addCriterion(\"normal_order_overtime >\", value, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"normal_order_overtime >=\", value, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeLessThan(Integer value) {\n            addCriterion(\"normal_order_overtime <\", value, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"normal_order_overtime <=\", value, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeIn(List<Integer> values) {\n            addCriterion(\"normal_order_overtime in\", values, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeNotIn(List<Integer> values) {\n            addCriterion(\"normal_order_overtime not in\", values, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeBetween(Integer value1, Integer value2) {\n            addCriterion(\"normal_order_overtime between\", value1, value2, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNormalOrderOvertimeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"normal_order_overtime not between\", value1, value2, \"normalOrderOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeIsNull() {\n            addCriterion(\"confirm_overtime is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeIsNotNull() {\n            addCriterion(\"confirm_overtime is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeEqualTo(Integer value) {\n            addCriterion(\"confirm_overtime =\", value, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeNotEqualTo(Integer value) {\n            addCriterion(\"confirm_overtime <>\", value, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeGreaterThan(Integer value) {\n            addCriterion(\"confirm_overtime >\", value, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"confirm_overtime >=\", value, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeLessThan(Integer value) {\n            addCriterion(\"confirm_overtime <\", value, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"confirm_overtime <=\", value, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeIn(List<Integer> values) {\n            addCriterion(\"confirm_overtime in\", values, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeNotIn(List<Integer> values) {\n            addCriterion(\"confirm_overtime not in\", values, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeBetween(Integer value1, Integer value2) {\n            addCriterion(\"confirm_overtime between\", value1, value2, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConfirmOvertimeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"confirm_overtime not between\", value1, value2, \"confirmOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeIsNull() {\n            addCriterion(\"finish_overtime is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeIsNotNull() {\n            addCriterion(\"finish_overtime is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeEqualTo(Integer value) {\n            addCriterion(\"finish_overtime =\", value, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeNotEqualTo(Integer value) {\n            addCriterion(\"finish_overtime <>\", value, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeGreaterThan(Integer value) {\n            addCriterion(\"finish_overtime >\", value, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"finish_overtime >=\", value, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeLessThan(Integer value) {\n            addCriterion(\"finish_overtime <\", value, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"finish_overtime <=\", value, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeIn(List<Integer> values) {\n            addCriterion(\"finish_overtime in\", values, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeNotIn(List<Integer> values) {\n            addCriterion(\"finish_overtime not in\", values, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeBetween(Integer value1, Integer value2) {\n            addCriterion(\"finish_overtime between\", value1, value2, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOvertimeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"finish_overtime not between\", value1, value2, \"finishOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeIsNull() {\n            addCriterion(\"comment_overtime is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeIsNotNull() {\n            addCriterion(\"comment_overtime is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeEqualTo(Integer value) {\n            addCriterion(\"comment_overtime =\", value, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeNotEqualTo(Integer value) {\n            addCriterion(\"comment_overtime <>\", value, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeGreaterThan(Integer value) {\n            addCriterion(\"comment_overtime >\", value, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_overtime >=\", value, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeLessThan(Integer value) {\n            addCriterion(\"comment_overtime <\", value, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_overtime <=\", value, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeIn(List<Integer> values) {\n            addCriterion(\"comment_overtime in\", values, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeNotIn(List<Integer> values) {\n            addCriterion(\"comment_overtime not in\", values, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_overtime between\", value1, value2, \"commentOvertime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentOvertimeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_overtime not between\", value1, value2, \"commentOvertime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsAlbum.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsAlbum implements Serializable {\n    private Long id;\n\n    private String name;\n\n    private String coverPic;\n\n    private Integer picCount;\n\n    private Integer sort;\n\n    private String description;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getCoverPic() {\n        return coverPic;\n    }\n\n    public void setCoverPic(String coverPic) {\n        this.coverPic = coverPic;\n    }\n\n    public Integer getPicCount() {\n        return picCount;\n    }\n\n    public void setPicCount(Integer picCount) {\n        this.picCount = picCount;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", coverPic=\").append(coverPic);\n        sb.append(\", picCount=\").append(picCount);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", description=\").append(description);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsAlbumExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsAlbumExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsAlbumExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicIsNull() {\n            addCriterion(\"cover_pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicIsNotNull() {\n            addCriterion(\"cover_pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicEqualTo(String value) {\n            addCriterion(\"cover_pic =\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicNotEqualTo(String value) {\n            addCriterion(\"cover_pic <>\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicGreaterThan(String value) {\n            addCriterion(\"cover_pic >\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"cover_pic >=\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicLessThan(String value) {\n            addCriterion(\"cover_pic <\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicLessThanOrEqualTo(String value) {\n            addCriterion(\"cover_pic <=\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicLike(String value) {\n            addCriterion(\"cover_pic like\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicNotLike(String value) {\n            addCriterion(\"cover_pic not like\", value, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicIn(List<String> values) {\n            addCriterion(\"cover_pic in\", values, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicNotIn(List<String> values) {\n            addCriterion(\"cover_pic not in\", values, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicBetween(String value1, String value2) {\n            addCriterion(\"cover_pic between\", value1, value2, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCoverPicNotBetween(String value1, String value2) {\n            addCriterion(\"cover_pic not between\", value1, value2, \"coverPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountIsNull() {\n            addCriterion(\"pic_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountIsNotNull() {\n            addCriterion(\"pic_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountEqualTo(Integer value) {\n            addCriterion(\"pic_count =\", value, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountNotEqualTo(Integer value) {\n            addCriterion(\"pic_count <>\", value, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountGreaterThan(Integer value) {\n            addCriterion(\"pic_count >\", value, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"pic_count >=\", value, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountLessThan(Integer value) {\n            addCriterion(\"pic_count <\", value, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"pic_count <=\", value, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountIn(List<Integer> values) {\n            addCriterion(\"pic_count in\", values, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountNotIn(List<Integer> values) {\n            addCriterion(\"pic_count not in\", values, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"pic_count between\", value1, value2, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"pic_count not between\", value1, value2, \"picCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNull() {\n            addCriterion(\"description is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNotNull() {\n            addCriterion(\"description is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionEqualTo(String value) {\n            addCriterion(\"description =\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotEqualTo(String value) {\n            addCriterion(\"description <>\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThan(String value) {\n            addCriterion(\"description >\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"description >=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThan(String value) {\n            addCriterion(\"description <\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThanOrEqualTo(String value) {\n            addCriterion(\"description <=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLike(String value) {\n            addCriterion(\"description like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotLike(String value) {\n            addCriterion(\"description not like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIn(List<String> values) {\n            addCriterion(\"description in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotIn(List<String> values) {\n            addCriterion(\"description not in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionBetween(String value1, String value2) {\n            addCriterion(\"description between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotBetween(String value1, String value2) {\n            addCriterion(\"description not between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsAlbumPic.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsAlbumPic implements Serializable {\n    private Long id;\n\n    private Long albumId;\n\n    private String pic;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getAlbumId() {\n        return albumId;\n    }\n\n    public void setAlbumId(Long albumId) {\n        this.albumId = albumId;\n    }\n\n    public String getPic() {\n        return pic;\n    }\n\n    public void setPic(String pic) {\n        this.pic = pic;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", albumId=\").append(albumId);\n        sb.append(\", pic=\").append(pic);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsAlbumPicExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsAlbumPicExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsAlbumPicExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdIsNull() {\n            addCriterion(\"album_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdIsNotNull() {\n            addCriterion(\"album_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdEqualTo(Long value) {\n            addCriterion(\"album_id =\", value, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdNotEqualTo(Long value) {\n            addCriterion(\"album_id <>\", value, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdGreaterThan(Long value) {\n            addCriterion(\"album_id >\", value, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"album_id >=\", value, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdLessThan(Long value) {\n            addCriterion(\"album_id <\", value, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"album_id <=\", value, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdIn(List<Long> values) {\n            addCriterion(\"album_id in\", values, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdNotIn(List<Long> values) {\n            addCriterion(\"album_id not in\", values, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdBetween(Long value1, Long value2) {\n            addCriterion(\"album_id between\", value1, value2, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"album_id not between\", value1, value2, \"albumId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNull() {\n            addCriterion(\"pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNotNull() {\n            addCriterion(\"pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicEqualTo(String value) {\n            addCriterion(\"pic =\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotEqualTo(String value) {\n            addCriterion(\"pic <>\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThan(String value) {\n            addCriterion(\"pic >\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"pic >=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThan(String value) {\n            addCriterion(\"pic <\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThanOrEqualTo(String value) {\n            addCriterion(\"pic <=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLike(String value) {\n            addCriterion(\"pic like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotLike(String value) {\n            addCriterion(\"pic not like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIn(List<String> values) {\n            addCriterion(\"pic in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotIn(List<String> values) {\n            addCriterion(\"pic not in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicBetween(String value1, String value2) {\n            addCriterion(\"pic between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotBetween(String value1, String value2) {\n            addCriterion(\"pic not between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsBrand.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsBrand implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"首字母\")\n    private String firstLetter;\n\n    private Integer sort;\n\n    @ApiModelProperty(value = \"是否为品牌制造商：0->不是；1->是\")\n    private Integer factoryStatus;\n\n    private Integer showStatus;\n\n    @ApiModelProperty(value = \"产品数量\")\n    private Integer productCount;\n\n    @ApiModelProperty(value = \"产品评论数量\")\n    private Integer productCommentCount;\n\n    @ApiModelProperty(value = \"品牌logo\")\n    private String logo;\n\n    @ApiModelProperty(value = \"专区大图\")\n    private String bigPic;\n\n    @ApiModelProperty(value = \"品牌故事\")\n    private String brandStory;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getFirstLetter() {\n        return firstLetter;\n    }\n\n    public void setFirstLetter(String firstLetter) {\n        this.firstLetter = firstLetter;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public Integer getFactoryStatus() {\n        return factoryStatus;\n    }\n\n    public void setFactoryStatus(Integer factoryStatus) {\n        this.factoryStatus = factoryStatus;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Integer getProductCount() {\n        return productCount;\n    }\n\n    public void setProductCount(Integer productCount) {\n        this.productCount = productCount;\n    }\n\n    public Integer getProductCommentCount() {\n        return productCommentCount;\n    }\n\n    public void setProductCommentCount(Integer productCommentCount) {\n        this.productCommentCount = productCommentCount;\n    }\n\n    public String getLogo() {\n        return logo;\n    }\n\n    public void setLogo(String logo) {\n        this.logo = logo;\n    }\n\n    public String getBigPic() {\n        return bigPic;\n    }\n\n    public void setBigPic(String bigPic) {\n        this.bigPic = bigPic;\n    }\n\n    public String getBrandStory() {\n        return brandStory;\n    }\n\n    public void setBrandStory(String brandStory) {\n        this.brandStory = brandStory;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", firstLetter=\").append(firstLetter);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", factoryStatus=\").append(factoryStatus);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", productCount=\").append(productCount);\n        sb.append(\", productCommentCount=\").append(productCommentCount);\n        sb.append(\", logo=\").append(logo);\n        sb.append(\", bigPic=\").append(bigPic);\n        sb.append(\", brandStory=\").append(brandStory);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsBrandExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsBrandExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsBrandExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterIsNull() {\n            addCriterion(\"first_letter is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterIsNotNull() {\n            addCriterion(\"first_letter is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterEqualTo(String value) {\n            addCriterion(\"first_letter =\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterNotEqualTo(String value) {\n            addCriterion(\"first_letter <>\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterGreaterThan(String value) {\n            addCriterion(\"first_letter >\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterGreaterThanOrEqualTo(String value) {\n            addCriterion(\"first_letter >=\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterLessThan(String value) {\n            addCriterion(\"first_letter <\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterLessThanOrEqualTo(String value) {\n            addCriterion(\"first_letter <=\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterLike(String value) {\n            addCriterion(\"first_letter like\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterNotLike(String value) {\n            addCriterion(\"first_letter not like\", value, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterIn(List<String> values) {\n            addCriterion(\"first_letter in\", values, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterNotIn(List<String> values) {\n            addCriterion(\"first_letter not in\", values, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterBetween(String value1, String value2) {\n            addCriterion(\"first_letter between\", value1, value2, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstLetterNotBetween(String value1, String value2) {\n            addCriterion(\"first_letter not between\", value1, value2, \"firstLetter\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusIsNull() {\n            addCriterion(\"factory_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusIsNotNull() {\n            addCriterion(\"factory_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusEqualTo(Integer value) {\n            addCriterion(\"factory_status =\", value, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusNotEqualTo(Integer value) {\n            addCriterion(\"factory_status <>\", value, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusGreaterThan(Integer value) {\n            addCriterion(\"factory_status >\", value, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"factory_status >=\", value, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusLessThan(Integer value) {\n            addCriterion(\"factory_status <\", value, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"factory_status <=\", value, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusIn(List<Integer> values) {\n            addCriterion(\"factory_status in\", values, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusNotIn(List<Integer> values) {\n            addCriterion(\"factory_status not in\", values, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"factory_status between\", value1, value2, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFactoryStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"factory_status not between\", value1, value2, \"factoryStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNull() {\n            addCriterion(\"product_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNotNull() {\n            addCriterion(\"product_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountEqualTo(Integer value) {\n            addCriterion(\"product_count =\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotEqualTo(Integer value) {\n            addCriterion(\"product_count <>\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThan(Integer value) {\n            addCriterion(\"product_count >\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count >=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThan(Integer value) {\n            addCriterion(\"product_count <\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count <=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIn(List<Integer> values) {\n            addCriterion(\"product_count in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotIn(List<Integer> values) {\n            addCriterion(\"product_count not in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count not between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountIsNull() {\n            addCriterion(\"product_comment_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountIsNotNull() {\n            addCriterion(\"product_comment_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountEqualTo(Integer value) {\n            addCriterion(\"product_comment_count =\", value, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountNotEqualTo(Integer value) {\n            addCriterion(\"product_comment_count <>\", value, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountGreaterThan(Integer value) {\n            addCriterion(\"product_comment_count >\", value, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"product_comment_count >=\", value, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountLessThan(Integer value) {\n            addCriterion(\"product_comment_count <\", value, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"product_comment_count <=\", value, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountIn(List<Integer> values) {\n            addCriterion(\"product_comment_count in\", values, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountNotIn(List<Integer> values) {\n            addCriterion(\"product_comment_count not in\", values, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_comment_count between\", value1, value2, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCommentCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_comment_count not between\", value1, value2, \"productCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoIsNull() {\n            addCriterion(\"logo is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoIsNotNull() {\n            addCriterion(\"logo is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoEqualTo(String value) {\n            addCriterion(\"logo =\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoNotEqualTo(String value) {\n            addCriterion(\"logo <>\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoGreaterThan(String value) {\n            addCriterion(\"logo >\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoGreaterThanOrEqualTo(String value) {\n            addCriterion(\"logo >=\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoLessThan(String value) {\n            addCriterion(\"logo <\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoLessThanOrEqualTo(String value) {\n            addCriterion(\"logo <=\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoLike(String value) {\n            addCriterion(\"logo like\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoNotLike(String value) {\n            addCriterion(\"logo not like\", value, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoIn(List<String> values) {\n            addCriterion(\"logo in\", values, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoNotIn(List<String> values) {\n            addCriterion(\"logo not in\", values, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoBetween(String value1, String value2) {\n            addCriterion(\"logo between\", value1, value2, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLogoNotBetween(String value1, String value2) {\n            addCriterion(\"logo not between\", value1, value2, \"logo\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicIsNull() {\n            addCriterion(\"big_pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicIsNotNull() {\n            addCriterion(\"big_pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicEqualTo(String value) {\n            addCriterion(\"big_pic =\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicNotEqualTo(String value) {\n            addCriterion(\"big_pic <>\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicGreaterThan(String value) {\n            addCriterion(\"big_pic >\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"big_pic >=\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicLessThan(String value) {\n            addCriterion(\"big_pic <\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicLessThanOrEqualTo(String value) {\n            addCriterion(\"big_pic <=\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicLike(String value) {\n            addCriterion(\"big_pic like\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicNotLike(String value) {\n            addCriterion(\"big_pic not like\", value, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicIn(List<String> values) {\n            addCriterion(\"big_pic in\", values, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicNotIn(List<String> values) {\n            addCriterion(\"big_pic not in\", values, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicBetween(String value1, String value2) {\n            addCriterion(\"big_pic between\", value1, value2, \"bigPic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBigPicNotBetween(String value1, String value2) {\n            addCriterion(\"big_pic not between\", value1, value2, \"bigPic\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsComment.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class PmsComment implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private String memberNickName;\n\n    private String productName;\n\n    @ApiModelProperty(value = \"评价星数：0->5\")\n    private Integer star;\n\n    @ApiModelProperty(value = \"评价的ip\")\n    private String memberIp;\n\n    private Date createTime;\n\n    private Integer showStatus;\n\n    @ApiModelProperty(value = \"购买时的商品属性\")\n    private String productAttribute;\n\n    private Integer collectCouont;\n\n    private Integer readCount;\n\n    @ApiModelProperty(value = \"上传图片地址，以逗号隔开\")\n    private String pics;\n\n    @ApiModelProperty(value = \"评论用户头像\")\n    private String memberIcon;\n\n    private Integer replayCount;\n\n    private String content;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getMemberNickName() {\n        return memberNickName;\n    }\n\n    public void setMemberNickName(String memberNickName) {\n        this.memberNickName = memberNickName;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public Integer getStar() {\n        return star;\n    }\n\n    public void setStar(Integer star) {\n        this.star = star;\n    }\n\n    public String getMemberIp() {\n        return memberIp;\n    }\n\n    public void setMemberIp(String memberIp) {\n        this.memberIp = memberIp;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public String getProductAttribute() {\n        return productAttribute;\n    }\n\n    public void setProductAttribute(String productAttribute) {\n        this.productAttribute = productAttribute;\n    }\n\n    public Integer getCollectCouont() {\n        return collectCouont;\n    }\n\n    public void setCollectCouont(Integer collectCouont) {\n        this.collectCouont = collectCouont;\n    }\n\n    public Integer getReadCount() {\n        return readCount;\n    }\n\n    public void setReadCount(Integer readCount) {\n        this.readCount = readCount;\n    }\n\n    public String getPics() {\n        return pics;\n    }\n\n    public void setPics(String pics) {\n        this.pics = pics;\n    }\n\n    public String getMemberIcon() {\n        return memberIcon;\n    }\n\n    public void setMemberIcon(String memberIcon) {\n        this.memberIcon = memberIcon;\n    }\n\n    public Integer getReplayCount() {\n        return replayCount;\n    }\n\n    public void setReplayCount(Integer replayCount) {\n        this.replayCount = replayCount;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", memberNickName=\").append(memberNickName);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", star=\").append(star);\n        sb.append(\", memberIp=\").append(memberIp);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", productAttribute=\").append(productAttribute);\n        sb.append(\", collectCouont=\").append(collectCouont);\n        sb.append(\", readCount=\").append(readCount);\n        sb.append(\", pics=\").append(pics);\n        sb.append(\", memberIcon=\").append(memberIcon);\n        sb.append(\", replayCount=\").append(replayCount);\n        sb.append(\", content=\").append(content);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsCommentExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class PmsCommentExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsCommentExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNull() {\n            addCriterion(\"member_nick_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNotNull() {\n            addCriterion(\"member_nick_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameEqualTo(String value) {\n            addCriterion(\"member_nick_name =\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotEqualTo(String value) {\n            addCriterion(\"member_nick_name <>\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThan(String value) {\n            addCriterion(\"member_nick_name >\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name >=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThan(String value) {\n            addCriterion(\"member_nick_name <\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name <=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLike(String value) {\n            addCriterion(\"member_nick_name like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotLike(String value) {\n            addCriterion(\"member_nick_name not like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIn(List<String> values) {\n            addCriterion(\"member_nick_name in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotIn(List<String> values) {\n            addCriterion(\"member_nick_name not in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name not between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarIsNull() {\n            addCriterion(\"star is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarIsNotNull() {\n            addCriterion(\"star is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarEqualTo(Integer value) {\n            addCriterion(\"star =\", value, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarNotEqualTo(Integer value) {\n            addCriterion(\"star <>\", value, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarGreaterThan(Integer value) {\n            addCriterion(\"star >\", value, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"star >=\", value, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarLessThan(Integer value) {\n            addCriterion(\"star <\", value, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarLessThanOrEqualTo(Integer value) {\n            addCriterion(\"star <=\", value, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarIn(List<Integer> values) {\n            addCriterion(\"star in\", values, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarNotIn(List<Integer> values) {\n            addCriterion(\"star not in\", values, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarBetween(Integer value1, Integer value2) {\n            addCriterion(\"star between\", value1, value2, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStarNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"star not between\", value1, value2, \"star\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpIsNull() {\n            addCriterion(\"member_ip is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpIsNotNull() {\n            addCriterion(\"member_ip is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpEqualTo(String value) {\n            addCriterion(\"member_ip =\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpNotEqualTo(String value) {\n            addCriterion(\"member_ip <>\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpGreaterThan(String value) {\n            addCriterion(\"member_ip >\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_ip >=\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpLessThan(String value) {\n            addCriterion(\"member_ip <\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpLessThanOrEqualTo(String value) {\n            addCriterion(\"member_ip <=\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpLike(String value) {\n            addCriterion(\"member_ip like\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpNotLike(String value) {\n            addCriterion(\"member_ip not like\", value, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpIn(List<String> values) {\n            addCriterion(\"member_ip in\", values, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpNotIn(List<String> values) {\n            addCriterion(\"member_ip not in\", values, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpBetween(String value1, String value2) {\n            addCriterion(\"member_ip between\", value1, value2, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIpNotBetween(String value1, String value2) {\n            addCriterion(\"member_ip not between\", value1, value2, \"memberIp\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIsNull() {\n            addCriterion(\"product_attribute is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIsNotNull() {\n            addCriterion(\"product_attribute is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeEqualTo(String value) {\n            addCriterion(\"product_attribute =\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeNotEqualTo(String value) {\n            addCriterion(\"product_attribute <>\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeGreaterThan(String value) {\n            addCriterion(\"product_attribute >\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_attribute >=\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeLessThan(String value) {\n            addCriterion(\"product_attribute <\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeLessThanOrEqualTo(String value) {\n            addCriterion(\"product_attribute <=\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeLike(String value) {\n            addCriterion(\"product_attribute like\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeNotLike(String value) {\n            addCriterion(\"product_attribute not like\", value, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIn(List<String> values) {\n            addCriterion(\"product_attribute in\", values, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeNotIn(List<String> values) {\n            addCriterion(\"product_attribute not in\", values, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeBetween(String value1, String value2) {\n            addCriterion(\"product_attribute between\", value1, value2, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeNotBetween(String value1, String value2) {\n            addCriterion(\"product_attribute not between\", value1, value2, \"productAttribute\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontIsNull() {\n            addCriterion(\"collect_couont is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontIsNotNull() {\n            addCriterion(\"collect_couont is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontEqualTo(Integer value) {\n            addCriterion(\"collect_couont =\", value, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontNotEqualTo(Integer value) {\n            addCriterion(\"collect_couont <>\", value, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontGreaterThan(Integer value) {\n            addCriterion(\"collect_couont >\", value, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_couont >=\", value, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontLessThan(Integer value) {\n            addCriterion(\"collect_couont <\", value, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontLessThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_couont <=\", value, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontIn(List<Integer> values) {\n            addCriterion(\"collect_couont in\", values, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontNotIn(List<Integer> values) {\n            addCriterion(\"collect_couont not in\", values, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_couont between\", value1, value2, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCouontNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_couont not between\", value1, value2, \"collectCouont\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNull() {\n            addCriterion(\"read_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIsNotNull() {\n            addCriterion(\"read_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountEqualTo(Integer value) {\n            addCriterion(\"read_count =\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotEqualTo(Integer value) {\n            addCriterion(\"read_count <>\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThan(Integer value) {\n            addCriterion(\"read_count >\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count >=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThan(Integer value) {\n            addCriterion(\"read_count <\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"read_count <=\", value, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountIn(List<Integer> values) {\n            addCriterion(\"read_count in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotIn(List<Integer> values) {\n            addCriterion(\"read_count not in\", values, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReadCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"read_count not between\", value1, value2, \"readCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsIsNull() {\n            addCriterion(\"pics is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsIsNotNull() {\n            addCriterion(\"pics is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsEqualTo(String value) {\n            addCriterion(\"pics =\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsNotEqualTo(String value) {\n            addCriterion(\"pics <>\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsGreaterThan(String value) {\n            addCriterion(\"pics >\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"pics >=\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsLessThan(String value) {\n            addCriterion(\"pics <\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsLessThanOrEqualTo(String value) {\n            addCriterion(\"pics <=\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsLike(String value) {\n            addCriterion(\"pics like\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsNotLike(String value) {\n            addCriterion(\"pics not like\", value, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsIn(List<String> values) {\n            addCriterion(\"pics in\", values, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsNotIn(List<String> values) {\n            addCriterion(\"pics not in\", values, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsBetween(String value1, String value2) {\n            addCriterion(\"pics between\", value1, value2, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicsNotBetween(String value1, String value2) {\n            addCriterion(\"pics not between\", value1, value2, \"pics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNull() {\n            addCriterion(\"member_icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNotNull() {\n            addCriterion(\"member_icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconEqualTo(String value) {\n            addCriterion(\"member_icon =\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotEqualTo(String value) {\n            addCriterion(\"member_icon <>\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThan(String value) {\n            addCriterion(\"member_icon >\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_icon >=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThan(String value) {\n            addCriterion(\"member_icon <\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThanOrEqualTo(String value) {\n            addCriterion(\"member_icon <=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLike(String value) {\n            addCriterion(\"member_icon like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotLike(String value) {\n            addCriterion(\"member_icon not like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIn(List<String> values) {\n            addCriterion(\"member_icon in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotIn(List<String> values) {\n            addCriterion(\"member_icon not in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconBetween(String value1, String value2) {\n            addCriterion(\"member_icon between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotBetween(String value1, String value2) {\n            addCriterion(\"member_icon not between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountIsNull() {\n            addCriterion(\"replay_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountIsNotNull() {\n            addCriterion(\"replay_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountEqualTo(Integer value) {\n            addCriterion(\"replay_count =\", value, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountNotEqualTo(Integer value) {\n            addCriterion(\"replay_count <>\", value, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountGreaterThan(Integer value) {\n            addCriterion(\"replay_count >\", value, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"replay_count >=\", value, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountLessThan(Integer value) {\n            addCriterion(\"replay_count <\", value, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"replay_count <=\", value, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountIn(List<Integer> values) {\n            addCriterion(\"replay_count in\", values, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountNotIn(List<Integer> values) {\n            addCriterion(\"replay_count not in\", values, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"replay_count between\", value1, value2, \"replayCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReplayCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"replay_count not between\", value1, value2, \"replayCount\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsCommentReplay.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class PmsCommentReplay implements Serializable {\n    private Long id;\n\n    private Long commentId;\n\n    private String memberNickName;\n\n    private String memberIcon;\n\n    private String content;\n\n    private Date createTime;\n\n    @ApiModelProperty(value = \"评论人员类型；0->会员；1->管理员\")\n    private Integer type;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCommentId() {\n        return commentId;\n    }\n\n    public void setCommentId(Long commentId) {\n        this.commentId = commentId;\n    }\n\n    public String getMemberNickName() {\n        return memberNickName;\n    }\n\n    public void setMemberNickName(String memberNickName) {\n        this.memberNickName = memberNickName;\n    }\n\n    public String getMemberIcon() {\n        return memberIcon;\n    }\n\n    public void setMemberIcon(String memberIcon) {\n        this.memberIcon = memberIcon;\n    }\n\n    public String getContent() {\n        return content;\n    }\n\n    public void setContent(String content) {\n        this.content = content;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", commentId=\").append(commentId);\n        sb.append(\", memberNickName=\").append(memberNickName);\n        sb.append(\", memberIcon=\").append(memberIcon);\n        sb.append(\", content=\").append(content);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", type=\").append(type);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsCommentReplayExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class PmsCommentReplayExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsCommentReplayExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdIsNull() {\n            addCriterion(\"comment_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdIsNotNull() {\n            addCriterion(\"comment_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdEqualTo(Long value) {\n            addCriterion(\"comment_id =\", value, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdNotEqualTo(Long value) {\n            addCriterion(\"comment_id <>\", value, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdGreaterThan(Long value) {\n            addCriterion(\"comment_id >\", value, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"comment_id >=\", value, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdLessThan(Long value) {\n            addCriterion(\"comment_id <\", value, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"comment_id <=\", value, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdIn(List<Long> values) {\n            addCriterion(\"comment_id in\", values, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdNotIn(List<Long> values) {\n            addCriterion(\"comment_id not in\", values, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdBetween(Long value1, Long value2) {\n            addCriterion(\"comment_id between\", value1, value2, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"comment_id not between\", value1, value2, \"commentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNull() {\n            addCriterion(\"member_nick_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIsNotNull() {\n            addCriterion(\"member_nick_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameEqualTo(String value) {\n            addCriterion(\"member_nick_name =\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotEqualTo(String value) {\n            addCriterion(\"member_nick_name <>\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThan(String value) {\n            addCriterion(\"member_nick_name >\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name >=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThan(String value) {\n            addCriterion(\"member_nick_name <\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_nick_name <=\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameLike(String value) {\n            addCriterion(\"member_nick_name like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotLike(String value) {\n            addCriterion(\"member_nick_name not like\", value, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameIn(List<String> values) {\n            addCriterion(\"member_nick_name in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotIn(List<String> values) {\n            addCriterion(\"member_nick_name not in\", values, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNickNameNotBetween(String value1, String value2) {\n            addCriterion(\"member_nick_name not between\", value1, value2, \"memberNickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNull() {\n            addCriterion(\"member_icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIsNotNull() {\n            addCriterion(\"member_icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconEqualTo(String value) {\n            addCriterion(\"member_icon =\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotEqualTo(String value) {\n            addCriterion(\"member_icon <>\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThan(String value) {\n            addCriterion(\"member_icon >\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_icon >=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThan(String value) {\n            addCriterion(\"member_icon <\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLessThanOrEqualTo(String value) {\n            addCriterion(\"member_icon <=\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconLike(String value) {\n            addCriterion(\"member_icon like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotLike(String value) {\n            addCriterion(\"member_icon not like\", value, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconIn(List<String> values) {\n            addCriterion(\"member_icon in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotIn(List<String> values) {\n            addCriterion(\"member_icon not in\", values, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconBetween(String value1, String value2) {\n            addCriterion(\"member_icon between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIconNotBetween(String value1, String value2) {\n            addCriterion(\"member_icon not between\", value1, value2, \"memberIcon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIsNull() {\n            addCriterion(\"content is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIsNotNull() {\n            addCriterion(\"content is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentEqualTo(String value) {\n            addCriterion(\"content =\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotEqualTo(String value) {\n            addCriterion(\"content <>\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentGreaterThan(String value) {\n            addCriterion(\"content >\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentGreaterThanOrEqualTo(String value) {\n            addCriterion(\"content >=\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLessThan(String value) {\n            addCriterion(\"content <\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLessThanOrEqualTo(String value) {\n            addCriterion(\"content <=\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentLike(String value) {\n            addCriterion(\"content like\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotLike(String value) {\n            addCriterion(\"content not like\", value, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentIn(List<String> values) {\n            addCriterion(\"content in\", values, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotIn(List<String> values) {\n            addCriterion(\"content not in\", values, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentBetween(String value1, String value2) {\n            addCriterion(\"content between\", value1, value2, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContentNotBetween(String value1, String value2) {\n            addCriterion(\"content not between\", value1, value2, \"content\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsFeightTemplate.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class PmsFeightTemplate implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"计费类型:0->按重量；1->按件数\")\n    private Integer chargeType;\n\n    @ApiModelProperty(value = \"首重kg\")\n    private BigDecimal firstWeight;\n\n    @ApiModelProperty(value = \"首费（元）\")\n    private BigDecimal firstFee;\n\n    private BigDecimal continueWeight;\n\n    private BigDecimal continmeFee;\n\n    @ApiModelProperty(value = \"目的地（省、市）\")\n    private String dest;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getChargeType() {\n        return chargeType;\n    }\n\n    public void setChargeType(Integer chargeType) {\n        this.chargeType = chargeType;\n    }\n\n    public BigDecimal getFirstWeight() {\n        return firstWeight;\n    }\n\n    public void setFirstWeight(BigDecimal firstWeight) {\n        this.firstWeight = firstWeight;\n    }\n\n    public BigDecimal getFirstFee() {\n        return firstFee;\n    }\n\n    public void setFirstFee(BigDecimal firstFee) {\n        this.firstFee = firstFee;\n    }\n\n    public BigDecimal getContinueWeight() {\n        return continueWeight;\n    }\n\n    public void setContinueWeight(BigDecimal continueWeight) {\n        this.continueWeight = continueWeight;\n    }\n\n    public BigDecimal getContinmeFee() {\n        return continmeFee;\n    }\n\n    public void setContinmeFee(BigDecimal continmeFee) {\n        this.continmeFee = continmeFee;\n    }\n\n    public String getDest() {\n        return dest;\n    }\n\n    public void setDest(String dest) {\n        this.dest = dest;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", chargeType=\").append(chargeType);\n        sb.append(\", firstWeight=\").append(firstWeight);\n        sb.append(\", firstFee=\").append(firstFee);\n        sb.append(\", continueWeight=\").append(continueWeight);\n        sb.append(\", continmeFee=\").append(continmeFee);\n        sb.append(\", dest=\").append(dest);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsFeightTemplateExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsFeightTemplateExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsFeightTemplateExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeIsNull() {\n            addCriterion(\"charge_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeIsNotNull() {\n            addCriterion(\"charge_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeEqualTo(Integer value) {\n            addCriterion(\"charge_type =\", value, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeNotEqualTo(Integer value) {\n            addCriterion(\"charge_type <>\", value, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeGreaterThan(Integer value) {\n            addCriterion(\"charge_type >\", value, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"charge_type >=\", value, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeLessThan(Integer value) {\n            addCriterion(\"charge_type <\", value, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"charge_type <=\", value, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeIn(List<Integer> values) {\n            addCriterion(\"charge_type in\", values, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeNotIn(List<Integer> values) {\n            addCriterion(\"charge_type not in\", values, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"charge_type between\", value1, value2, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChargeTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"charge_type not between\", value1, value2, \"chargeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightIsNull() {\n            addCriterion(\"first_weight is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightIsNotNull() {\n            addCriterion(\"first_weight is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightEqualTo(BigDecimal value) {\n            addCriterion(\"first_weight =\", value, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightNotEqualTo(BigDecimal value) {\n            addCriterion(\"first_weight <>\", value, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightGreaterThan(BigDecimal value) {\n            addCriterion(\"first_weight >\", value, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"first_weight >=\", value, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightLessThan(BigDecimal value) {\n            addCriterion(\"first_weight <\", value, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"first_weight <=\", value, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightIn(List<BigDecimal> values) {\n            addCriterion(\"first_weight in\", values, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightNotIn(List<BigDecimal> values) {\n            addCriterion(\"first_weight not in\", values, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"first_weight between\", value1, value2, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstWeightNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"first_weight not between\", value1, value2, \"firstWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeIsNull() {\n            addCriterion(\"first_fee is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeIsNotNull() {\n            addCriterion(\"first_fee is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeEqualTo(BigDecimal value) {\n            addCriterion(\"first_fee =\", value, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeNotEqualTo(BigDecimal value) {\n            addCriterion(\"first_fee <>\", value, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeGreaterThan(BigDecimal value) {\n            addCriterion(\"first_fee >\", value, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"first_fee >=\", value, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeLessThan(BigDecimal value) {\n            addCriterion(\"first_fee <\", value, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"first_fee <=\", value, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeIn(List<BigDecimal> values) {\n            addCriterion(\"first_fee in\", values, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeNotIn(List<BigDecimal> values) {\n            addCriterion(\"first_fee not in\", values, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"first_fee between\", value1, value2, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFirstFeeNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"first_fee not between\", value1, value2, \"firstFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightIsNull() {\n            addCriterion(\"continue_weight is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightIsNotNull() {\n            addCriterion(\"continue_weight is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightEqualTo(BigDecimal value) {\n            addCriterion(\"continue_weight =\", value, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightNotEqualTo(BigDecimal value) {\n            addCriterion(\"continue_weight <>\", value, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightGreaterThan(BigDecimal value) {\n            addCriterion(\"continue_weight >\", value, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"continue_weight >=\", value, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightLessThan(BigDecimal value) {\n            addCriterion(\"continue_weight <\", value, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"continue_weight <=\", value, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightIn(List<BigDecimal> values) {\n            addCriterion(\"continue_weight in\", values, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightNotIn(List<BigDecimal> values) {\n            addCriterion(\"continue_weight not in\", values, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"continue_weight between\", value1, value2, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueWeightNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"continue_weight not between\", value1, value2, \"continueWeight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeIsNull() {\n            addCriterion(\"continme_fee is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeIsNotNull() {\n            addCriterion(\"continme_fee is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeEqualTo(BigDecimal value) {\n            addCriterion(\"continme_fee =\", value, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeNotEqualTo(BigDecimal value) {\n            addCriterion(\"continme_fee <>\", value, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeGreaterThan(BigDecimal value) {\n            addCriterion(\"continme_fee >\", value, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"continme_fee >=\", value, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeLessThan(BigDecimal value) {\n            addCriterion(\"continme_fee <\", value, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"continme_fee <=\", value, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeIn(List<BigDecimal> values) {\n            addCriterion(\"continme_fee in\", values, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeNotIn(List<BigDecimal> values) {\n            addCriterion(\"continme_fee not in\", values, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"continme_fee between\", value1, value2, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinmeFeeNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"continme_fee not between\", value1, value2, \"continmeFee\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestIsNull() {\n            addCriterion(\"dest is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestIsNotNull() {\n            addCriterion(\"dest is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestEqualTo(String value) {\n            addCriterion(\"dest =\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestNotEqualTo(String value) {\n            addCriterion(\"dest <>\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestGreaterThan(String value) {\n            addCriterion(\"dest >\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestGreaterThanOrEqualTo(String value) {\n            addCriterion(\"dest >=\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestLessThan(String value) {\n            addCriterion(\"dest <\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestLessThanOrEqualTo(String value) {\n            addCriterion(\"dest <=\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestLike(String value) {\n            addCriterion(\"dest like\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestNotLike(String value) {\n            addCriterion(\"dest not like\", value, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestIn(List<String> values) {\n            addCriterion(\"dest in\", values, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestNotIn(List<String> values) {\n            addCriterion(\"dest not in\", values, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestBetween(String value1, String value2) {\n            addCriterion(\"dest between\", value1, value2, \"dest\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDestNotBetween(String value1, String value2) {\n            addCriterion(\"dest not between\", value1, value2, \"dest\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsMemberPrice.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class PmsMemberPrice implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private Long memberLevelId;\n\n    @ApiModelProperty(value = \"会员价格\")\n    private BigDecimal memberPrice;\n\n    private String memberLevelName;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public Long getMemberLevelId() {\n        return memberLevelId;\n    }\n\n    public void setMemberLevelId(Long memberLevelId) {\n        this.memberLevelId = memberLevelId;\n    }\n\n    public BigDecimal getMemberPrice() {\n        return memberPrice;\n    }\n\n    public void setMemberPrice(BigDecimal memberPrice) {\n        this.memberPrice = memberPrice;\n    }\n\n    public String getMemberLevelName() {\n        return memberLevelName;\n    }\n\n    public void setMemberLevelName(String memberLevelName) {\n        this.memberLevelName = memberLevelName;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", memberLevelId=\").append(memberLevelId);\n        sb.append(\", memberPrice=\").append(memberPrice);\n        sb.append(\", memberLevelName=\").append(memberLevelName);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsMemberPriceExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsMemberPriceExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsMemberPriceExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdIsNull() {\n            addCriterion(\"member_level_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdIsNotNull() {\n            addCriterion(\"member_level_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdEqualTo(Long value) {\n            addCriterion(\"member_level_id =\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdNotEqualTo(Long value) {\n            addCriterion(\"member_level_id <>\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdGreaterThan(Long value) {\n            addCriterion(\"member_level_id >\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_level_id >=\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdLessThan(Long value) {\n            addCriterion(\"member_level_id <\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_level_id <=\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdIn(List<Long> values) {\n            addCriterion(\"member_level_id in\", values, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdNotIn(List<Long> values) {\n            addCriterion(\"member_level_id not in\", values, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_level_id between\", value1, value2, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_level_id not between\", value1, value2, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceIsNull() {\n            addCriterion(\"member_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceIsNotNull() {\n            addCriterion(\"member_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceEqualTo(BigDecimal value) {\n            addCriterion(\"member_price =\", value, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"member_price <>\", value, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"member_price >\", value, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"member_price >=\", value, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceLessThan(BigDecimal value) {\n            addCriterion(\"member_price <\", value, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"member_price <=\", value, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceIn(List<BigDecimal> values) {\n            addCriterion(\"member_price in\", values, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"member_price not in\", values, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"member_price between\", value1, value2, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"member_price not between\", value1, value2, \"memberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameIsNull() {\n            addCriterion(\"member_level_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameIsNotNull() {\n            addCriterion(\"member_level_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameEqualTo(String value) {\n            addCriterion(\"member_level_name =\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameNotEqualTo(String value) {\n            addCriterion(\"member_level_name <>\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameGreaterThan(String value) {\n            addCriterion(\"member_level_name >\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_level_name >=\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameLessThan(String value) {\n            addCriterion(\"member_level_name <\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_level_name <=\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameLike(String value) {\n            addCriterion(\"member_level_name like\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameNotLike(String value) {\n            addCriterion(\"member_level_name not like\", value, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameIn(List<String> values) {\n            addCriterion(\"member_level_name in\", values, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameNotIn(List<String> values) {\n            addCriterion(\"member_level_name not in\", values, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameBetween(String value1, String value2) {\n            addCriterion(\"member_level_name between\", value1, value2, \"memberLevelName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNameNotBetween(String value1, String value2) {\n            addCriterion(\"member_level_name not between\", value1, value2, \"memberLevelName\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProduct.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class PmsProduct implements Serializable {\n    private Long id;\n\n    private Long brandId;\n\n    private Long productCategoryId;\n\n    private Long feightTemplateId;\n\n    private Long productAttributeCategoryId;\n\n    private String name;\n\n    private String pic;\n\n    @ApiModelProperty(value = \"货号\")\n    private String productSn;\n\n    @ApiModelProperty(value = \"删除状态：0->未删除；1->已删除\")\n    private Integer deleteStatus;\n\n    @ApiModelProperty(value = \"上架状态：0->下架；1->上架\")\n    private Integer publishStatus;\n\n    @ApiModelProperty(value = \"新品状态:0->不是新品；1->新品\")\n    private Integer newStatus;\n\n    @ApiModelProperty(value = \"推荐状态；0->不推荐；1->推荐\")\n    private Integer recommandStatus;\n\n    @ApiModelProperty(value = \"审核状态：0->未审核；1->审核通过\")\n    private Integer verifyStatus;\n\n    @ApiModelProperty(value = \"排序\")\n    private Integer sort;\n\n    @ApiModelProperty(value = \"销量\")\n    private Integer sale;\n\n    private BigDecimal price;\n\n    @ApiModelProperty(value = \"促销价格\")\n    private BigDecimal promotionPrice;\n\n    @ApiModelProperty(value = \"赠送的成长值\")\n    private Integer giftGrowth;\n\n    @ApiModelProperty(value = \"赠送的积分\")\n    private Integer giftPoint;\n\n    @ApiModelProperty(value = \"限制使用的积分数\")\n    private Integer usePointLimit;\n\n    @ApiModelProperty(value = \"副标题\")\n    private String subTitle;\n\n    @ApiModelProperty(value = \"市场价\")\n    private BigDecimal originalPrice;\n\n    @ApiModelProperty(value = \"库存\")\n    private Integer stock;\n\n    @ApiModelProperty(value = \"库存预警值\")\n    private Integer lowStock;\n\n    @ApiModelProperty(value = \"单位\")\n    private String unit;\n\n    @ApiModelProperty(value = \"商品重量，默认为克\")\n    private BigDecimal weight;\n\n    @ApiModelProperty(value = \"是否为预告商品：0->不是；1->是\")\n    private Integer previewStatus;\n\n    @ApiModelProperty(value = \"以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮\")\n    private String serviceIds;\n\n    private String keywords;\n\n    private String note;\n\n    @ApiModelProperty(value = \"画册图片，连产品图片限制为5张，以逗号分割\")\n    private String albumPics;\n\n    private String detailTitle;\n\n    @ApiModelProperty(value = \"促销开始时间\")\n    private Date promotionStartTime;\n\n    @ApiModelProperty(value = \"促销结束时间\")\n    private Date promotionEndTime;\n\n    @ApiModelProperty(value = \"活动限购数量\")\n    private Integer promotionPerLimit;\n\n    @ApiModelProperty(value = \"促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购\")\n    private Integer promotionType;\n\n    @ApiModelProperty(value = \"品牌名称\")\n    private String brandName;\n\n    @ApiModelProperty(value = \"商品分类名称\")\n    private String productCategoryName;\n\n    @ApiModelProperty(value = \"商品描述\")\n    private String description;\n\n    private String detailDesc;\n\n    @ApiModelProperty(value = \"产品详情网页内容\")\n    private String detailHtml;\n\n    @ApiModelProperty(value = \"移动端网页详情\")\n    private String detailMobileHtml;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getBrandId() {\n        return brandId;\n    }\n\n    public void setBrandId(Long brandId) {\n        this.brandId = brandId;\n    }\n\n    public Long getProductCategoryId() {\n        return productCategoryId;\n    }\n\n    public void setProductCategoryId(Long productCategoryId) {\n        this.productCategoryId = productCategoryId;\n    }\n\n    public Long getFeightTemplateId() {\n        return feightTemplateId;\n    }\n\n    public void setFeightTemplateId(Long feightTemplateId) {\n        this.feightTemplateId = feightTemplateId;\n    }\n\n    public Long getProductAttributeCategoryId() {\n        return productAttributeCategoryId;\n    }\n\n    public void setProductAttributeCategoryId(Long productAttributeCategoryId) {\n        this.productAttributeCategoryId = productAttributeCategoryId;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getPic() {\n        return pic;\n    }\n\n    public void setPic(String pic) {\n        this.pic = pic;\n    }\n\n    public String getProductSn() {\n        return productSn;\n    }\n\n    public void setProductSn(String productSn) {\n        this.productSn = productSn;\n    }\n\n    public Integer getDeleteStatus() {\n        return deleteStatus;\n    }\n\n    public void setDeleteStatus(Integer deleteStatus) {\n        this.deleteStatus = deleteStatus;\n    }\n\n    public Integer getPublishStatus() {\n        return publishStatus;\n    }\n\n    public void setPublishStatus(Integer publishStatus) {\n        this.publishStatus = publishStatus;\n    }\n\n    public Integer getNewStatus() {\n        return newStatus;\n    }\n\n    public void setNewStatus(Integer newStatus) {\n        this.newStatus = newStatus;\n    }\n\n    public Integer getRecommandStatus() {\n        return recommandStatus;\n    }\n\n    public void setRecommandStatus(Integer recommandStatus) {\n        this.recommandStatus = recommandStatus;\n    }\n\n    public Integer getVerifyStatus() {\n        return verifyStatus;\n    }\n\n    public void setVerifyStatus(Integer verifyStatus) {\n        this.verifyStatus = verifyStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public Integer getSale() {\n        return sale;\n    }\n\n    public void setSale(Integer sale) {\n        this.sale = sale;\n    }\n\n    public BigDecimal getPrice() {\n        return price;\n    }\n\n    public void setPrice(BigDecimal price) {\n        this.price = price;\n    }\n\n    public BigDecimal getPromotionPrice() {\n        return promotionPrice;\n    }\n\n    public void setPromotionPrice(BigDecimal promotionPrice) {\n        this.promotionPrice = promotionPrice;\n    }\n\n    public Integer getGiftGrowth() {\n        return giftGrowth;\n    }\n\n    public void setGiftGrowth(Integer giftGrowth) {\n        this.giftGrowth = giftGrowth;\n    }\n\n    public Integer getGiftPoint() {\n        return giftPoint;\n    }\n\n    public void setGiftPoint(Integer giftPoint) {\n        this.giftPoint = giftPoint;\n    }\n\n    public Integer getUsePointLimit() {\n        return usePointLimit;\n    }\n\n    public void setUsePointLimit(Integer usePointLimit) {\n        this.usePointLimit = usePointLimit;\n    }\n\n    public String getSubTitle() {\n        return subTitle;\n    }\n\n    public void setSubTitle(String subTitle) {\n        this.subTitle = subTitle;\n    }\n\n    public BigDecimal getOriginalPrice() {\n        return originalPrice;\n    }\n\n    public void setOriginalPrice(BigDecimal originalPrice) {\n        this.originalPrice = originalPrice;\n    }\n\n    public Integer getStock() {\n        return stock;\n    }\n\n    public void setStock(Integer stock) {\n        this.stock = stock;\n    }\n\n    public Integer getLowStock() {\n        return lowStock;\n    }\n\n    public void setLowStock(Integer lowStock) {\n        this.lowStock = lowStock;\n    }\n\n    public String getUnit() {\n        return unit;\n    }\n\n    public void setUnit(String unit) {\n        this.unit = unit;\n    }\n\n    public BigDecimal getWeight() {\n        return weight;\n    }\n\n    public void setWeight(BigDecimal weight) {\n        this.weight = weight;\n    }\n\n    public Integer getPreviewStatus() {\n        return previewStatus;\n    }\n\n    public void setPreviewStatus(Integer previewStatus) {\n        this.previewStatus = previewStatus;\n    }\n\n    public String getServiceIds() {\n        return serviceIds;\n    }\n\n    public void setServiceIds(String serviceIds) {\n        this.serviceIds = serviceIds;\n    }\n\n    public String getKeywords() {\n        return keywords;\n    }\n\n    public void setKeywords(String keywords) {\n        this.keywords = keywords;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    public String getAlbumPics() {\n        return albumPics;\n    }\n\n    public void setAlbumPics(String albumPics) {\n        this.albumPics = albumPics;\n    }\n\n    public String getDetailTitle() {\n        return detailTitle;\n    }\n\n    public void setDetailTitle(String detailTitle) {\n        this.detailTitle = detailTitle;\n    }\n\n    public Date getPromotionStartTime() {\n        return promotionStartTime;\n    }\n\n    public void setPromotionStartTime(Date promotionStartTime) {\n        this.promotionStartTime = promotionStartTime;\n    }\n\n    public Date getPromotionEndTime() {\n        return promotionEndTime;\n    }\n\n    public void setPromotionEndTime(Date promotionEndTime) {\n        this.promotionEndTime = promotionEndTime;\n    }\n\n    public Integer getPromotionPerLimit() {\n        return promotionPerLimit;\n    }\n\n    public void setPromotionPerLimit(Integer promotionPerLimit) {\n        this.promotionPerLimit = promotionPerLimit;\n    }\n\n    public Integer getPromotionType() {\n        return promotionType;\n    }\n\n    public void setPromotionType(Integer promotionType) {\n        this.promotionType = promotionType;\n    }\n\n    public String getBrandName() {\n        return brandName;\n    }\n\n    public void setBrandName(String brandName) {\n        this.brandName = brandName;\n    }\n\n    public String getProductCategoryName() {\n        return productCategoryName;\n    }\n\n    public void setProductCategoryName(String productCategoryName) {\n        this.productCategoryName = productCategoryName;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public String getDetailDesc() {\n        return detailDesc;\n    }\n\n    public void setDetailDesc(String detailDesc) {\n        this.detailDesc = detailDesc;\n    }\n\n    public String getDetailHtml() {\n        return detailHtml;\n    }\n\n    public void setDetailHtml(String detailHtml) {\n        this.detailHtml = detailHtml;\n    }\n\n    public String getDetailMobileHtml() {\n        return detailMobileHtml;\n    }\n\n    public void setDetailMobileHtml(String detailMobileHtml) {\n        this.detailMobileHtml = detailMobileHtml;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", brandId=\").append(brandId);\n        sb.append(\", productCategoryId=\").append(productCategoryId);\n        sb.append(\", feightTemplateId=\").append(feightTemplateId);\n        sb.append(\", productAttributeCategoryId=\").append(productAttributeCategoryId);\n        sb.append(\", name=\").append(name);\n        sb.append(\", pic=\").append(pic);\n        sb.append(\", productSn=\").append(productSn);\n        sb.append(\", deleteStatus=\").append(deleteStatus);\n        sb.append(\", publishStatus=\").append(publishStatus);\n        sb.append(\", newStatus=\").append(newStatus);\n        sb.append(\", recommandStatus=\").append(recommandStatus);\n        sb.append(\", verifyStatus=\").append(verifyStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", sale=\").append(sale);\n        sb.append(\", price=\").append(price);\n        sb.append(\", promotionPrice=\").append(promotionPrice);\n        sb.append(\", giftGrowth=\").append(giftGrowth);\n        sb.append(\", giftPoint=\").append(giftPoint);\n        sb.append(\", usePointLimit=\").append(usePointLimit);\n        sb.append(\", subTitle=\").append(subTitle);\n        sb.append(\", originalPrice=\").append(originalPrice);\n        sb.append(\", stock=\").append(stock);\n        sb.append(\", lowStock=\").append(lowStock);\n        sb.append(\", unit=\").append(unit);\n        sb.append(\", weight=\").append(weight);\n        sb.append(\", previewStatus=\").append(previewStatus);\n        sb.append(\", serviceIds=\").append(serviceIds);\n        sb.append(\", keywords=\").append(keywords);\n        sb.append(\", note=\").append(note);\n        sb.append(\", albumPics=\").append(albumPics);\n        sb.append(\", detailTitle=\").append(detailTitle);\n        sb.append(\", promotionStartTime=\").append(promotionStartTime);\n        sb.append(\", promotionEndTime=\").append(promotionEndTime);\n        sb.append(\", promotionPerLimit=\").append(promotionPerLimit);\n        sb.append(\", promotionType=\").append(promotionType);\n        sb.append(\", brandName=\").append(brandName);\n        sb.append(\", productCategoryName=\").append(productCategoryName);\n        sb.append(\", description=\").append(description);\n        sb.append(\", detailDesc=\").append(detailDesc);\n        sb.append(\", detailHtml=\").append(detailHtml);\n        sb.append(\", detailMobileHtml=\").append(detailMobileHtml);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttribute.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsProductAttribute implements Serializable {\n    private Long id;\n\n    private Long productAttributeCategoryId;\n\n    private String name;\n\n    @ApiModelProperty(value = \"属性选择类型：0->唯一；1->单选；2->多选\")\n    private Integer selectType;\n\n    @ApiModelProperty(value = \"属性录入方式：0->手工录入；1->从列表中选取\")\n    private Integer inputType;\n\n    @ApiModelProperty(value = \"可选值列表，以逗号隔开\")\n    private String inputList;\n\n    @ApiModelProperty(value = \"排序字段：最高的可以单独上传图片\")\n    private Integer sort;\n\n    @ApiModelProperty(value = \"分类筛选样式：1->普通；1->颜色\")\n    private Integer filterType;\n\n    @ApiModelProperty(value = \"检索类型；0->不需要进行检索；1->关键字检索；2->范围检索\")\n    private Integer searchType;\n\n    @ApiModelProperty(value = \"相同属性产品是否关联；0->不关联；1->关联\")\n    private Integer relatedStatus;\n\n    @ApiModelProperty(value = \"是否支持手动新增；0->不支持；1->支持\")\n    private Integer handAddStatus;\n\n    @ApiModelProperty(value = \"属性的类型；0->规格；1->参数\")\n    private Integer type;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductAttributeCategoryId() {\n        return productAttributeCategoryId;\n    }\n\n    public void setProductAttributeCategoryId(Long productAttributeCategoryId) {\n        this.productAttributeCategoryId = productAttributeCategoryId;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getSelectType() {\n        return selectType;\n    }\n\n    public void setSelectType(Integer selectType) {\n        this.selectType = selectType;\n    }\n\n    public Integer getInputType() {\n        return inputType;\n    }\n\n    public void setInputType(Integer inputType) {\n        this.inputType = inputType;\n    }\n\n    public String getInputList() {\n        return inputList;\n    }\n\n    public void setInputList(String inputList) {\n        this.inputList = inputList;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public Integer getFilterType() {\n        return filterType;\n    }\n\n    public void setFilterType(Integer filterType) {\n        this.filterType = filterType;\n    }\n\n    public Integer getSearchType() {\n        return searchType;\n    }\n\n    public void setSearchType(Integer searchType) {\n        this.searchType = searchType;\n    }\n\n    public Integer getRelatedStatus() {\n        return relatedStatus;\n    }\n\n    public void setRelatedStatus(Integer relatedStatus) {\n        this.relatedStatus = relatedStatus;\n    }\n\n    public Integer getHandAddStatus() {\n        return handAddStatus;\n    }\n\n    public void setHandAddStatus(Integer handAddStatus) {\n        this.handAddStatus = handAddStatus;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productAttributeCategoryId=\").append(productAttributeCategoryId);\n        sb.append(\", name=\").append(name);\n        sb.append(\", selectType=\").append(selectType);\n        sb.append(\", inputType=\").append(inputType);\n        sb.append(\", inputList=\").append(inputList);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", filterType=\").append(filterType);\n        sb.append(\", searchType=\").append(searchType);\n        sb.append(\", relatedStatus=\").append(relatedStatus);\n        sb.append(\", handAddStatus=\").append(handAddStatus);\n        sb.append(\", type=\").append(type);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeCategory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsProductAttributeCategory implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"属性数量\")\n    private Integer attributeCount;\n\n    @ApiModelProperty(value = \"参数数量\")\n    private Integer paramCount;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getAttributeCount() {\n        return attributeCount;\n    }\n\n    public void setAttributeCount(Integer attributeCount) {\n        this.attributeCount = attributeCount;\n    }\n\n    public Integer getParamCount() {\n        return paramCount;\n    }\n\n    public void setParamCount(Integer paramCount) {\n        this.paramCount = paramCount;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", attributeCount=\").append(attributeCount);\n        sb.append(\", paramCount=\").append(paramCount);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeCategoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductAttributeCategoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductAttributeCategoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountIsNull() {\n            addCriterion(\"attribute_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountIsNotNull() {\n            addCriterion(\"attribute_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountEqualTo(Integer value) {\n            addCriterion(\"attribute_count =\", value, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountNotEqualTo(Integer value) {\n            addCriterion(\"attribute_count <>\", value, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountGreaterThan(Integer value) {\n            addCriterion(\"attribute_count >\", value, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"attribute_count >=\", value, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountLessThan(Integer value) {\n            addCriterion(\"attribute_count <\", value, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"attribute_count <=\", value, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountIn(List<Integer> values) {\n            addCriterion(\"attribute_count in\", values, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountNotIn(List<Integer> values) {\n            addCriterion(\"attribute_count not in\", values, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"attribute_count between\", value1, value2, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttributeCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"attribute_count not between\", value1, value2, \"attributeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountIsNull() {\n            addCriterion(\"param_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountIsNotNull() {\n            addCriterion(\"param_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountEqualTo(Integer value) {\n            addCriterion(\"param_count =\", value, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountNotEqualTo(Integer value) {\n            addCriterion(\"param_count <>\", value, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountGreaterThan(Integer value) {\n            addCriterion(\"param_count >\", value, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"param_count >=\", value, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountLessThan(Integer value) {\n            addCriterion(\"param_count <\", value, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"param_count <=\", value, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountIn(List<Integer> values) {\n            addCriterion(\"param_count in\", values, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountNotIn(List<Integer> values) {\n            addCriterion(\"param_count not in\", values, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"param_count between\", value1, value2, \"paramCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParamCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"param_count not between\", value1, value2, \"paramCount\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductAttributeExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductAttributeExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdIsNull() {\n            addCriterion(\"product_attribute_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdIsNotNull() {\n            addCriterion(\"product_attribute_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id =\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id <>\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_attribute_category_id >\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id >=\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdLessThan(Long value) {\n            addCriterion(\"product_attribute_category_id <\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id <=\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_attribute_category_id in\", values, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_attribute_category_id not in\", values, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_category_id between\", value1, value2, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_category_id not between\", value1, value2, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeIsNull() {\n            addCriterion(\"select_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeIsNotNull() {\n            addCriterion(\"select_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeEqualTo(Integer value) {\n            addCriterion(\"select_type =\", value, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeNotEqualTo(Integer value) {\n            addCriterion(\"select_type <>\", value, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeGreaterThan(Integer value) {\n            addCriterion(\"select_type >\", value, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"select_type >=\", value, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeLessThan(Integer value) {\n            addCriterion(\"select_type <\", value, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"select_type <=\", value, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeIn(List<Integer> values) {\n            addCriterion(\"select_type in\", values, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeNotIn(List<Integer> values) {\n            addCriterion(\"select_type not in\", values, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"select_type between\", value1, value2, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSelectTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"select_type not between\", value1, value2, \"selectType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeIsNull() {\n            addCriterion(\"input_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeIsNotNull() {\n            addCriterion(\"input_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeEqualTo(Integer value) {\n            addCriterion(\"input_type =\", value, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeNotEqualTo(Integer value) {\n            addCriterion(\"input_type <>\", value, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeGreaterThan(Integer value) {\n            addCriterion(\"input_type >\", value, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"input_type >=\", value, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeLessThan(Integer value) {\n            addCriterion(\"input_type <\", value, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"input_type <=\", value, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeIn(List<Integer> values) {\n            addCriterion(\"input_type in\", values, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeNotIn(List<Integer> values) {\n            addCriterion(\"input_type not in\", values, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"input_type between\", value1, value2, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"input_type not between\", value1, value2, \"inputType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListIsNull() {\n            addCriterion(\"input_list is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListIsNotNull() {\n            addCriterion(\"input_list is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListEqualTo(String value) {\n            addCriterion(\"input_list =\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListNotEqualTo(String value) {\n            addCriterion(\"input_list <>\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListGreaterThan(String value) {\n            addCriterion(\"input_list >\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListGreaterThanOrEqualTo(String value) {\n            addCriterion(\"input_list >=\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListLessThan(String value) {\n            addCriterion(\"input_list <\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListLessThanOrEqualTo(String value) {\n            addCriterion(\"input_list <=\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListLike(String value) {\n            addCriterion(\"input_list like\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListNotLike(String value) {\n            addCriterion(\"input_list not like\", value, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListIn(List<String> values) {\n            addCriterion(\"input_list in\", values, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListNotIn(List<String> values) {\n            addCriterion(\"input_list not in\", values, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListBetween(String value1, String value2) {\n            addCriterion(\"input_list between\", value1, value2, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInputListNotBetween(String value1, String value2) {\n            addCriterion(\"input_list not between\", value1, value2, \"inputList\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeIsNull() {\n            addCriterion(\"filter_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeIsNotNull() {\n            addCriterion(\"filter_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeEqualTo(Integer value) {\n            addCriterion(\"filter_type =\", value, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeNotEqualTo(Integer value) {\n            addCriterion(\"filter_type <>\", value, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeGreaterThan(Integer value) {\n            addCriterion(\"filter_type >\", value, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"filter_type >=\", value, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeLessThan(Integer value) {\n            addCriterion(\"filter_type <\", value, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"filter_type <=\", value, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeIn(List<Integer> values) {\n            addCriterion(\"filter_type in\", values, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeNotIn(List<Integer> values) {\n            addCriterion(\"filter_type not in\", values, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"filter_type between\", value1, value2, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFilterTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"filter_type not between\", value1, value2, \"filterType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeIsNull() {\n            addCriterion(\"search_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeIsNotNull() {\n            addCriterion(\"search_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeEqualTo(Integer value) {\n            addCriterion(\"search_type =\", value, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeNotEqualTo(Integer value) {\n            addCriterion(\"search_type <>\", value, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeGreaterThan(Integer value) {\n            addCriterion(\"search_type >\", value, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"search_type >=\", value, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeLessThan(Integer value) {\n            addCriterion(\"search_type <\", value, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"search_type <=\", value, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeIn(List<Integer> values) {\n            addCriterion(\"search_type in\", values, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeNotIn(List<Integer> values) {\n            addCriterion(\"search_type not in\", values, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"search_type between\", value1, value2, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSearchTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"search_type not between\", value1, value2, \"searchType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusIsNull() {\n            addCriterion(\"related_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusIsNotNull() {\n            addCriterion(\"related_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusEqualTo(Integer value) {\n            addCriterion(\"related_status =\", value, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusNotEqualTo(Integer value) {\n            addCriterion(\"related_status <>\", value, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusGreaterThan(Integer value) {\n            addCriterion(\"related_status >\", value, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"related_status >=\", value, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusLessThan(Integer value) {\n            addCriterion(\"related_status <\", value, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"related_status <=\", value, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusIn(List<Integer> values) {\n            addCriterion(\"related_status in\", values, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusNotIn(List<Integer> values) {\n            addCriterion(\"related_status not in\", values, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"related_status between\", value1, value2, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRelatedStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"related_status not between\", value1, value2, \"relatedStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusIsNull() {\n            addCriterion(\"hand_add_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusIsNotNull() {\n            addCriterion(\"hand_add_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusEqualTo(Integer value) {\n            addCriterion(\"hand_add_status =\", value, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusNotEqualTo(Integer value) {\n            addCriterion(\"hand_add_status <>\", value, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusGreaterThan(Integer value) {\n            addCriterion(\"hand_add_status >\", value, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"hand_add_status >=\", value, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusLessThan(Integer value) {\n            addCriterion(\"hand_add_status <\", value, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"hand_add_status <=\", value, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusIn(List<Integer> values) {\n            addCriterion(\"hand_add_status in\", values, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusNotIn(List<Integer> values) {\n            addCriterion(\"hand_add_status not in\", values, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"hand_add_status between\", value1, value2, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHandAddStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"hand_add_status not between\", value1, value2, \"handAddStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeValue.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsProductAttributeValue implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private Long productAttributeId;\n\n    @ApiModelProperty(value = \"手动添加规格或参数的值，参数单值，规格有多个时以逗号隔开\")\n    private String value;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public Long getProductAttributeId() {\n        return productAttributeId;\n    }\n\n    public void setProductAttributeId(Long productAttributeId) {\n        this.productAttributeId = productAttributeId;\n    }\n\n    public String getValue() {\n        return value;\n    }\n\n    public void setValue(String value) {\n        this.value = value;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", productAttributeId=\").append(productAttributeId);\n        sb.append(\", value=\").append(value);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeValueExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductAttributeValueExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductAttributeValueExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdIsNull() {\n            addCriterion(\"product_attribute_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdIsNotNull() {\n            addCriterion(\"product_attribute_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdEqualTo(Long value) {\n            addCriterion(\"product_attribute_id =\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdNotEqualTo(Long value) {\n            addCriterion(\"product_attribute_id <>\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdGreaterThan(Long value) {\n            addCriterion(\"product_attribute_id >\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_id >=\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdLessThan(Long value) {\n            addCriterion(\"product_attribute_id <\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_id <=\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdIn(List<Long> values) {\n            addCriterion(\"product_attribute_id in\", values, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdNotIn(List<Long> values) {\n            addCriterion(\"product_attribute_id not in\", values, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_id between\", value1, value2, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_id not between\", value1, value2, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueIsNull() {\n            addCriterion(\"value is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueIsNotNull() {\n            addCriterion(\"value is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueEqualTo(String value) {\n            addCriterion(\"value =\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotEqualTo(String value) {\n            addCriterion(\"value <>\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueGreaterThan(String value) {\n            addCriterion(\"value >\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueGreaterThanOrEqualTo(String value) {\n            addCriterion(\"value >=\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueLessThan(String value) {\n            addCriterion(\"value <\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueLessThanOrEqualTo(String value) {\n            addCriterion(\"value <=\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueLike(String value) {\n            addCriterion(\"value like\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotLike(String value) {\n            addCriterion(\"value not like\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueIn(List<String> values) {\n            addCriterion(\"value in\", values, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotIn(List<String> values) {\n            addCriterion(\"value not in\", values, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueBetween(String value1, String value2) {\n            addCriterion(\"value between\", value1, value2, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotBetween(String value1, String value2) {\n            addCriterion(\"value not between\", value1, value2, \"value\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsProductCategory implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"上机分类的编号：0表示一级分类\")\n    private Long parentId;\n\n    private String name;\n\n    @ApiModelProperty(value = \"分类级别：0->1级；1->2级\")\n    private Integer level;\n\n    private Integer productCount;\n\n    private String productUnit;\n\n    @ApiModelProperty(value = \"是否显示在导航栏：0->不显示；1->显示\")\n    private Integer navStatus;\n\n    @ApiModelProperty(value = \"显示状态：0->不显示；1->显示\")\n    private Integer showStatus;\n\n    private Integer sort;\n\n    @ApiModelProperty(value = \"图标\")\n    private String icon;\n\n    private String keywords;\n\n    @ApiModelProperty(value = \"描述\")\n    private String description;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getParentId() {\n        return parentId;\n    }\n\n    public void setParentId(Long parentId) {\n        this.parentId = parentId;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getLevel() {\n        return level;\n    }\n\n    public void setLevel(Integer level) {\n        this.level = level;\n    }\n\n    public Integer getProductCount() {\n        return productCount;\n    }\n\n    public void setProductCount(Integer productCount) {\n        this.productCount = productCount;\n    }\n\n    public String getProductUnit() {\n        return productUnit;\n    }\n\n    public void setProductUnit(String productUnit) {\n        this.productUnit = productUnit;\n    }\n\n    public Integer getNavStatus() {\n        return navStatus;\n    }\n\n    public void setNavStatus(Integer navStatus) {\n        this.navStatus = navStatus;\n    }\n\n    public Integer getShowStatus() {\n        return showStatus;\n    }\n\n    public void setShowStatus(Integer showStatus) {\n        this.showStatus = showStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public String getKeywords() {\n        return keywords;\n    }\n\n    public void setKeywords(String keywords) {\n        this.keywords = keywords;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", parentId=\").append(parentId);\n        sb.append(\", name=\").append(name);\n        sb.append(\", level=\").append(level);\n        sb.append(\", productCount=\").append(productCount);\n        sb.append(\", productUnit=\").append(productUnit);\n        sb.append(\", navStatus=\").append(navStatus);\n        sb.append(\", showStatus=\").append(showStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", keywords=\").append(keywords);\n        sb.append(\", description=\").append(description);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryAttributeRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class PmsProductCategoryAttributeRelation implements Serializable {\n    private Long id;\n\n    private Long productCategoryId;\n\n    private Long productAttributeId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductCategoryId() {\n        return productCategoryId;\n    }\n\n    public void setProductCategoryId(Long productCategoryId) {\n        this.productCategoryId = productCategoryId;\n    }\n\n    public Long getProductAttributeId() {\n        return productAttributeId;\n    }\n\n    public void setProductAttributeId(Long productAttributeId) {\n        this.productAttributeId = productAttributeId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productCategoryId=\").append(productCategoryId);\n        sb.append(\", productAttributeId=\").append(productAttributeId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryAttributeRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductCategoryAttributeRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductCategoryAttributeRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNull() {\n            addCriterion(\"product_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNotNull() {\n            addCriterion(\"product_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_category_id =\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_category_id <>\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_category_id >\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id >=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThan(Long value) {\n            addCriterion(\"product_category_id <\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id <=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_category_id in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_category_id not in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id not between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdIsNull() {\n            addCriterion(\"product_attribute_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdIsNotNull() {\n            addCriterion(\"product_attribute_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdEqualTo(Long value) {\n            addCriterion(\"product_attribute_id =\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdNotEqualTo(Long value) {\n            addCriterion(\"product_attribute_id <>\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdGreaterThan(Long value) {\n            addCriterion(\"product_attribute_id >\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_id >=\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdLessThan(Long value) {\n            addCriterion(\"product_attribute_id <\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_id <=\", value, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdIn(List<Long> values) {\n            addCriterion(\"product_attribute_id in\", values, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdNotIn(List<Long> values) {\n            addCriterion(\"product_attribute_id not in\", values, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_id between\", value1, value2, \"productAttributeId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_id not between\", value1, value2, \"productAttributeId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductCategoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductCategoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdIsNull() {\n            addCriterion(\"parent_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdIsNotNull() {\n            addCriterion(\"parent_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdEqualTo(Long value) {\n            addCriterion(\"parent_id =\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdNotEqualTo(Long value) {\n            addCriterion(\"parent_id <>\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdGreaterThan(Long value) {\n            addCriterion(\"parent_id >\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"parent_id >=\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdLessThan(Long value) {\n            addCriterion(\"parent_id <\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"parent_id <=\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdIn(List<Long> values) {\n            addCriterion(\"parent_id in\", values, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdNotIn(List<Long> values) {\n            addCriterion(\"parent_id not in\", values, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdBetween(Long value1, Long value2) {\n            addCriterion(\"parent_id between\", value1, value2, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"parent_id not between\", value1, value2, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelIsNull() {\n            addCriterion(\"level is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelIsNotNull() {\n            addCriterion(\"level is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelEqualTo(Integer value) {\n            addCriterion(\"level =\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelNotEqualTo(Integer value) {\n            addCriterion(\"level <>\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelGreaterThan(Integer value) {\n            addCriterion(\"level >\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"level >=\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelLessThan(Integer value) {\n            addCriterion(\"level <\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelLessThanOrEqualTo(Integer value) {\n            addCriterion(\"level <=\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelIn(List<Integer> values) {\n            addCriterion(\"level in\", values, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelNotIn(List<Integer> values) {\n            addCriterion(\"level not in\", values, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelBetween(Integer value1, Integer value2) {\n            addCriterion(\"level between\", value1, value2, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"level not between\", value1, value2, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNull() {\n            addCriterion(\"product_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIsNotNull() {\n            addCriterion(\"product_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountEqualTo(Integer value) {\n            addCriterion(\"product_count =\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotEqualTo(Integer value) {\n            addCriterion(\"product_count <>\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThan(Integer value) {\n            addCriterion(\"product_count >\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count >=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThan(Integer value) {\n            addCriterion(\"product_count <\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"product_count <=\", value, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountIn(List<Integer> values) {\n            addCriterion(\"product_count in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotIn(List<Integer> values) {\n            addCriterion(\"product_count not in\", values, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"product_count not between\", value1, value2, \"productCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitIsNull() {\n            addCriterion(\"product_unit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitIsNotNull() {\n            addCriterion(\"product_unit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitEqualTo(String value) {\n            addCriterion(\"product_unit =\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitNotEqualTo(String value) {\n            addCriterion(\"product_unit <>\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitGreaterThan(String value) {\n            addCriterion(\"product_unit >\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_unit >=\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitLessThan(String value) {\n            addCriterion(\"product_unit <\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitLessThanOrEqualTo(String value) {\n            addCriterion(\"product_unit <=\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitLike(String value) {\n            addCriterion(\"product_unit like\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitNotLike(String value) {\n            addCriterion(\"product_unit not like\", value, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitIn(List<String> values) {\n            addCriterion(\"product_unit in\", values, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitNotIn(List<String> values) {\n            addCriterion(\"product_unit not in\", values, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitBetween(String value1, String value2) {\n            addCriterion(\"product_unit between\", value1, value2, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductUnitNotBetween(String value1, String value2) {\n            addCriterion(\"product_unit not between\", value1, value2, \"productUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusIsNull() {\n            addCriterion(\"nav_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusIsNotNull() {\n            addCriterion(\"nav_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusEqualTo(Integer value) {\n            addCriterion(\"nav_status =\", value, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusNotEqualTo(Integer value) {\n            addCriterion(\"nav_status <>\", value, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusGreaterThan(Integer value) {\n            addCriterion(\"nav_status >\", value, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"nav_status >=\", value, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusLessThan(Integer value) {\n            addCriterion(\"nav_status <\", value, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"nav_status <=\", value, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusIn(List<Integer> values) {\n            addCriterion(\"nav_status in\", values, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusNotIn(List<Integer> values) {\n            addCriterion(\"nav_status not in\", values, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"nav_status between\", value1, value2, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNavStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"nav_status not between\", value1, value2, \"navStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNull() {\n            addCriterion(\"show_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIsNotNull() {\n            addCriterion(\"show_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusEqualTo(Integer value) {\n            addCriterion(\"show_status =\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotEqualTo(Integer value) {\n            addCriterion(\"show_status <>\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThan(Integer value) {\n            addCriterion(\"show_status >\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status >=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThan(Integer value) {\n            addCriterion(\"show_status <\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"show_status <=\", value, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusIn(List<Integer> values) {\n            addCriterion(\"show_status in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotIn(List<Integer> values) {\n            addCriterion(\"show_status not in\", values, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andShowStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"show_status not between\", value1, value2, \"showStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsIsNull() {\n            addCriterion(\"keywords is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsIsNotNull() {\n            addCriterion(\"keywords is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsEqualTo(String value) {\n            addCriterion(\"keywords =\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotEqualTo(String value) {\n            addCriterion(\"keywords <>\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsGreaterThan(String value) {\n            addCriterion(\"keywords >\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"keywords >=\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsLessThan(String value) {\n            addCriterion(\"keywords <\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsLessThanOrEqualTo(String value) {\n            addCriterion(\"keywords <=\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsLike(String value) {\n            addCriterion(\"keywords like\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotLike(String value) {\n            addCriterion(\"keywords not like\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsIn(List<String> values) {\n            addCriterion(\"keywords in\", values, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotIn(List<String> values) {\n            addCriterion(\"keywords not in\", values, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsBetween(String value1, String value2) {\n            addCriterion(\"keywords between\", value1, value2, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotBetween(String value1, String value2) {\n            addCriterion(\"keywords not between\", value1, value2, \"keywords\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class PmsProductExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdIsNull() {\n            addCriterion(\"brand_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdIsNotNull() {\n            addCriterion(\"brand_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdEqualTo(Long value) {\n            addCriterion(\"brand_id =\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdNotEqualTo(Long value) {\n            addCriterion(\"brand_id <>\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdGreaterThan(Long value) {\n            addCriterion(\"brand_id >\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"brand_id >=\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdLessThan(Long value) {\n            addCriterion(\"brand_id <\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"brand_id <=\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdIn(List<Long> values) {\n            addCriterion(\"brand_id in\", values, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdNotIn(List<Long> values) {\n            addCriterion(\"brand_id not in\", values, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdBetween(Long value1, Long value2) {\n            addCriterion(\"brand_id between\", value1, value2, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"brand_id not between\", value1, value2, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNull() {\n            addCriterion(\"product_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNotNull() {\n            addCriterion(\"product_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_category_id =\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_category_id <>\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_category_id >\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id >=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThan(Long value) {\n            addCriterion(\"product_category_id <\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id <=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_category_id in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_category_id not in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id not between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdIsNull() {\n            addCriterion(\"feight_template_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdIsNotNull() {\n            addCriterion(\"feight_template_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdEqualTo(Long value) {\n            addCriterion(\"feight_template_id =\", value, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdNotEqualTo(Long value) {\n            addCriterion(\"feight_template_id <>\", value, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdGreaterThan(Long value) {\n            addCriterion(\"feight_template_id >\", value, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"feight_template_id >=\", value, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdLessThan(Long value) {\n            addCriterion(\"feight_template_id <\", value, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"feight_template_id <=\", value, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdIn(List<Long> values) {\n            addCriterion(\"feight_template_id in\", values, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdNotIn(List<Long> values) {\n            addCriterion(\"feight_template_id not in\", values, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdBetween(Long value1, Long value2) {\n            addCriterion(\"feight_template_id between\", value1, value2, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFeightTemplateIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"feight_template_id not between\", value1, value2, \"feightTemplateId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdIsNull() {\n            addCriterion(\"product_attribute_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdIsNotNull() {\n            addCriterion(\"product_attribute_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id =\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id <>\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_attribute_category_id >\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id >=\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdLessThan(Long value) {\n            addCriterion(\"product_attribute_category_id <\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_attribute_category_id <=\", value, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_attribute_category_id in\", values, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_attribute_category_id not in\", values, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_category_id between\", value1, value2, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductAttributeCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_attribute_category_id not between\", value1, value2, \"productAttributeCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNull() {\n            addCriterion(\"pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNotNull() {\n            addCriterion(\"pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicEqualTo(String value) {\n            addCriterion(\"pic =\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotEqualTo(String value) {\n            addCriterion(\"pic <>\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThan(String value) {\n            addCriterion(\"pic >\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"pic >=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThan(String value) {\n            addCriterion(\"pic <\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThanOrEqualTo(String value) {\n            addCriterion(\"pic <=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLike(String value) {\n            addCriterion(\"pic like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotLike(String value) {\n            addCriterion(\"pic not like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIn(List<String> values) {\n            addCriterion(\"pic in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotIn(List<String> values) {\n            addCriterion(\"pic not in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicBetween(String value1, String value2) {\n            addCriterion(\"pic between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotBetween(String value1, String value2) {\n            addCriterion(\"pic not between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNull() {\n            addCriterion(\"product_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNotNull() {\n            addCriterion(\"product_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnEqualTo(String value) {\n            addCriterion(\"product_sn =\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotEqualTo(String value) {\n            addCriterion(\"product_sn <>\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThan(String value) {\n            addCriterion(\"product_sn >\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sn >=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThan(String value) {\n            addCriterion(\"product_sn <\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sn <=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLike(String value) {\n            addCriterion(\"product_sn like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotLike(String value) {\n            addCriterion(\"product_sn not like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIn(List<String> values) {\n            addCriterion(\"product_sn in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotIn(List<String> values) {\n            addCriterion(\"product_sn not in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnBetween(String value1, String value2) {\n            addCriterion(\"product_sn between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotBetween(String value1, String value2) {\n            addCriterion(\"product_sn not between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIsNull() {\n            addCriterion(\"delete_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIsNotNull() {\n            addCriterion(\"delete_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusEqualTo(Integer value) {\n            addCriterion(\"delete_status =\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotEqualTo(Integer value) {\n            addCriterion(\"delete_status <>\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusGreaterThan(Integer value) {\n            addCriterion(\"delete_status >\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"delete_status >=\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusLessThan(Integer value) {\n            addCriterion(\"delete_status <\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"delete_status <=\", value, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusIn(List<Integer> values) {\n            addCriterion(\"delete_status in\", values, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotIn(List<Integer> values) {\n            addCriterion(\"delete_status not in\", values, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"delete_status between\", value1, value2, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"delete_status not between\", value1, value2, \"deleteStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusIsNull() {\n            addCriterion(\"publish_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusIsNotNull() {\n            addCriterion(\"publish_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusEqualTo(Integer value) {\n            addCriterion(\"publish_status =\", value, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusNotEqualTo(Integer value) {\n            addCriterion(\"publish_status <>\", value, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusGreaterThan(Integer value) {\n            addCriterion(\"publish_status >\", value, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"publish_status >=\", value, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusLessThan(Integer value) {\n            addCriterion(\"publish_status <\", value, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"publish_status <=\", value, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusIn(List<Integer> values) {\n            addCriterion(\"publish_status in\", values, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusNotIn(List<Integer> values) {\n            addCriterion(\"publish_status not in\", values, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"publish_status between\", value1, value2, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"publish_status not between\", value1, value2, \"publishStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusIsNull() {\n            addCriterion(\"new_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusIsNotNull() {\n            addCriterion(\"new_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusEqualTo(Integer value) {\n            addCriterion(\"new_status =\", value, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusNotEqualTo(Integer value) {\n            addCriterion(\"new_status <>\", value, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusGreaterThan(Integer value) {\n            addCriterion(\"new_status >\", value, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"new_status >=\", value, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusLessThan(Integer value) {\n            addCriterion(\"new_status <\", value, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"new_status <=\", value, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusIn(List<Integer> values) {\n            addCriterion(\"new_status in\", values, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusNotIn(List<Integer> values) {\n            addCriterion(\"new_status not in\", values, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"new_status between\", value1, value2, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNewStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"new_status not between\", value1, value2, \"newStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusIsNull() {\n            addCriterion(\"recommand_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusIsNotNull() {\n            addCriterion(\"recommand_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusEqualTo(Integer value) {\n            addCriterion(\"recommand_status =\", value, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusNotEqualTo(Integer value) {\n            addCriterion(\"recommand_status <>\", value, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusGreaterThan(Integer value) {\n            addCriterion(\"recommand_status >\", value, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"recommand_status >=\", value, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusLessThan(Integer value) {\n            addCriterion(\"recommand_status <\", value, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"recommand_status <=\", value, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusIn(List<Integer> values) {\n            addCriterion(\"recommand_status in\", values, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusNotIn(List<Integer> values) {\n            addCriterion(\"recommand_status not in\", values, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommand_status between\", value1, value2, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommandStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommand_status not between\", value1, value2, \"recommandStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusIsNull() {\n            addCriterion(\"verify_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusIsNotNull() {\n            addCriterion(\"verify_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusEqualTo(Integer value) {\n            addCriterion(\"verify_status =\", value, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusNotEqualTo(Integer value) {\n            addCriterion(\"verify_status <>\", value, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusGreaterThan(Integer value) {\n            addCriterion(\"verify_status >\", value, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"verify_status >=\", value, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusLessThan(Integer value) {\n            addCriterion(\"verify_status <\", value, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"verify_status <=\", value, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusIn(List<Integer> values) {\n            addCriterion(\"verify_status in\", values, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusNotIn(List<Integer> values) {\n            addCriterion(\"verify_status not in\", values, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"verify_status between\", value1, value2, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVerifyStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"verify_status not between\", value1, value2, \"verifyStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleIsNull() {\n            addCriterion(\"sale is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleIsNotNull() {\n            addCriterion(\"sale is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleEqualTo(Integer value) {\n            addCriterion(\"sale =\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleNotEqualTo(Integer value) {\n            addCriterion(\"sale <>\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleGreaterThan(Integer value) {\n            addCriterion(\"sale >\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sale >=\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleLessThan(Integer value) {\n            addCriterion(\"sale <\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sale <=\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleIn(List<Integer> values) {\n            addCriterion(\"sale in\", values, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleNotIn(List<Integer> values) {\n            addCriterion(\"sale not in\", values, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleBetween(Integer value1, Integer value2) {\n            addCriterion(\"sale between\", value1, value2, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sale not between\", value1, value2, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNull() {\n            addCriterion(\"price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNotNull() {\n            addCriterion(\"price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceEqualTo(BigDecimal value) {\n            addCriterion(\"price =\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"price <>\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"price >\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price >=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThan(BigDecimal value) {\n            addCriterion(\"price <\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price <=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIn(List<BigDecimal> values) {\n            addCriterion(\"price in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"price not in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price not between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceIsNull() {\n            addCriterion(\"promotion_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceIsNotNull() {\n            addCriterion(\"promotion_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price =\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price <>\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"promotion_price >\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price >=\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceLessThan(BigDecimal value) {\n            addCriterion(\"promotion_price <\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price <=\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_price in\", values, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_price not in\", values, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_price between\", value1, value2, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_price not between\", value1, value2, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthIsNull() {\n            addCriterion(\"gift_growth is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthIsNotNull() {\n            addCriterion(\"gift_growth is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthEqualTo(Integer value) {\n            addCriterion(\"gift_growth =\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthNotEqualTo(Integer value) {\n            addCriterion(\"gift_growth <>\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthGreaterThan(Integer value) {\n            addCriterion(\"gift_growth >\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_growth >=\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthLessThan(Integer value) {\n            addCriterion(\"gift_growth <\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_growth <=\", value, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthIn(List<Integer> values) {\n            addCriterion(\"gift_growth in\", values, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthNotIn(List<Integer> values) {\n            addCriterion(\"gift_growth not in\", values, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_growth between\", value1, value2, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftGrowthNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_growth not between\", value1, value2, \"giftGrowth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointIsNull() {\n            addCriterion(\"gift_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointIsNotNull() {\n            addCriterion(\"gift_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointEqualTo(Integer value) {\n            addCriterion(\"gift_point =\", value, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNotEqualTo(Integer value) {\n            addCriterion(\"gift_point <>\", value, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointGreaterThan(Integer value) {\n            addCriterion(\"gift_point >\", value, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_point >=\", value, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointLessThan(Integer value) {\n            addCriterion(\"gift_point <\", value, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_point <=\", value, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointIn(List<Integer> values) {\n            addCriterion(\"gift_point in\", values, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNotIn(List<Integer> values) {\n            addCriterion(\"gift_point not in\", values, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_point between\", value1, value2, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_point not between\", value1, value2, \"giftPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitIsNull() {\n            addCriterion(\"use_point_limit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitIsNotNull() {\n            addCriterion(\"use_point_limit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitEqualTo(Integer value) {\n            addCriterion(\"use_point_limit =\", value, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNotEqualTo(Integer value) {\n            addCriterion(\"use_point_limit <>\", value, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitGreaterThan(Integer value) {\n            addCriterion(\"use_point_limit >\", value, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_point_limit >=\", value, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitLessThan(Integer value) {\n            addCriterion(\"use_point_limit <\", value, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_point_limit <=\", value, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitIn(List<Integer> values) {\n            addCriterion(\"use_point_limit in\", values, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNotIn(List<Integer> values) {\n            addCriterion(\"use_point_limit not in\", values, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_point_limit between\", value1, value2, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_point_limit not between\", value1, value2, \"usePointLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleIsNull() {\n            addCriterion(\"sub_title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleIsNotNull() {\n            addCriterion(\"sub_title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleEqualTo(String value) {\n            addCriterion(\"sub_title =\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotEqualTo(String value) {\n            addCriterion(\"sub_title <>\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleGreaterThan(String value) {\n            addCriterion(\"sub_title >\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"sub_title >=\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleLessThan(String value) {\n            addCriterion(\"sub_title <\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"sub_title <=\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleLike(String value) {\n            addCriterion(\"sub_title like\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotLike(String value) {\n            addCriterion(\"sub_title not like\", value, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleIn(List<String> values) {\n            addCriterion(\"sub_title in\", values, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotIn(List<String> values) {\n            addCriterion(\"sub_title not in\", values, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleBetween(String value1, String value2) {\n            addCriterion(\"sub_title between\", value1, value2, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubTitleNotBetween(String value1, String value2) {\n            addCriterion(\"sub_title not between\", value1, value2, \"subTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceIsNull() {\n            addCriterion(\"original_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceIsNotNull() {\n            addCriterion(\"original_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceEqualTo(BigDecimal value) {\n            addCriterion(\"original_price =\", value, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"original_price <>\", value, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"original_price >\", value, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"original_price >=\", value, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceLessThan(BigDecimal value) {\n            addCriterion(\"original_price <\", value, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"original_price <=\", value, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceIn(List<BigDecimal> values) {\n            addCriterion(\"original_price in\", values, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"original_price not in\", values, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"original_price between\", value1, value2, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOriginalPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"original_price not between\", value1, value2, \"originalPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockIsNull() {\n            addCriterion(\"stock is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockIsNotNull() {\n            addCriterion(\"stock is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockEqualTo(Integer value) {\n            addCriterion(\"stock =\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockNotEqualTo(Integer value) {\n            addCriterion(\"stock <>\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockGreaterThan(Integer value) {\n            addCriterion(\"stock >\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"stock >=\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockLessThan(Integer value) {\n            addCriterion(\"stock <\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockLessThanOrEqualTo(Integer value) {\n            addCriterion(\"stock <=\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockIn(List<Integer> values) {\n            addCriterion(\"stock in\", values, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockNotIn(List<Integer> values) {\n            addCriterion(\"stock not in\", values, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockBetween(Integer value1, Integer value2) {\n            addCriterion(\"stock between\", value1, value2, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"stock not between\", value1, value2, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockIsNull() {\n            addCriterion(\"low_stock is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockIsNotNull() {\n            addCriterion(\"low_stock is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockEqualTo(Integer value) {\n            addCriterion(\"low_stock =\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockNotEqualTo(Integer value) {\n            addCriterion(\"low_stock <>\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockGreaterThan(Integer value) {\n            addCriterion(\"low_stock >\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"low_stock >=\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockLessThan(Integer value) {\n            addCriterion(\"low_stock <\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockLessThanOrEqualTo(Integer value) {\n            addCriterion(\"low_stock <=\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockIn(List<Integer> values) {\n            addCriterion(\"low_stock in\", values, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockNotIn(List<Integer> values) {\n            addCriterion(\"low_stock not in\", values, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockBetween(Integer value1, Integer value2) {\n            addCriterion(\"low_stock between\", value1, value2, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"low_stock not between\", value1, value2, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitIsNull() {\n            addCriterion(\"unit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitIsNotNull() {\n            addCriterion(\"unit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitEqualTo(String value) {\n            addCriterion(\"unit =\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitNotEqualTo(String value) {\n            addCriterion(\"unit <>\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitGreaterThan(String value) {\n            addCriterion(\"unit >\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitGreaterThanOrEqualTo(String value) {\n            addCriterion(\"unit >=\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitLessThan(String value) {\n            addCriterion(\"unit <\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitLessThanOrEqualTo(String value) {\n            addCriterion(\"unit <=\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitLike(String value) {\n            addCriterion(\"unit like\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitNotLike(String value) {\n            addCriterion(\"unit not like\", value, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitIn(List<String> values) {\n            addCriterion(\"unit in\", values, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitNotIn(List<String> values) {\n            addCriterion(\"unit not in\", values, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitBetween(String value1, String value2) {\n            addCriterion(\"unit between\", value1, value2, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUnitNotBetween(String value1, String value2) {\n            addCriterion(\"unit not between\", value1, value2, \"unit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightIsNull() {\n            addCriterion(\"weight is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightIsNotNull() {\n            addCriterion(\"weight is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightEqualTo(BigDecimal value) {\n            addCriterion(\"weight =\", value, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightNotEqualTo(BigDecimal value) {\n            addCriterion(\"weight <>\", value, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightGreaterThan(BigDecimal value) {\n            addCriterion(\"weight >\", value, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"weight >=\", value, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightLessThan(BigDecimal value) {\n            addCriterion(\"weight <\", value, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"weight <=\", value, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightIn(List<BigDecimal> values) {\n            addCriterion(\"weight in\", values, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightNotIn(List<BigDecimal> values) {\n            addCriterion(\"weight not in\", values, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"weight between\", value1, value2, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andWeightNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"weight not between\", value1, value2, \"weight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusIsNull() {\n            addCriterion(\"preview_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusIsNotNull() {\n            addCriterion(\"preview_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusEqualTo(Integer value) {\n            addCriterion(\"preview_status =\", value, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusNotEqualTo(Integer value) {\n            addCriterion(\"preview_status <>\", value, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusGreaterThan(Integer value) {\n            addCriterion(\"preview_status >\", value, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"preview_status >=\", value, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusLessThan(Integer value) {\n            addCriterion(\"preview_status <\", value, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"preview_status <=\", value, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusIn(List<Integer> values) {\n            addCriterion(\"preview_status in\", values, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusNotIn(List<Integer> values) {\n            addCriterion(\"preview_status not in\", values, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"preview_status between\", value1, value2, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPreviewStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"preview_status not between\", value1, value2, \"previewStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsIsNull() {\n            addCriterion(\"service_ids is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsIsNotNull() {\n            addCriterion(\"service_ids is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsEqualTo(String value) {\n            addCriterion(\"service_ids =\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsNotEqualTo(String value) {\n            addCriterion(\"service_ids <>\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsGreaterThan(String value) {\n            addCriterion(\"service_ids >\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"service_ids >=\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsLessThan(String value) {\n            addCriterion(\"service_ids <\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsLessThanOrEqualTo(String value) {\n            addCriterion(\"service_ids <=\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsLike(String value) {\n            addCriterion(\"service_ids like\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsNotLike(String value) {\n            addCriterion(\"service_ids not like\", value, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsIn(List<String> values) {\n            addCriterion(\"service_ids in\", values, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsNotIn(List<String> values) {\n            addCriterion(\"service_ids not in\", values, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsBetween(String value1, String value2) {\n            addCriterion(\"service_ids between\", value1, value2, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andServiceIdsNotBetween(String value1, String value2) {\n            addCriterion(\"service_ids not between\", value1, value2, \"serviceIds\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsIsNull() {\n            addCriterion(\"keywords is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsIsNotNull() {\n            addCriterion(\"keywords is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsEqualTo(String value) {\n            addCriterion(\"keywords =\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotEqualTo(String value) {\n            addCriterion(\"keywords <>\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsGreaterThan(String value) {\n            addCriterion(\"keywords >\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"keywords >=\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsLessThan(String value) {\n            addCriterion(\"keywords <\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsLessThanOrEqualTo(String value) {\n            addCriterion(\"keywords <=\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsLike(String value) {\n            addCriterion(\"keywords like\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotLike(String value) {\n            addCriterion(\"keywords not like\", value, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsIn(List<String> values) {\n            addCriterion(\"keywords in\", values, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotIn(List<String> values) {\n            addCriterion(\"keywords not in\", values, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsBetween(String value1, String value2) {\n            addCriterion(\"keywords between\", value1, value2, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andKeywordsNotBetween(String value1, String value2) {\n            addCriterion(\"keywords not between\", value1, value2, \"keywords\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsIsNull() {\n            addCriterion(\"album_pics is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsIsNotNull() {\n            addCriterion(\"album_pics is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsEqualTo(String value) {\n            addCriterion(\"album_pics =\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotEqualTo(String value) {\n            addCriterion(\"album_pics <>\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsGreaterThan(String value) {\n            addCriterion(\"album_pics >\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsGreaterThanOrEqualTo(String value) {\n            addCriterion(\"album_pics >=\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsLessThan(String value) {\n            addCriterion(\"album_pics <\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsLessThanOrEqualTo(String value) {\n            addCriterion(\"album_pics <=\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsLike(String value) {\n            addCriterion(\"album_pics like\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotLike(String value) {\n            addCriterion(\"album_pics not like\", value, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsIn(List<String> values) {\n            addCriterion(\"album_pics in\", values, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotIn(List<String> values) {\n            addCriterion(\"album_pics not in\", values, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsBetween(String value1, String value2) {\n            addCriterion(\"album_pics between\", value1, value2, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAlbumPicsNotBetween(String value1, String value2) {\n            addCriterion(\"album_pics not between\", value1, value2, \"albumPics\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleIsNull() {\n            addCriterion(\"detail_title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleIsNotNull() {\n            addCriterion(\"detail_title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleEqualTo(String value) {\n            addCriterion(\"detail_title =\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleNotEqualTo(String value) {\n            addCriterion(\"detail_title <>\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleGreaterThan(String value) {\n            addCriterion(\"detail_title >\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"detail_title >=\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleLessThan(String value) {\n            addCriterion(\"detail_title <\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"detail_title <=\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleLike(String value) {\n            addCriterion(\"detail_title like\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleNotLike(String value) {\n            addCriterion(\"detail_title not like\", value, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleIn(List<String> values) {\n            addCriterion(\"detail_title in\", values, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleNotIn(List<String> values) {\n            addCriterion(\"detail_title not in\", values, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleBetween(String value1, String value2) {\n            addCriterion(\"detail_title between\", value1, value2, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailTitleNotBetween(String value1, String value2) {\n            addCriterion(\"detail_title not between\", value1, value2, \"detailTitle\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeIsNull() {\n            addCriterion(\"promotion_start_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeIsNotNull() {\n            addCriterion(\"promotion_start_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeEqualTo(Date value) {\n            addCriterion(\"promotion_start_time =\", value, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeNotEqualTo(Date value) {\n            addCriterion(\"promotion_start_time <>\", value, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeGreaterThan(Date value) {\n            addCriterion(\"promotion_start_time >\", value, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"promotion_start_time >=\", value, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeLessThan(Date value) {\n            addCriterion(\"promotion_start_time <\", value, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"promotion_start_time <=\", value, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeIn(List<Date> values) {\n            addCriterion(\"promotion_start_time in\", values, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeNotIn(List<Date> values) {\n            addCriterion(\"promotion_start_time not in\", values, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeBetween(Date value1, Date value2) {\n            addCriterion(\"promotion_start_time between\", value1, value2, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionStartTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"promotion_start_time not between\", value1, value2, \"promotionStartTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeIsNull() {\n            addCriterion(\"promotion_end_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeIsNotNull() {\n            addCriterion(\"promotion_end_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeEqualTo(Date value) {\n            addCriterion(\"promotion_end_time =\", value, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeNotEqualTo(Date value) {\n            addCriterion(\"promotion_end_time <>\", value, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeGreaterThan(Date value) {\n            addCriterion(\"promotion_end_time >\", value, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"promotion_end_time >=\", value, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeLessThan(Date value) {\n            addCriterion(\"promotion_end_time <\", value, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"promotion_end_time <=\", value, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeIn(List<Date> values) {\n            addCriterion(\"promotion_end_time in\", values, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeNotIn(List<Date> values) {\n            addCriterion(\"promotion_end_time not in\", values, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeBetween(Date value1, Date value2) {\n            addCriterion(\"promotion_end_time between\", value1, value2, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionEndTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"promotion_end_time not between\", value1, value2, \"promotionEndTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitIsNull() {\n            addCriterion(\"promotion_per_limit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitIsNotNull() {\n            addCriterion(\"promotion_per_limit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitEqualTo(Integer value) {\n            addCriterion(\"promotion_per_limit =\", value, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitNotEqualTo(Integer value) {\n            addCriterion(\"promotion_per_limit <>\", value, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitGreaterThan(Integer value) {\n            addCriterion(\"promotion_per_limit >\", value, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"promotion_per_limit >=\", value, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitLessThan(Integer value) {\n            addCriterion(\"promotion_per_limit <\", value, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitLessThanOrEqualTo(Integer value) {\n            addCriterion(\"promotion_per_limit <=\", value, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitIn(List<Integer> values) {\n            addCriterion(\"promotion_per_limit in\", values, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitNotIn(List<Integer> values) {\n            addCriterion(\"promotion_per_limit not in\", values, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitBetween(Integer value1, Integer value2) {\n            addCriterion(\"promotion_per_limit between\", value1, value2, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPerLimitNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"promotion_per_limit not between\", value1, value2, \"promotionPerLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeIsNull() {\n            addCriterion(\"promotion_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeIsNotNull() {\n            addCriterion(\"promotion_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeEqualTo(Integer value) {\n            addCriterion(\"promotion_type =\", value, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeNotEqualTo(Integer value) {\n            addCriterion(\"promotion_type <>\", value, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeGreaterThan(Integer value) {\n            addCriterion(\"promotion_type >\", value, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"promotion_type >=\", value, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeLessThan(Integer value) {\n            addCriterion(\"promotion_type <\", value, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"promotion_type <=\", value, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeIn(List<Integer> values) {\n            addCriterion(\"promotion_type in\", values, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeNotIn(List<Integer> values) {\n            addCriterion(\"promotion_type not in\", values, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"promotion_type between\", value1, value2, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"promotion_type not between\", value1, value2, \"promotionType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameIsNull() {\n            addCriterion(\"brand_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameIsNotNull() {\n            addCriterion(\"brand_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameEqualTo(String value) {\n            addCriterion(\"brand_name =\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotEqualTo(String value) {\n            addCriterion(\"brand_name <>\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameGreaterThan(String value) {\n            addCriterion(\"brand_name >\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"brand_name >=\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameLessThan(String value) {\n            addCriterion(\"brand_name <\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameLessThanOrEqualTo(String value) {\n            addCriterion(\"brand_name <=\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameLike(String value) {\n            addCriterion(\"brand_name like\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotLike(String value) {\n            addCriterion(\"brand_name not like\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameIn(List<String> values) {\n            addCriterion(\"brand_name in\", values, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotIn(List<String> values) {\n            addCriterion(\"brand_name not in\", values, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameBetween(String value1, String value2) {\n            addCriterion(\"brand_name between\", value1, value2, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotBetween(String value1, String value2) {\n            addCriterion(\"brand_name not between\", value1, value2, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameIsNull() {\n            addCriterion(\"product_category_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameIsNotNull() {\n            addCriterion(\"product_category_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameEqualTo(String value) {\n            addCriterion(\"product_category_name =\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotEqualTo(String value) {\n            addCriterion(\"product_category_name <>\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameGreaterThan(String value) {\n            addCriterion(\"product_category_name >\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_category_name >=\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameLessThan(String value) {\n            addCriterion(\"product_category_name <\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_category_name <=\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameLike(String value) {\n            addCriterion(\"product_category_name like\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotLike(String value) {\n            addCriterion(\"product_category_name not like\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameIn(List<String> values) {\n            addCriterion(\"product_category_name in\", values, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotIn(List<String> values) {\n            addCriterion(\"product_category_name not in\", values, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameBetween(String value1, String value2) {\n            addCriterion(\"product_category_name between\", value1, value2, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_category_name not between\", value1, value2, \"productCategoryName\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductFullReduction.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class PmsProductFullReduction implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private BigDecimal fullPrice;\n\n    private BigDecimal reducePrice;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public BigDecimal getFullPrice() {\n        return fullPrice;\n    }\n\n    public void setFullPrice(BigDecimal fullPrice) {\n        this.fullPrice = fullPrice;\n    }\n\n    public BigDecimal getReducePrice() {\n        return reducePrice;\n    }\n\n    public void setReducePrice(BigDecimal reducePrice) {\n        this.reducePrice = reducePrice;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", fullPrice=\").append(fullPrice);\n        sb.append(\", reducePrice=\").append(reducePrice);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductFullReductionExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductFullReductionExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductFullReductionExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceIsNull() {\n            addCriterion(\"full_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceIsNotNull() {\n            addCriterion(\"full_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceEqualTo(BigDecimal value) {\n            addCriterion(\"full_price =\", value, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"full_price <>\", value, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"full_price >\", value, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"full_price >=\", value, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceLessThan(BigDecimal value) {\n            addCriterion(\"full_price <\", value, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"full_price <=\", value, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceIn(List<BigDecimal> values) {\n            addCriterion(\"full_price in\", values, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"full_price not in\", values, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"full_price between\", value1, value2, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFullPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"full_price not between\", value1, value2, \"fullPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceIsNull() {\n            addCriterion(\"reduce_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceIsNotNull() {\n            addCriterion(\"reduce_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceEqualTo(BigDecimal value) {\n            addCriterion(\"reduce_price =\", value, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"reduce_price <>\", value, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceGreaterThan(BigDecimal value) {\n            addCriterion(\"reduce_price >\", value, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"reduce_price >=\", value, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceLessThan(BigDecimal value) {\n            addCriterion(\"reduce_price <\", value, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"reduce_price <=\", value, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceIn(List<BigDecimal> values) {\n            addCriterion(\"reduce_price in\", values, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"reduce_price not in\", values, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"reduce_price between\", value1, value2, \"reducePrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReducePriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"reduce_price not between\", value1, value2, \"reducePrice\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductLadder.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class PmsProductLadder implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    @ApiModelProperty(value = \"满足的商品数量\")\n    private Integer count;\n\n    @ApiModelProperty(value = \"折扣\")\n    private BigDecimal discount;\n\n    @ApiModelProperty(value = \"折后价格\")\n    private BigDecimal price;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public Integer getCount() {\n        return count;\n    }\n\n    public void setCount(Integer count) {\n        this.count = count;\n    }\n\n    public BigDecimal getDiscount() {\n        return discount;\n    }\n\n    public void setDiscount(BigDecimal discount) {\n        this.discount = discount;\n    }\n\n    public BigDecimal getPrice() {\n        return price;\n    }\n\n    public void setPrice(BigDecimal price) {\n        this.price = price;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", count=\").append(count);\n        sb.append(\", discount=\").append(discount);\n        sb.append(\", price=\").append(price);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductLadderExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsProductLadderExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductLadderExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountIsNull() {\n            addCriterion(\"count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountIsNotNull() {\n            addCriterion(\"count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountEqualTo(Integer value) {\n            addCriterion(\"count =\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountNotEqualTo(Integer value) {\n            addCriterion(\"count <>\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountGreaterThan(Integer value) {\n            addCriterion(\"count >\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"count >=\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountLessThan(Integer value) {\n            addCriterion(\"count <\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"count <=\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountIn(List<Integer> values) {\n            addCriterion(\"count in\", values, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountNotIn(List<Integer> values) {\n            addCriterion(\"count not in\", values, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"count between\", value1, value2, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"count not between\", value1, value2, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountIsNull() {\n            addCriterion(\"discount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountIsNotNull() {\n            addCriterion(\"discount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountEqualTo(BigDecimal value) {\n            addCriterion(\"discount =\", value, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountNotEqualTo(BigDecimal value) {\n            addCriterion(\"discount <>\", value, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountGreaterThan(BigDecimal value) {\n            addCriterion(\"discount >\", value, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"discount >=\", value, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountLessThan(BigDecimal value) {\n            addCriterion(\"discount <\", value, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"discount <=\", value, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountIn(List<BigDecimal> values) {\n            addCriterion(\"discount in\", values, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountNotIn(List<BigDecimal> values) {\n            addCriterion(\"discount not in\", values, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"discount between\", value1, value2, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDiscountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"discount not between\", value1, value2, \"discount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNull() {\n            addCriterion(\"price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNotNull() {\n            addCriterion(\"price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceEqualTo(BigDecimal value) {\n            addCriterion(\"price =\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"price <>\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"price >\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price >=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThan(BigDecimal value) {\n            addCriterion(\"price <\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price <=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIn(List<BigDecimal> values) {\n            addCriterion(\"price in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"price not in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price not between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductOperateLog.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class PmsProductOperateLog implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private BigDecimal priceOld;\n\n    private BigDecimal priceNew;\n\n    private BigDecimal salePriceOld;\n\n    private BigDecimal salePriceNew;\n\n    @ApiModelProperty(value = \"赠送的积分\")\n    private Integer giftPointOld;\n\n    private Integer giftPointNew;\n\n    private Integer usePointLimitOld;\n\n    private Integer usePointLimitNew;\n\n    @ApiModelProperty(value = \"操作人\")\n    private String operateMan;\n\n    private Date createTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public BigDecimal getPriceOld() {\n        return priceOld;\n    }\n\n    public void setPriceOld(BigDecimal priceOld) {\n        this.priceOld = priceOld;\n    }\n\n    public BigDecimal getPriceNew() {\n        return priceNew;\n    }\n\n    public void setPriceNew(BigDecimal priceNew) {\n        this.priceNew = priceNew;\n    }\n\n    public BigDecimal getSalePriceOld() {\n        return salePriceOld;\n    }\n\n    public void setSalePriceOld(BigDecimal salePriceOld) {\n        this.salePriceOld = salePriceOld;\n    }\n\n    public BigDecimal getSalePriceNew() {\n        return salePriceNew;\n    }\n\n    public void setSalePriceNew(BigDecimal salePriceNew) {\n        this.salePriceNew = salePriceNew;\n    }\n\n    public Integer getGiftPointOld() {\n        return giftPointOld;\n    }\n\n    public void setGiftPointOld(Integer giftPointOld) {\n        this.giftPointOld = giftPointOld;\n    }\n\n    public Integer getGiftPointNew() {\n        return giftPointNew;\n    }\n\n    public void setGiftPointNew(Integer giftPointNew) {\n        this.giftPointNew = giftPointNew;\n    }\n\n    public Integer getUsePointLimitOld() {\n        return usePointLimitOld;\n    }\n\n    public void setUsePointLimitOld(Integer usePointLimitOld) {\n        this.usePointLimitOld = usePointLimitOld;\n    }\n\n    public Integer getUsePointLimitNew() {\n        return usePointLimitNew;\n    }\n\n    public void setUsePointLimitNew(Integer usePointLimitNew) {\n        this.usePointLimitNew = usePointLimitNew;\n    }\n\n    public String getOperateMan() {\n        return operateMan;\n    }\n\n    public void setOperateMan(String operateMan) {\n        this.operateMan = operateMan;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", priceOld=\").append(priceOld);\n        sb.append(\", priceNew=\").append(priceNew);\n        sb.append(\", salePriceOld=\").append(salePriceOld);\n        sb.append(\", salePriceNew=\").append(salePriceNew);\n        sb.append(\", giftPointOld=\").append(giftPointOld);\n        sb.append(\", giftPointNew=\").append(giftPointNew);\n        sb.append(\", usePointLimitOld=\").append(usePointLimitOld);\n        sb.append(\", usePointLimitNew=\").append(usePointLimitNew);\n        sb.append(\", operateMan=\").append(operateMan);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductOperateLogExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class PmsProductOperateLogExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductOperateLogExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldIsNull() {\n            addCriterion(\"price_old is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldIsNotNull() {\n            addCriterion(\"price_old is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldEqualTo(BigDecimal value) {\n            addCriterion(\"price_old =\", value, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldNotEqualTo(BigDecimal value) {\n            addCriterion(\"price_old <>\", value, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldGreaterThan(BigDecimal value) {\n            addCriterion(\"price_old >\", value, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price_old >=\", value, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldLessThan(BigDecimal value) {\n            addCriterion(\"price_old <\", value, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price_old <=\", value, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldIn(List<BigDecimal> values) {\n            addCriterion(\"price_old in\", values, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldNotIn(List<BigDecimal> values) {\n            addCriterion(\"price_old not in\", values, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price_old between\", value1, value2, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceOldNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price_old not between\", value1, value2, \"priceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewIsNull() {\n            addCriterion(\"price_new is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewIsNotNull() {\n            addCriterion(\"price_new is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewEqualTo(BigDecimal value) {\n            addCriterion(\"price_new =\", value, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewNotEqualTo(BigDecimal value) {\n            addCriterion(\"price_new <>\", value, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewGreaterThan(BigDecimal value) {\n            addCriterion(\"price_new >\", value, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price_new >=\", value, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewLessThan(BigDecimal value) {\n            addCriterion(\"price_new <\", value, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price_new <=\", value, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewIn(List<BigDecimal> values) {\n            addCriterion(\"price_new in\", values, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewNotIn(List<BigDecimal> values) {\n            addCriterion(\"price_new not in\", values, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price_new between\", value1, value2, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNewNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price_new not between\", value1, value2, \"priceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldIsNull() {\n            addCriterion(\"sale_price_old is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldIsNotNull() {\n            addCriterion(\"sale_price_old is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_old =\", value, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldNotEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_old <>\", value, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldGreaterThan(BigDecimal value) {\n            addCriterion(\"sale_price_old >\", value, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_old >=\", value, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldLessThan(BigDecimal value) {\n            addCriterion(\"sale_price_old <\", value, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_old <=\", value, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldIn(List<BigDecimal> values) {\n            addCriterion(\"sale_price_old in\", values, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldNotIn(List<BigDecimal> values) {\n            addCriterion(\"sale_price_old not in\", values, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"sale_price_old between\", value1, value2, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceOldNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"sale_price_old not between\", value1, value2, \"salePriceOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewIsNull() {\n            addCriterion(\"sale_price_new is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewIsNotNull() {\n            addCriterion(\"sale_price_new is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_new =\", value, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewNotEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_new <>\", value, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewGreaterThan(BigDecimal value) {\n            addCriterion(\"sale_price_new >\", value, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_new >=\", value, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewLessThan(BigDecimal value) {\n            addCriterion(\"sale_price_new <\", value, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"sale_price_new <=\", value, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewIn(List<BigDecimal> values) {\n            addCriterion(\"sale_price_new in\", values, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewNotIn(List<BigDecimal> values) {\n            addCriterion(\"sale_price_new not in\", values, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"sale_price_new between\", value1, value2, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSalePriceNewNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"sale_price_new not between\", value1, value2, \"salePriceNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldIsNull() {\n            addCriterion(\"gift_point_old is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldIsNotNull() {\n            addCriterion(\"gift_point_old is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldEqualTo(Integer value) {\n            addCriterion(\"gift_point_old =\", value, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldNotEqualTo(Integer value) {\n            addCriterion(\"gift_point_old <>\", value, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldGreaterThan(Integer value) {\n            addCriterion(\"gift_point_old >\", value, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_point_old >=\", value, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldLessThan(Integer value) {\n            addCriterion(\"gift_point_old <\", value, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_point_old <=\", value, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldIn(List<Integer> values) {\n            addCriterion(\"gift_point_old in\", values, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldNotIn(List<Integer> values) {\n            addCriterion(\"gift_point_old not in\", values, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_point_old between\", value1, value2, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointOldNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_point_old not between\", value1, value2, \"giftPointOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewIsNull() {\n            addCriterion(\"gift_point_new is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewIsNotNull() {\n            addCriterion(\"gift_point_new is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewEqualTo(Integer value) {\n            addCriterion(\"gift_point_new =\", value, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewNotEqualTo(Integer value) {\n            addCriterion(\"gift_point_new <>\", value, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewGreaterThan(Integer value) {\n            addCriterion(\"gift_point_new >\", value, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_point_new >=\", value, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewLessThan(Integer value) {\n            addCriterion(\"gift_point_new <\", value, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gift_point_new <=\", value, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewIn(List<Integer> values) {\n            addCriterion(\"gift_point_new in\", values, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewNotIn(List<Integer> values) {\n            addCriterion(\"gift_point_new not in\", values, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_point_new between\", value1, value2, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGiftPointNewNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gift_point_new not between\", value1, value2, \"giftPointNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldIsNull() {\n            addCriterion(\"use_point_limit_old is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldIsNotNull() {\n            addCriterion(\"use_point_limit_old is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_old =\", value, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldNotEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_old <>\", value, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldGreaterThan(Integer value) {\n            addCriterion(\"use_point_limit_old >\", value, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_old >=\", value, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldLessThan(Integer value) {\n            addCriterion(\"use_point_limit_old <\", value, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_old <=\", value, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldIn(List<Integer> values) {\n            addCriterion(\"use_point_limit_old in\", values, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldNotIn(List<Integer> values) {\n            addCriterion(\"use_point_limit_old not in\", values, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_point_limit_old between\", value1, value2, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitOldNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_point_limit_old not between\", value1, value2, \"usePointLimitOld\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewIsNull() {\n            addCriterion(\"use_point_limit_new is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewIsNotNull() {\n            addCriterion(\"use_point_limit_new is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_new =\", value, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewNotEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_new <>\", value, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewGreaterThan(Integer value) {\n            addCriterion(\"use_point_limit_new >\", value, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_new >=\", value, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewLessThan(Integer value) {\n            addCriterion(\"use_point_limit_new <\", value, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_point_limit_new <=\", value, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewIn(List<Integer> values) {\n            addCriterion(\"use_point_limit_new in\", values, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewNotIn(List<Integer> values) {\n            addCriterion(\"use_point_limit_new not in\", values, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_point_limit_new between\", value1, value2, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsePointLimitNewNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_point_limit_new not between\", value1, value2, \"usePointLimitNew\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNull() {\n            addCriterion(\"operate_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNotNull() {\n            addCriterion(\"operate_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManEqualTo(String value) {\n            addCriterion(\"operate_man =\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotEqualTo(String value) {\n            addCriterion(\"operate_man <>\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThan(String value) {\n            addCriterion(\"operate_man >\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"operate_man >=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThan(String value) {\n            addCriterion(\"operate_man <\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThanOrEqualTo(String value) {\n            addCriterion(\"operate_man <=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLike(String value) {\n            addCriterion(\"operate_man like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotLike(String value) {\n            addCriterion(\"operate_man not like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIn(List<String> values) {\n            addCriterion(\"operate_man in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotIn(List<String> values) {\n            addCriterion(\"operate_man not in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManBetween(String value1, String value2) {\n            addCriterion(\"operate_man between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotBetween(String value1, String value2) {\n            addCriterion(\"operate_man not between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductVertifyRecord.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class PmsProductVertifyRecord implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private Date createTime;\n\n    @ApiModelProperty(value = \"审核人\")\n    private String vertifyMan;\n\n    private Integer status;\n\n    @ApiModelProperty(value = \"反馈详情\")\n    private String detail;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getVertifyMan() {\n        return vertifyMan;\n    }\n\n    public void setVertifyMan(String vertifyMan) {\n        this.vertifyMan = vertifyMan;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public String getDetail() {\n        return detail;\n    }\n\n    public void setDetail(String detail) {\n        this.detail = detail;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", vertifyMan=\").append(vertifyMan);\n        sb.append(\", status=\").append(status);\n        sb.append(\", detail=\").append(detail);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsProductVertifyRecordExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class PmsProductVertifyRecordExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsProductVertifyRecordExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManIsNull() {\n            addCriterion(\"vertify_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManIsNotNull() {\n            addCriterion(\"vertify_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManEqualTo(String value) {\n            addCriterion(\"vertify_man =\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManNotEqualTo(String value) {\n            addCriterion(\"vertify_man <>\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManGreaterThan(String value) {\n            addCriterion(\"vertify_man >\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"vertify_man >=\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManLessThan(String value) {\n            addCriterion(\"vertify_man <\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManLessThanOrEqualTo(String value) {\n            addCriterion(\"vertify_man <=\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManLike(String value) {\n            addCriterion(\"vertify_man like\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManNotLike(String value) {\n            addCriterion(\"vertify_man not like\", value, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManIn(List<String> values) {\n            addCriterion(\"vertify_man in\", values, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManNotIn(List<String> values) {\n            addCriterion(\"vertify_man not in\", values, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManBetween(String value1, String value2) {\n            addCriterion(\"vertify_man between\", value1, value2, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andVertifyManNotBetween(String value1, String value2) {\n            addCriterion(\"vertify_man not between\", value1, value2, \"vertifyMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailIsNull() {\n            addCriterion(\"detail is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailIsNotNull() {\n            addCriterion(\"detail is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailEqualTo(String value) {\n            addCriterion(\"detail =\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailNotEqualTo(String value) {\n            addCriterion(\"detail <>\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailGreaterThan(String value) {\n            addCriterion(\"detail >\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailGreaterThanOrEqualTo(String value) {\n            addCriterion(\"detail >=\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailLessThan(String value) {\n            addCriterion(\"detail <\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailLessThanOrEqualTo(String value) {\n            addCriterion(\"detail <=\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailLike(String value) {\n            addCriterion(\"detail like\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailNotLike(String value) {\n            addCriterion(\"detail not like\", value, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailIn(List<String> values) {\n            addCriterion(\"detail in\", values, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailNotIn(List<String> values) {\n            addCriterion(\"detail not in\", values, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailBetween(String value1, String value2) {\n            addCriterion(\"detail between\", value1, value2, \"detail\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailNotBetween(String value1, String value2) {\n            addCriterion(\"detail not between\", value1, value2, \"detail\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsSkuStock.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class PmsSkuStock implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    @ApiModelProperty(value = \"sku编码\")\n    private String skuCode;\n\n    private BigDecimal price;\n\n    @ApiModelProperty(value = \"库存\")\n    private Integer stock;\n\n    @ApiModelProperty(value = \"预警库存\")\n    private Integer lowStock;\n\n    @ApiModelProperty(value = \"展示图片\")\n    private String pic;\n\n    @ApiModelProperty(value = \"销量\")\n    private Integer sale;\n\n    @ApiModelProperty(value = \"单品促销价格\")\n    private BigDecimal promotionPrice;\n\n    @ApiModelProperty(value = \"锁定库存\")\n    private Integer lockStock;\n\n    @ApiModelProperty(value = \"商品销售属性，json格式\")\n    private String spData;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getSkuCode() {\n        return skuCode;\n    }\n\n    public void setSkuCode(String skuCode) {\n        this.skuCode = skuCode;\n    }\n\n    public BigDecimal getPrice() {\n        return price;\n    }\n\n    public void setPrice(BigDecimal price) {\n        this.price = price;\n    }\n\n    public Integer getStock() {\n        return stock;\n    }\n\n    public void setStock(Integer stock) {\n        this.stock = stock;\n    }\n\n    public Integer getLowStock() {\n        return lowStock;\n    }\n\n    public void setLowStock(Integer lowStock) {\n        this.lowStock = lowStock;\n    }\n\n    public String getPic() {\n        return pic;\n    }\n\n    public void setPic(String pic) {\n        this.pic = pic;\n    }\n\n    public Integer getSale() {\n        return sale;\n    }\n\n    public void setSale(Integer sale) {\n        this.sale = sale;\n    }\n\n    public BigDecimal getPromotionPrice() {\n        return promotionPrice;\n    }\n\n    public void setPromotionPrice(BigDecimal promotionPrice) {\n        this.promotionPrice = promotionPrice;\n    }\n\n    public Integer getLockStock() {\n        return lockStock;\n    }\n\n    public void setLockStock(Integer lockStock) {\n        this.lockStock = lockStock;\n    }\n\n    public String getSpData() {\n        return spData;\n    }\n\n    public void setSpData(String spData) {\n        this.spData = spData;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", skuCode=\").append(skuCode);\n        sb.append(\", price=\").append(price);\n        sb.append(\", stock=\").append(stock);\n        sb.append(\", lowStock=\").append(lowStock);\n        sb.append(\", pic=\").append(pic);\n        sb.append(\", sale=\").append(sale);\n        sb.append(\", promotionPrice=\").append(promotionPrice);\n        sb.append(\", lockStock=\").append(lockStock);\n        sb.append(\", spData=\").append(spData);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/PmsSkuStockExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PmsSkuStockExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public PmsSkuStockExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeIsNull() {\n            addCriterion(\"sku_code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeIsNotNull() {\n            addCriterion(\"sku_code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeEqualTo(String value) {\n            addCriterion(\"sku_code =\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeNotEqualTo(String value) {\n            addCriterion(\"sku_code <>\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeGreaterThan(String value) {\n            addCriterion(\"sku_code >\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"sku_code >=\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeLessThan(String value) {\n            addCriterion(\"sku_code <\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"sku_code <=\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeLike(String value) {\n            addCriterion(\"sku_code like\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeNotLike(String value) {\n            addCriterion(\"sku_code not like\", value, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeIn(List<String> values) {\n            addCriterion(\"sku_code in\", values, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeNotIn(List<String> values) {\n            addCriterion(\"sku_code not in\", values, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeBetween(String value1, String value2) {\n            addCriterion(\"sku_code between\", value1, value2, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSkuCodeNotBetween(String value1, String value2) {\n            addCriterion(\"sku_code not between\", value1, value2, \"skuCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNull() {\n            addCriterion(\"price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIsNotNull() {\n            addCriterion(\"price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceEqualTo(BigDecimal value) {\n            addCriterion(\"price =\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"price <>\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"price >\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price >=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThan(BigDecimal value) {\n            addCriterion(\"price <\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"price <=\", value, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceIn(List<BigDecimal> values) {\n            addCriterion(\"price in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"price not in\", values, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"price not between\", value1, value2, \"price\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockIsNull() {\n            addCriterion(\"stock is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockIsNotNull() {\n            addCriterion(\"stock is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockEqualTo(Integer value) {\n            addCriterion(\"stock =\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockNotEqualTo(Integer value) {\n            addCriterion(\"stock <>\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockGreaterThan(Integer value) {\n            addCriterion(\"stock >\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"stock >=\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockLessThan(Integer value) {\n            addCriterion(\"stock <\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockLessThanOrEqualTo(Integer value) {\n            addCriterion(\"stock <=\", value, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockIn(List<Integer> values) {\n            addCriterion(\"stock in\", values, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockNotIn(List<Integer> values) {\n            addCriterion(\"stock not in\", values, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockBetween(Integer value1, Integer value2) {\n            addCriterion(\"stock between\", value1, value2, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStockNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"stock not between\", value1, value2, \"stock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockIsNull() {\n            addCriterion(\"low_stock is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockIsNotNull() {\n            addCriterion(\"low_stock is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockEqualTo(Integer value) {\n            addCriterion(\"low_stock =\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockNotEqualTo(Integer value) {\n            addCriterion(\"low_stock <>\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockGreaterThan(Integer value) {\n            addCriterion(\"low_stock >\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"low_stock >=\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockLessThan(Integer value) {\n            addCriterion(\"low_stock <\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockLessThanOrEqualTo(Integer value) {\n            addCriterion(\"low_stock <=\", value, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockIn(List<Integer> values) {\n            addCriterion(\"low_stock in\", values, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockNotIn(List<Integer> values) {\n            addCriterion(\"low_stock not in\", values, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockBetween(Integer value1, Integer value2) {\n            addCriterion(\"low_stock between\", value1, value2, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowStockNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"low_stock not between\", value1, value2, \"lowStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNull() {\n            addCriterion(\"pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNotNull() {\n            addCriterion(\"pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicEqualTo(String value) {\n            addCriterion(\"pic =\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotEqualTo(String value) {\n            addCriterion(\"pic <>\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThan(String value) {\n            addCriterion(\"pic >\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"pic >=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThan(String value) {\n            addCriterion(\"pic <\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThanOrEqualTo(String value) {\n            addCriterion(\"pic <=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLike(String value) {\n            addCriterion(\"pic like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotLike(String value) {\n            addCriterion(\"pic not like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIn(List<String> values) {\n            addCriterion(\"pic in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotIn(List<String> values) {\n            addCriterion(\"pic not in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicBetween(String value1, String value2) {\n            addCriterion(\"pic between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotBetween(String value1, String value2) {\n            addCriterion(\"pic not between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleIsNull() {\n            addCriterion(\"sale is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleIsNotNull() {\n            addCriterion(\"sale is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleEqualTo(Integer value) {\n            addCriterion(\"sale =\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleNotEqualTo(Integer value) {\n            addCriterion(\"sale <>\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleGreaterThan(Integer value) {\n            addCriterion(\"sale >\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sale >=\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleLessThan(Integer value) {\n            addCriterion(\"sale <\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sale <=\", value, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleIn(List<Integer> values) {\n            addCriterion(\"sale in\", values, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleNotIn(List<Integer> values) {\n            addCriterion(\"sale not in\", values, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleBetween(Integer value1, Integer value2) {\n            addCriterion(\"sale between\", value1, value2, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSaleNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sale not between\", value1, value2, \"sale\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceIsNull() {\n            addCriterion(\"promotion_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceIsNotNull() {\n            addCriterion(\"promotion_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price =\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price <>\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"promotion_price >\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price >=\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceLessThan(BigDecimal value) {\n            addCriterion(\"promotion_price <\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"promotion_price <=\", value, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_price in\", values, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"promotion_price not in\", values, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_price between\", value1, value2, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPromotionPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"promotion_price not between\", value1, value2, \"promotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockIsNull() {\n            addCriterion(\"lock_stock is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockIsNotNull() {\n            addCriterion(\"lock_stock is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockEqualTo(Integer value) {\n            addCriterion(\"lock_stock =\", value, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockNotEqualTo(Integer value) {\n            addCriterion(\"lock_stock <>\", value, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockGreaterThan(Integer value) {\n            addCriterion(\"lock_stock >\", value, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"lock_stock >=\", value, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockLessThan(Integer value) {\n            addCriterion(\"lock_stock <\", value, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockLessThanOrEqualTo(Integer value) {\n            addCriterion(\"lock_stock <=\", value, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockIn(List<Integer> values) {\n            addCriterion(\"lock_stock in\", values, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockNotIn(List<Integer> values) {\n            addCriterion(\"lock_stock not in\", values, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockBetween(Integer value1, Integer value2) {\n            addCriterion(\"lock_stock between\", value1, value2, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLockStockNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"lock_stock not between\", value1, value2, \"lockStock\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataIsNull() {\n            addCriterion(\"sp_data is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataIsNotNull() {\n            addCriterion(\"sp_data is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataEqualTo(String value) {\n            addCriterion(\"sp_data =\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataNotEqualTo(String value) {\n            addCriterion(\"sp_data <>\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataGreaterThan(String value) {\n            addCriterion(\"sp_data >\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataGreaterThanOrEqualTo(String value) {\n            addCriterion(\"sp_data >=\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataLessThan(String value) {\n            addCriterion(\"sp_data <\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataLessThanOrEqualTo(String value) {\n            addCriterion(\"sp_data <=\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataLike(String value) {\n            addCriterion(\"sp_data like\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataNotLike(String value) {\n            addCriterion(\"sp_data not like\", value, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataIn(List<String> values) {\n            addCriterion(\"sp_data in\", values, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataNotIn(List<String> values) {\n            addCriterion(\"sp_data not in\", values, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataBetween(String value1, String value2) {\n            addCriterion(\"sp_data between\", value1, value2, \"spData\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSpDataNotBetween(String value1, String value2) {\n            addCriterion(\"sp_data not between\", value1, value2, \"spData\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCoupon.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class SmsCoupon implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"优惠券类型；0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券\")\n    private Integer type;\n\n    private String name;\n\n    @ApiModelProperty(value = \"使用平台：0->全部；1->移动；2->PC\")\n    private Integer platform;\n\n    @ApiModelProperty(value = \"数量\")\n    private Integer count;\n\n    @ApiModelProperty(value = \"金额\")\n    private BigDecimal amount;\n\n    @ApiModelProperty(value = \"每人限领张数\")\n    private Integer perLimit;\n\n    @ApiModelProperty(value = \"使用门槛；0表示无门槛\")\n    private BigDecimal minPoint;\n\n    private Date startTime;\n\n    private Date endTime;\n\n    @ApiModelProperty(value = \"使用类型：0->全场通用；1->指定分类；2->指定商品\")\n    private Integer useType;\n\n    @ApiModelProperty(value = \"备注\")\n    private String note;\n\n    @ApiModelProperty(value = \"发行数量\")\n    private Integer publishCount;\n\n    @ApiModelProperty(value = \"已使用数量\")\n    private Integer useCount;\n\n    @ApiModelProperty(value = \"领取数量\")\n    private Integer receiveCount;\n\n    @ApiModelProperty(value = \"可以领取的日期\")\n    private Date enableTime;\n\n    @ApiModelProperty(value = \"优惠码\")\n    private String code;\n\n    @ApiModelProperty(value = \"可领取的会员类型：0->无限时\")\n    private Integer memberLevel;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getPlatform() {\n        return platform;\n    }\n\n    public void setPlatform(Integer platform) {\n        this.platform = platform;\n    }\n\n    public Integer getCount() {\n        return count;\n    }\n\n    public void setCount(Integer count) {\n        this.count = count;\n    }\n\n    public BigDecimal getAmount() {\n        return amount;\n    }\n\n    public void setAmount(BigDecimal amount) {\n        this.amount = amount;\n    }\n\n    public Integer getPerLimit() {\n        return perLimit;\n    }\n\n    public void setPerLimit(Integer perLimit) {\n        this.perLimit = perLimit;\n    }\n\n    public BigDecimal getMinPoint() {\n        return minPoint;\n    }\n\n    public void setMinPoint(BigDecimal minPoint) {\n        this.minPoint = minPoint;\n    }\n\n    public Date getStartTime() {\n        return startTime;\n    }\n\n    public void setStartTime(Date startTime) {\n        this.startTime = startTime;\n    }\n\n    public Date getEndTime() {\n        return endTime;\n    }\n\n    public void setEndTime(Date endTime) {\n        this.endTime = endTime;\n    }\n\n    public Integer getUseType() {\n        return useType;\n    }\n\n    public void setUseType(Integer useType) {\n        this.useType = useType;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    public Integer getPublishCount() {\n        return publishCount;\n    }\n\n    public void setPublishCount(Integer publishCount) {\n        this.publishCount = publishCount;\n    }\n\n    public Integer getUseCount() {\n        return useCount;\n    }\n\n    public void setUseCount(Integer useCount) {\n        this.useCount = useCount;\n    }\n\n    public Integer getReceiveCount() {\n        return receiveCount;\n    }\n\n    public void setReceiveCount(Integer receiveCount) {\n        this.receiveCount = receiveCount;\n    }\n\n    public Date getEnableTime() {\n        return enableTime;\n    }\n\n    public void setEnableTime(Date enableTime) {\n        this.enableTime = enableTime;\n    }\n\n    public String getCode() {\n        return code;\n    }\n\n    public void setCode(String code) {\n        this.code = code;\n    }\n\n    public Integer getMemberLevel() {\n        return memberLevel;\n    }\n\n    public void setMemberLevel(Integer memberLevel) {\n        this.memberLevel = memberLevel;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", type=\").append(type);\n        sb.append(\", name=\").append(name);\n        sb.append(\", platform=\").append(platform);\n        sb.append(\", count=\").append(count);\n        sb.append(\", amount=\").append(amount);\n        sb.append(\", perLimit=\").append(perLimit);\n        sb.append(\", minPoint=\").append(minPoint);\n        sb.append(\", startTime=\").append(startTime);\n        sb.append(\", endTime=\").append(endTime);\n        sb.append(\", useType=\").append(useType);\n        sb.append(\", note=\").append(note);\n        sb.append(\", publishCount=\").append(publishCount);\n        sb.append(\", useCount=\").append(useCount);\n        sb.append(\", receiveCount=\").append(receiveCount);\n        sb.append(\", enableTime=\").append(enableTime);\n        sb.append(\", code=\").append(code);\n        sb.append(\", memberLevel=\").append(memberLevel);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class SmsCouponExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsCouponExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformIsNull() {\n            addCriterion(\"platform is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformIsNotNull() {\n            addCriterion(\"platform is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformEqualTo(Integer value) {\n            addCriterion(\"platform =\", value, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformNotEqualTo(Integer value) {\n            addCriterion(\"platform <>\", value, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformGreaterThan(Integer value) {\n            addCriterion(\"platform >\", value, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"platform >=\", value, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformLessThan(Integer value) {\n            addCriterion(\"platform <\", value, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformLessThanOrEqualTo(Integer value) {\n            addCriterion(\"platform <=\", value, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformIn(List<Integer> values) {\n            addCriterion(\"platform in\", values, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformNotIn(List<Integer> values) {\n            addCriterion(\"platform not in\", values, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformBetween(Integer value1, Integer value2) {\n            addCriterion(\"platform between\", value1, value2, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPlatformNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"platform not between\", value1, value2, \"platform\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountIsNull() {\n            addCriterion(\"count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountIsNotNull() {\n            addCriterion(\"count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountEqualTo(Integer value) {\n            addCriterion(\"count =\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountNotEqualTo(Integer value) {\n            addCriterion(\"count <>\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountGreaterThan(Integer value) {\n            addCriterion(\"count >\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"count >=\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountLessThan(Integer value) {\n            addCriterion(\"count <\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"count <=\", value, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountIn(List<Integer> values) {\n            addCriterion(\"count in\", values, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountNotIn(List<Integer> values) {\n            addCriterion(\"count not in\", values, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"count between\", value1, value2, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"count not between\", value1, value2, \"count\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountIsNull() {\n            addCriterion(\"amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountIsNotNull() {\n            addCriterion(\"amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountEqualTo(BigDecimal value) {\n            addCriterion(\"amount =\", value, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"amount <>\", value, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"amount >\", value, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"amount >=\", value, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountLessThan(BigDecimal value) {\n            addCriterion(\"amount <\", value, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"amount <=\", value, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountIn(List<BigDecimal> values) {\n            addCriterion(\"amount in\", values, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"amount not in\", values, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"amount between\", value1, value2, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"amount not between\", value1, value2, \"amount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitIsNull() {\n            addCriterion(\"per_limit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitIsNotNull() {\n            addCriterion(\"per_limit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitEqualTo(Integer value) {\n            addCriterion(\"per_limit =\", value, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitNotEqualTo(Integer value) {\n            addCriterion(\"per_limit <>\", value, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitGreaterThan(Integer value) {\n            addCriterion(\"per_limit >\", value, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"per_limit >=\", value, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitLessThan(Integer value) {\n            addCriterion(\"per_limit <\", value, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitLessThanOrEqualTo(Integer value) {\n            addCriterion(\"per_limit <=\", value, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitIn(List<Integer> values) {\n            addCriterion(\"per_limit in\", values, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitNotIn(List<Integer> values) {\n            addCriterion(\"per_limit not in\", values, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitBetween(Integer value1, Integer value2) {\n            addCriterion(\"per_limit between\", value1, value2, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPerLimitNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"per_limit not between\", value1, value2, \"perLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointIsNull() {\n            addCriterion(\"min_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointIsNotNull() {\n            addCriterion(\"min_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointEqualTo(BigDecimal value) {\n            addCriterion(\"min_point =\", value, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointNotEqualTo(BigDecimal value) {\n            addCriterion(\"min_point <>\", value, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointGreaterThan(BigDecimal value) {\n            addCriterion(\"min_point >\", value, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"min_point >=\", value, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointLessThan(BigDecimal value) {\n            addCriterion(\"min_point <\", value, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"min_point <=\", value, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointIn(List<BigDecimal> values) {\n            addCriterion(\"min_point in\", values, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointNotIn(List<BigDecimal> values) {\n            addCriterion(\"min_point not in\", values, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"min_point between\", value1, value2, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMinPointNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"min_point not between\", value1, value2, \"minPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNull() {\n            addCriterion(\"start_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNotNull() {\n            addCriterion(\"start_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeEqualTo(Date value) {\n            addCriterion(\"start_time =\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotEqualTo(Date value) {\n            addCriterion(\"start_time <>\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThan(Date value) {\n            addCriterion(\"start_time >\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"start_time >=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThan(Date value) {\n            addCriterion(\"start_time <\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"start_time <=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIn(List<Date> values) {\n            addCriterion(\"start_time in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotIn(List<Date> values) {\n            addCriterion(\"start_time not in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeBetween(Date value1, Date value2) {\n            addCriterion(\"start_time between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"start_time not between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNull() {\n            addCriterion(\"end_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNotNull() {\n            addCriterion(\"end_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeEqualTo(Date value) {\n            addCriterion(\"end_time =\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotEqualTo(Date value) {\n            addCriterion(\"end_time <>\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThan(Date value) {\n            addCriterion(\"end_time >\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"end_time >=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThan(Date value) {\n            addCriterion(\"end_time <\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"end_time <=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIn(List<Date> values) {\n            addCriterion(\"end_time in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotIn(List<Date> values) {\n            addCriterion(\"end_time not in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeBetween(Date value1, Date value2) {\n            addCriterion(\"end_time between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"end_time not between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeIsNull() {\n            addCriterion(\"use_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeIsNotNull() {\n            addCriterion(\"use_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeEqualTo(Integer value) {\n            addCriterion(\"use_type =\", value, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeNotEqualTo(Integer value) {\n            addCriterion(\"use_type <>\", value, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeGreaterThan(Integer value) {\n            addCriterion(\"use_type >\", value, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_type >=\", value, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeLessThan(Integer value) {\n            addCriterion(\"use_type <\", value, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_type <=\", value, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeIn(List<Integer> values) {\n            addCriterion(\"use_type in\", values, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeNotIn(List<Integer> values) {\n            addCriterion(\"use_type not in\", values, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_type between\", value1, value2, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_type not between\", value1, value2, \"useType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountIsNull() {\n            addCriterion(\"publish_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountIsNotNull() {\n            addCriterion(\"publish_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountEqualTo(Integer value) {\n            addCriterion(\"publish_count =\", value, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountNotEqualTo(Integer value) {\n            addCriterion(\"publish_count <>\", value, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountGreaterThan(Integer value) {\n            addCriterion(\"publish_count >\", value, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"publish_count >=\", value, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountLessThan(Integer value) {\n            addCriterion(\"publish_count <\", value, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"publish_count <=\", value, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountIn(List<Integer> values) {\n            addCriterion(\"publish_count in\", values, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountNotIn(List<Integer> values) {\n            addCriterion(\"publish_count not in\", values, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"publish_count between\", value1, value2, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPublishCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"publish_count not between\", value1, value2, \"publishCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountIsNull() {\n            addCriterion(\"use_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountIsNotNull() {\n            addCriterion(\"use_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountEqualTo(Integer value) {\n            addCriterion(\"use_count =\", value, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountNotEqualTo(Integer value) {\n            addCriterion(\"use_count <>\", value, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountGreaterThan(Integer value) {\n            addCriterion(\"use_count >\", value, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_count >=\", value, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountLessThan(Integer value) {\n            addCriterion(\"use_count <\", value, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_count <=\", value, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountIn(List<Integer> values) {\n            addCriterion(\"use_count in\", values, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountNotIn(List<Integer> values) {\n            addCriterion(\"use_count not in\", values, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_count between\", value1, value2, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_count not between\", value1, value2, \"useCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountIsNull() {\n            addCriterion(\"receive_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountIsNotNull() {\n            addCriterion(\"receive_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountEqualTo(Integer value) {\n            addCriterion(\"receive_count =\", value, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountNotEqualTo(Integer value) {\n            addCriterion(\"receive_count <>\", value, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountGreaterThan(Integer value) {\n            addCriterion(\"receive_count >\", value, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"receive_count >=\", value, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountLessThan(Integer value) {\n            addCriterion(\"receive_count <\", value, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"receive_count <=\", value, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountIn(List<Integer> values) {\n            addCriterion(\"receive_count in\", values, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountNotIn(List<Integer> values) {\n            addCriterion(\"receive_count not in\", values, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"receive_count between\", value1, value2, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReceiveCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"receive_count not between\", value1, value2, \"receiveCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeIsNull() {\n            addCriterion(\"enable_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeIsNotNull() {\n            addCriterion(\"enable_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeEqualTo(Date value) {\n            addCriterion(\"enable_time =\", value, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeNotEqualTo(Date value) {\n            addCriterion(\"enable_time <>\", value, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeGreaterThan(Date value) {\n            addCriterion(\"enable_time >\", value, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"enable_time >=\", value, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeLessThan(Date value) {\n            addCriterion(\"enable_time <\", value, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"enable_time <=\", value, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeIn(List<Date> values) {\n            addCriterion(\"enable_time in\", values, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeNotIn(List<Date> values) {\n            addCriterion(\"enable_time not in\", values, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeBetween(Date value1, Date value2) {\n            addCriterion(\"enable_time between\", value1, value2, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEnableTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"enable_time not between\", value1, value2, \"enableTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeIsNull() {\n            addCriterion(\"code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeIsNotNull() {\n            addCriterion(\"code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeEqualTo(String value) {\n            addCriterion(\"code =\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeNotEqualTo(String value) {\n            addCriterion(\"code <>\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeGreaterThan(String value) {\n            addCriterion(\"code >\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"code >=\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeLessThan(String value) {\n            addCriterion(\"code <\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"code <=\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeLike(String value) {\n            addCriterion(\"code like\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeNotLike(String value) {\n            addCriterion(\"code not like\", value, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeIn(List<String> values) {\n            addCriterion(\"code in\", values, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeNotIn(List<String> values) {\n            addCriterion(\"code not in\", values, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeBetween(String value1, String value2) {\n            addCriterion(\"code between\", value1, value2, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCodeNotBetween(String value1, String value2) {\n            addCriterion(\"code not between\", value1, value2, \"code\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIsNull() {\n            addCriterion(\"member_level is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIsNotNull() {\n            addCriterion(\"member_level is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelEqualTo(Integer value) {\n            addCriterion(\"member_level =\", value, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNotEqualTo(Integer value) {\n            addCriterion(\"member_level <>\", value, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelGreaterThan(Integer value) {\n            addCriterion(\"member_level >\", value, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"member_level >=\", value, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelLessThan(Integer value) {\n            addCriterion(\"member_level <\", value, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelLessThanOrEqualTo(Integer value) {\n            addCriterion(\"member_level <=\", value, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIn(List<Integer> values) {\n            addCriterion(\"member_level in\", values, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNotIn(List<Integer> values) {\n            addCriterion(\"member_level not in\", values, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelBetween(Integer value1, Integer value2) {\n            addCriterion(\"member_level between\", value1, value2, \"memberLevel\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"member_level not between\", value1, value2, \"memberLevel\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponHistory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class SmsCouponHistory implements Serializable {\n    private Long id;\n\n    private Long couponId;\n\n    private Long memberId;\n\n    private String couponCode;\n\n    @ApiModelProperty(value = \"领取人昵称\")\n    private String memberNickname;\n\n    @ApiModelProperty(value = \"获取类型：0->后台赠送；1->主动获取\")\n    private Integer getType;\n\n    private Date createTime;\n\n    @ApiModelProperty(value = \"使用状态：0->未使用；1->已使用；2->已过期\")\n    private Integer useStatus;\n\n    @ApiModelProperty(value = \"使用时间\")\n    private Date useTime;\n\n    @ApiModelProperty(value = \"订单编号\")\n    private Long orderId;\n\n    @ApiModelProperty(value = \"订单号码\")\n    private String orderSn;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCouponId() {\n        return couponId;\n    }\n\n    public void setCouponId(Long couponId) {\n        this.couponId = couponId;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public String getCouponCode() {\n        return couponCode;\n    }\n\n    public void setCouponCode(String couponCode) {\n        this.couponCode = couponCode;\n    }\n\n    public String getMemberNickname() {\n        return memberNickname;\n    }\n\n    public void setMemberNickname(String memberNickname) {\n        this.memberNickname = memberNickname;\n    }\n\n    public Integer getGetType() {\n        return getType;\n    }\n\n    public void setGetType(Integer getType) {\n        this.getType = getType;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getUseStatus() {\n        return useStatus;\n    }\n\n    public void setUseStatus(Integer useStatus) {\n        this.useStatus = useStatus;\n    }\n\n    public Date getUseTime() {\n        return useTime;\n    }\n\n    public void setUseTime(Date useTime) {\n        this.useTime = useTime;\n    }\n\n    public Long getOrderId() {\n        return orderId;\n    }\n\n    public void setOrderId(Long orderId) {\n        this.orderId = orderId;\n    }\n\n    public String getOrderSn() {\n        return orderSn;\n    }\n\n    public void setOrderSn(String orderSn) {\n        this.orderSn = orderSn;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", couponId=\").append(couponId);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", couponCode=\").append(couponCode);\n        sb.append(\", memberNickname=\").append(memberNickname);\n        sb.append(\", getType=\").append(getType);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", useStatus=\").append(useStatus);\n        sb.append(\", useTime=\").append(useTime);\n        sb.append(\", orderId=\").append(orderId);\n        sb.append(\", orderSn=\").append(orderSn);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponHistoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class SmsCouponHistoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsCouponHistoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNull() {\n            addCriterion(\"coupon_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNotNull() {\n            addCriterion(\"coupon_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdEqualTo(Long value) {\n            addCriterion(\"coupon_id =\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotEqualTo(Long value) {\n            addCriterion(\"coupon_id <>\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThan(Long value) {\n            addCriterion(\"coupon_id >\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id >=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThan(Long value) {\n            addCriterion(\"coupon_id <\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id <=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIn(List<Long> values) {\n            addCriterion(\"coupon_id in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotIn(List<Long> values) {\n            addCriterion(\"coupon_id not in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id not between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeIsNull() {\n            addCriterion(\"coupon_code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeIsNotNull() {\n            addCriterion(\"coupon_code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeEqualTo(String value) {\n            addCriterion(\"coupon_code =\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeNotEqualTo(String value) {\n            addCriterion(\"coupon_code <>\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeGreaterThan(String value) {\n            addCriterion(\"coupon_code >\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"coupon_code >=\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeLessThan(String value) {\n            addCriterion(\"coupon_code <\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"coupon_code <=\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeLike(String value) {\n            addCriterion(\"coupon_code like\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeNotLike(String value) {\n            addCriterion(\"coupon_code not like\", value, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeIn(List<String> values) {\n            addCriterion(\"coupon_code in\", values, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeNotIn(List<String> values) {\n            addCriterion(\"coupon_code not in\", values, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeBetween(String value1, String value2) {\n            addCriterion(\"coupon_code between\", value1, value2, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCodeNotBetween(String value1, String value2) {\n            addCriterion(\"coupon_code not between\", value1, value2, \"couponCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameIsNull() {\n            addCriterion(\"member_nickname is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameIsNotNull() {\n            addCriterion(\"member_nickname is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameEqualTo(String value) {\n            addCriterion(\"member_nickname =\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotEqualTo(String value) {\n            addCriterion(\"member_nickname <>\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameGreaterThan(String value) {\n            addCriterion(\"member_nickname >\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_nickname >=\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameLessThan(String value) {\n            addCriterion(\"member_nickname <\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameLessThanOrEqualTo(String value) {\n            addCriterion(\"member_nickname <=\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameLike(String value) {\n            addCriterion(\"member_nickname like\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotLike(String value) {\n            addCriterion(\"member_nickname not like\", value, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameIn(List<String> values) {\n            addCriterion(\"member_nickname in\", values, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotIn(List<String> values) {\n            addCriterion(\"member_nickname not in\", values, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameBetween(String value1, String value2) {\n            addCriterion(\"member_nickname between\", value1, value2, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberNicknameNotBetween(String value1, String value2) {\n            addCriterion(\"member_nickname not between\", value1, value2, \"memberNickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeIsNull() {\n            addCriterion(\"get_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeIsNotNull() {\n            addCriterion(\"get_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeEqualTo(Integer value) {\n            addCriterion(\"get_type =\", value, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeNotEqualTo(Integer value) {\n            addCriterion(\"get_type <>\", value, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeGreaterThan(Integer value) {\n            addCriterion(\"get_type >\", value, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"get_type >=\", value, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeLessThan(Integer value) {\n            addCriterion(\"get_type <\", value, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"get_type <=\", value, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeIn(List<Integer> values) {\n            addCriterion(\"get_type in\", values, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeNotIn(List<Integer> values) {\n            addCriterion(\"get_type not in\", values, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"get_type between\", value1, value2, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGetTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"get_type not between\", value1, value2, \"getType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusIsNull() {\n            addCriterion(\"use_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusIsNotNull() {\n            addCriterion(\"use_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusEqualTo(Integer value) {\n            addCriterion(\"use_status =\", value, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusNotEqualTo(Integer value) {\n            addCriterion(\"use_status <>\", value, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusGreaterThan(Integer value) {\n            addCriterion(\"use_status >\", value, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_status >=\", value, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusLessThan(Integer value) {\n            addCriterion(\"use_status <\", value, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_status <=\", value, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusIn(List<Integer> values) {\n            addCriterion(\"use_status in\", values, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusNotIn(List<Integer> values) {\n            addCriterion(\"use_status not in\", values, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_status between\", value1, value2, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_status not between\", value1, value2, \"useStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeIsNull() {\n            addCriterion(\"use_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeIsNotNull() {\n            addCriterion(\"use_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeEqualTo(Date value) {\n            addCriterion(\"use_time =\", value, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeNotEqualTo(Date value) {\n            addCriterion(\"use_time <>\", value, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeGreaterThan(Date value) {\n            addCriterion(\"use_time >\", value, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"use_time >=\", value, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeLessThan(Date value) {\n            addCriterion(\"use_time <\", value, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"use_time <=\", value, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeIn(List<Date> values) {\n            addCriterion(\"use_time in\", values, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeNotIn(List<Date> values) {\n            addCriterion(\"use_time not in\", values, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeBetween(Date value1, Date value2) {\n            addCriterion(\"use_time between\", value1, value2, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"use_time not between\", value1, value2, \"useTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNull() {\n            addCriterion(\"order_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIsNotNull() {\n            addCriterion(\"order_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdEqualTo(Long value) {\n            addCriterion(\"order_id =\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotEqualTo(Long value) {\n            addCriterion(\"order_id <>\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThan(Long value) {\n            addCriterion(\"order_id >\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"order_id >=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThan(Long value) {\n            addCriterion(\"order_id <\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"order_id <=\", value, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdIn(List<Long> values) {\n            addCriterion(\"order_id in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotIn(List<Long> values) {\n            addCriterion(\"order_id not in\", values, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdBetween(Long value1, Long value2) {\n            addCriterion(\"order_id between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"order_id not between\", value1, value2, \"orderId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNull() {\n            addCriterion(\"order_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIsNotNull() {\n            addCriterion(\"order_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnEqualTo(String value) {\n            addCriterion(\"order_sn =\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotEqualTo(String value) {\n            addCriterion(\"order_sn <>\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThan(String value) {\n            addCriterion(\"order_sn >\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"order_sn >=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThan(String value) {\n            addCriterion(\"order_sn <\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLessThanOrEqualTo(String value) {\n            addCriterion(\"order_sn <=\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnLike(String value) {\n            addCriterion(\"order_sn like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotLike(String value) {\n            addCriterion(\"order_sn not like\", value, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnIn(List<String> values) {\n            addCriterion(\"order_sn in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotIn(List<String> values) {\n            addCriterion(\"order_sn not in\", values, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnBetween(String value1, String value2) {\n            addCriterion(\"order_sn between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderSnNotBetween(String value1, String value2) {\n            addCriterion(\"order_sn not between\", value1, value2, \"orderSn\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductCategoryRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class SmsCouponProductCategoryRelation implements Serializable {\n    private Long id;\n\n    private Long couponId;\n\n    private Long productCategoryId;\n\n    @ApiModelProperty(value = \"产品分类名称\")\n    private String productCategoryName;\n\n    @ApiModelProperty(value = \"父分类名称\")\n    private String parentCategoryName;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCouponId() {\n        return couponId;\n    }\n\n    public void setCouponId(Long couponId) {\n        this.couponId = couponId;\n    }\n\n    public Long getProductCategoryId() {\n        return productCategoryId;\n    }\n\n    public void setProductCategoryId(Long productCategoryId) {\n        this.productCategoryId = productCategoryId;\n    }\n\n    public String getProductCategoryName() {\n        return productCategoryName;\n    }\n\n    public void setProductCategoryName(String productCategoryName) {\n        this.productCategoryName = productCategoryName;\n    }\n\n    public String getParentCategoryName() {\n        return parentCategoryName;\n    }\n\n    public void setParentCategoryName(String parentCategoryName) {\n        this.parentCategoryName = parentCategoryName;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", couponId=\").append(couponId);\n        sb.append(\", productCategoryId=\").append(productCategoryId);\n        sb.append(\", productCategoryName=\").append(productCategoryName);\n        sb.append(\", parentCategoryName=\").append(parentCategoryName);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductCategoryRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsCouponProductCategoryRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsCouponProductCategoryRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNull() {\n            addCriterion(\"coupon_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNotNull() {\n            addCriterion(\"coupon_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdEqualTo(Long value) {\n            addCriterion(\"coupon_id =\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotEqualTo(Long value) {\n            addCriterion(\"coupon_id <>\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThan(Long value) {\n            addCriterion(\"coupon_id >\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id >=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThan(Long value) {\n            addCriterion(\"coupon_id <\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id <=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIn(List<Long> values) {\n            addCriterion(\"coupon_id in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotIn(List<Long> values) {\n            addCriterion(\"coupon_id not in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id not between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNull() {\n            addCriterion(\"product_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNotNull() {\n            addCriterion(\"product_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_category_id =\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_category_id <>\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_category_id >\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id >=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThan(Long value) {\n            addCriterion(\"product_category_id <\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id <=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_category_id in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_category_id not in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id not between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameIsNull() {\n            addCriterion(\"product_category_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameIsNotNull() {\n            addCriterion(\"product_category_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameEqualTo(String value) {\n            addCriterion(\"product_category_name =\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotEqualTo(String value) {\n            addCriterion(\"product_category_name <>\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameGreaterThan(String value) {\n            addCriterion(\"product_category_name >\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_category_name >=\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameLessThan(String value) {\n            addCriterion(\"product_category_name <\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_category_name <=\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameLike(String value) {\n            addCriterion(\"product_category_name like\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotLike(String value) {\n            addCriterion(\"product_category_name not like\", value, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameIn(List<String> values) {\n            addCriterion(\"product_category_name in\", values, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotIn(List<String> values) {\n            addCriterion(\"product_category_name not in\", values, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameBetween(String value1, String value2) {\n            addCriterion(\"product_category_name between\", value1, value2, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_category_name not between\", value1, value2, \"productCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameIsNull() {\n            addCriterion(\"parent_category_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameIsNotNull() {\n            addCriterion(\"parent_category_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameEqualTo(String value) {\n            addCriterion(\"parent_category_name =\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameNotEqualTo(String value) {\n            addCriterion(\"parent_category_name <>\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameGreaterThan(String value) {\n            addCriterion(\"parent_category_name >\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"parent_category_name >=\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameLessThan(String value) {\n            addCriterion(\"parent_category_name <\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameLessThanOrEqualTo(String value) {\n            addCriterion(\"parent_category_name <=\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameLike(String value) {\n            addCriterion(\"parent_category_name like\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameNotLike(String value) {\n            addCriterion(\"parent_category_name not like\", value, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameIn(List<String> values) {\n            addCriterion(\"parent_category_name in\", values, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameNotIn(List<String> values) {\n            addCriterion(\"parent_category_name not in\", values, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameBetween(String value1, String value2) {\n            addCriterion(\"parent_category_name between\", value1, value2, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentCategoryNameNotBetween(String value1, String value2) {\n            addCriterion(\"parent_category_name not between\", value1, value2, \"parentCategoryName\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class SmsCouponProductRelation implements Serializable {\n    private Long id;\n\n    private Long couponId;\n\n    private Long productId;\n\n    @ApiModelProperty(value = \"商品名称\")\n    private String productName;\n\n    @ApiModelProperty(value = \"商品编码\")\n    private String productSn;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getCouponId() {\n        return couponId;\n    }\n\n    public void setCouponId(Long couponId) {\n        this.couponId = couponId;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public String getProductSn() {\n        return productSn;\n    }\n\n    public void setProductSn(String productSn) {\n        this.productSn = productSn;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", couponId=\").append(couponId);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", productSn=\").append(productSn);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsCouponProductRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsCouponProductRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNull() {\n            addCriterion(\"coupon_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIsNotNull() {\n            addCriterion(\"coupon_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdEqualTo(Long value) {\n            addCriterion(\"coupon_id =\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotEqualTo(Long value) {\n            addCriterion(\"coupon_id <>\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThan(Long value) {\n            addCriterion(\"coupon_id >\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id >=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThan(Long value) {\n            addCriterion(\"coupon_id <\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"coupon_id <=\", value, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdIn(List<Long> values) {\n            addCriterion(\"coupon_id in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotIn(List<Long> values) {\n            addCriterion(\"coupon_id not in\", values, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"coupon_id not between\", value1, value2, \"couponId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNull() {\n            addCriterion(\"product_sn is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIsNotNull() {\n            addCriterion(\"product_sn is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnEqualTo(String value) {\n            addCriterion(\"product_sn =\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotEqualTo(String value) {\n            addCriterion(\"product_sn <>\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThan(String value) {\n            addCriterion(\"product_sn >\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_sn >=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThan(String value) {\n            addCriterion(\"product_sn <\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLessThanOrEqualTo(String value) {\n            addCriterion(\"product_sn <=\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnLike(String value) {\n            addCriterion(\"product_sn like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotLike(String value) {\n            addCriterion(\"product_sn not like\", value, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnIn(List<String> values) {\n            addCriterion(\"product_sn in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotIn(List<String> values) {\n            addCriterion(\"product_sn not in\", values, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnBetween(String value1, String value2) {\n            addCriterion(\"product_sn between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductSnNotBetween(String value1, String value2) {\n            addCriterion(\"product_sn not between\", value1, value2, \"productSn\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotion.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class SmsFlashPromotion implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"秒杀时间段名称\")\n    private String title;\n\n    @ApiModelProperty(value = \"开始日期\")\n    private Date startDate;\n\n    @ApiModelProperty(value = \"结束日期\")\n    private Date endDate;\n\n    @ApiModelProperty(value = \"上下线状态\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getTitle() {\n        return title;\n    }\n\n    public void setTitle(String title) {\n        this.title = title;\n    }\n\n    public Date getStartDate() {\n        return startDate;\n    }\n\n    public void setStartDate(Date startDate) {\n        this.startDate = startDate;\n    }\n\n    public Date getEndDate() {\n        return endDate;\n    }\n\n    public void setEndDate(Date endDate) {\n        this.endDate = endDate;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", title=\").append(title);\n        sb.append(\", startDate=\").append(startDate);\n        sb.append(\", endDate=\").append(endDate);\n        sb.append(\", status=\").append(status);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.Iterator;\nimport java.util.List;\n\npublic class SmsFlashPromotionExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsFlashPromotionExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        protected void addCriterionForJDBCDate(String condition, Date value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            addCriterion(condition, new java.sql.Date(value.getTime()), property);\n        }\n\n        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {\n            if (values == null || values.size() == 0) {\n                throw new RuntimeException(\"Value list for \" + property + \" cannot be null or empty\");\n            }\n            List<java.sql.Date> dateList = new ArrayList<>();\n            Iterator<Date> iter = values.iterator();\n            while (iter.hasNext()) {\n                dateList.add(new java.sql.Date(iter.next().getTime()));\n            }\n            addCriterion(condition, dateList, property);\n        }\n\n        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNull() {\n            addCriterion(\"title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNotNull() {\n            addCriterion(\"title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleEqualTo(String value) {\n            addCriterion(\"title =\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotEqualTo(String value) {\n            addCriterion(\"title <>\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThan(String value) {\n            addCriterion(\"title >\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"title >=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThan(String value) {\n            addCriterion(\"title <\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"title <=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLike(String value) {\n            addCriterion(\"title like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotLike(String value) {\n            addCriterion(\"title not like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIn(List<String> values) {\n            addCriterion(\"title in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotIn(List<String> values) {\n            addCriterion(\"title not in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleBetween(String value1, String value2) {\n            addCriterion(\"title between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotBetween(String value1, String value2) {\n            addCriterion(\"title not between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateIsNull() {\n            addCriterion(\"start_date is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateIsNotNull() {\n            addCriterion(\"start_date is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateEqualTo(Date value) {\n            addCriterionForJDBCDate(\"start_date =\", value, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateNotEqualTo(Date value) {\n            addCriterionForJDBCDate(\"start_date <>\", value, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateGreaterThan(Date value) {\n            addCriterionForJDBCDate(\"start_date >\", value, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateGreaterThanOrEqualTo(Date value) {\n            addCriterionForJDBCDate(\"start_date >=\", value, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateLessThan(Date value) {\n            addCriterionForJDBCDate(\"start_date <\", value, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateLessThanOrEqualTo(Date value) {\n            addCriterionForJDBCDate(\"start_date <=\", value, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateIn(List<Date> values) {\n            addCriterionForJDBCDate(\"start_date in\", values, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateNotIn(List<Date> values) {\n            addCriterionForJDBCDate(\"start_date not in\", values, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateBetween(Date value1, Date value2) {\n            addCriterionForJDBCDate(\"start_date between\", value1, value2, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartDateNotBetween(Date value1, Date value2) {\n            addCriterionForJDBCDate(\"start_date not between\", value1, value2, \"startDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateIsNull() {\n            addCriterion(\"end_date is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateIsNotNull() {\n            addCriterion(\"end_date is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateEqualTo(Date value) {\n            addCriterionForJDBCDate(\"end_date =\", value, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateNotEqualTo(Date value) {\n            addCriterionForJDBCDate(\"end_date <>\", value, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateGreaterThan(Date value) {\n            addCriterionForJDBCDate(\"end_date >\", value, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateGreaterThanOrEqualTo(Date value) {\n            addCriterionForJDBCDate(\"end_date >=\", value, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateLessThan(Date value) {\n            addCriterionForJDBCDate(\"end_date <\", value, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateLessThanOrEqualTo(Date value) {\n            addCriterionForJDBCDate(\"end_date <=\", value, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateIn(List<Date> values) {\n            addCriterionForJDBCDate(\"end_date in\", values, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateNotIn(List<Date> values) {\n            addCriterionForJDBCDate(\"end_date not in\", values, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateBetween(Date value1, Date value2) {\n            addCriterionForJDBCDate(\"end_date between\", value1, value2, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndDateNotBetween(Date value1, Date value2) {\n            addCriterionForJDBCDate(\"end_date not between\", value1, value2, \"endDate\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionLog.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class SmsFlashPromotionLog implements Serializable {\n    private Integer id;\n\n    private Integer memberId;\n\n    private Long productId;\n\n    private String memberPhone;\n\n    private String productName;\n\n    @ApiModelProperty(value = \"会员订阅时间\")\n    private Date subscribeTime;\n\n    private Date sendTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Integer getId() {\n        return id;\n    }\n\n    public void setId(Integer id) {\n        this.id = id;\n    }\n\n    public Integer getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Integer memberId) {\n        this.memberId = memberId;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getMemberPhone() {\n        return memberPhone;\n    }\n\n    public void setMemberPhone(String memberPhone) {\n        this.memberPhone = memberPhone;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public Date getSubscribeTime() {\n        return subscribeTime;\n    }\n\n    public void setSubscribeTime(Date subscribeTime) {\n        this.subscribeTime = subscribeTime;\n    }\n\n    public Date getSendTime() {\n        return sendTime;\n    }\n\n    public void setSendTime(Date sendTime) {\n        this.sendTime = sendTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", memberPhone=\").append(memberPhone);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", subscribeTime=\").append(subscribeTime);\n        sb.append(\", sendTime=\").append(sendTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionLogExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class SmsFlashPromotionLogExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsFlashPromotionLogExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Integer value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Integer value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Integer value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Integer value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Integer value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Integer> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Integer> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Integer value1, Integer value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Integer value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Integer value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Integer value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Integer value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Integer value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Integer> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Integer> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Integer value1, Integer value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneIsNull() {\n            addCriterion(\"member_phone is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneIsNotNull() {\n            addCriterion(\"member_phone is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneEqualTo(String value) {\n            addCriterion(\"member_phone =\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneNotEqualTo(String value) {\n            addCriterion(\"member_phone <>\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneGreaterThan(String value) {\n            addCriterion(\"member_phone >\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneGreaterThanOrEqualTo(String value) {\n            addCriterion(\"member_phone >=\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneLessThan(String value) {\n            addCriterion(\"member_phone <\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneLessThanOrEqualTo(String value) {\n            addCriterion(\"member_phone <=\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneLike(String value) {\n            addCriterion(\"member_phone like\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneNotLike(String value) {\n            addCriterion(\"member_phone not like\", value, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneIn(List<String> values) {\n            addCriterion(\"member_phone in\", values, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneNotIn(List<String> values) {\n            addCriterion(\"member_phone not in\", values, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneBetween(String value1, String value2) {\n            addCriterion(\"member_phone between\", value1, value2, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberPhoneNotBetween(String value1, String value2) {\n            addCriterion(\"member_phone not between\", value1, value2, \"memberPhone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeIsNull() {\n            addCriterion(\"subscribe_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeIsNotNull() {\n            addCriterion(\"subscribe_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeEqualTo(Date value) {\n            addCriterion(\"subscribe_time =\", value, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeNotEqualTo(Date value) {\n            addCriterion(\"subscribe_time <>\", value, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeGreaterThan(Date value) {\n            addCriterion(\"subscribe_time >\", value, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"subscribe_time >=\", value, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeLessThan(Date value) {\n            addCriterion(\"subscribe_time <\", value, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"subscribe_time <=\", value, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeIn(List<Date> values) {\n            addCriterion(\"subscribe_time in\", values, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeNotIn(List<Date> values) {\n            addCriterion(\"subscribe_time not in\", values, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeBetween(Date value1, Date value2) {\n            addCriterion(\"subscribe_time between\", value1, value2, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubscribeTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"subscribe_time not between\", value1, value2, \"subscribeTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeIsNull() {\n            addCriterion(\"send_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeIsNotNull() {\n            addCriterion(\"send_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeEqualTo(Date value) {\n            addCriterion(\"send_time =\", value, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeNotEqualTo(Date value) {\n            addCriterion(\"send_time <>\", value, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeGreaterThan(Date value) {\n            addCriterion(\"send_time >\", value, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"send_time >=\", value, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeLessThan(Date value) {\n            addCriterion(\"send_time <\", value, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"send_time <=\", value, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeIn(List<Date> values) {\n            addCriterion(\"send_time in\", values, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeNotIn(List<Date> values) {\n            addCriterion(\"send_time not in\", values, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeBetween(Date value1, Date value2) {\n            addCriterion(\"send_time between\", value1, value2, \"sendTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSendTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"send_time not between\", value1, value2, \"sendTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionProductRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class SmsFlashPromotionProductRelation implements Serializable {\n    @ApiModelProperty(value = \"编号\")\n    private Long id;\n\n    private Long flashPromotionId;\n\n    @ApiModelProperty(value = \"编号\")\n    private Long flashPromotionSessionId;\n\n    private Long productId;\n\n    @ApiModelProperty(value = \"限时购价格\")\n    private BigDecimal flashPromotionPrice;\n\n    @ApiModelProperty(value = \"限时购数量\")\n    private Integer flashPromotionCount;\n\n    @ApiModelProperty(value = \"每人限购数量\")\n    private Integer flashPromotionLimit;\n\n    @ApiModelProperty(value = \"排序\")\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getFlashPromotionId() {\n        return flashPromotionId;\n    }\n\n    public void setFlashPromotionId(Long flashPromotionId) {\n        this.flashPromotionId = flashPromotionId;\n    }\n\n    public Long getFlashPromotionSessionId() {\n        return flashPromotionSessionId;\n    }\n\n    public void setFlashPromotionSessionId(Long flashPromotionSessionId) {\n        this.flashPromotionSessionId = flashPromotionSessionId;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public BigDecimal getFlashPromotionPrice() {\n        return flashPromotionPrice;\n    }\n\n    public void setFlashPromotionPrice(BigDecimal flashPromotionPrice) {\n        this.flashPromotionPrice = flashPromotionPrice;\n    }\n\n    public Integer getFlashPromotionCount() {\n        return flashPromotionCount;\n    }\n\n    public void setFlashPromotionCount(Integer flashPromotionCount) {\n        this.flashPromotionCount = flashPromotionCount;\n    }\n\n    public Integer getFlashPromotionLimit() {\n        return flashPromotionLimit;\n    }\n\n    public void setFlashPromotionLimit(Integer flashPromotionLimit) {\n        this.flashPromotionLimit = flashPromotionLimit;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", flashPromotionId=\").append(flashPromotionId);\n        sb.append(\", flashPromotionSessionId=\").append(flashPromotionSessionId);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", flashPromotionPrice=\").append(flashPromotionPrice);\n        sb.append(\", flashPromotionCount=\").append(flashPromotionCount);\n        sb.append(\", flashPromotionLimit=\").append(flashPromotionLimit);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionProductRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsFlashPromotionProductRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsFlashPromotionProductRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdIsNull() {\n            addCriterion(\"flash_promotion_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdIsNotNull() {\n            addCriterion(\"flash_promotion_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdEqualTo(Long value) {\n            addCriterion(\"flash_promotion_id =\", value, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdNotEqualTo(Long value) {\n            addCriterion(\"flash_promotion_id <>\", value, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdGreaterThan(Long value) {\n            addCriterion(\"flash_promotion_id >\", value, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"flash_promotion_id >=\", value, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdLessThan(Long value) {\n            addCriterion(\"flash_promotion_id <\", value, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"flash_promotion_id <=\", value, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdIn(List<Long> values) {\n            addCriterion(\"flash_promotion_id in\", values, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdNotIn(List<Long> values) {\n            addCriterion(\"flash_promotion_id not in\", values, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdBetween(Long value1, Long value2) {\n            addCriterion(\"flash_promotion_id between\", value1, value2, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"flash_promotion_id not between\", value1, value2, \"flashPromotionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdIsNull() {\n            addCriterion(\"flash_promotion_session_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdIsNotNull() {\n            addCriterion(\"flash_promotion_session_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdEqualTo(Long value) {\n            addCriterion(\"flash_promotion_session_id =\", value, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdNotEqualTo(Long value) {\n            addCriterion(\"flash_promotion_session_id <>\", value, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdGreaterThan(Long value) {\n            addCriterion(\"flash_promotion_session_id >\", value, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"flash_promotion_session_id >=\", value, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdLessThan(Long value) {\n            addCriterion(\"flash_promotion_session_id <\", value, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"flash_promotion_session_id <=\", value, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdIn(List<Long> values) {\n            addCriterion(\"flash_promotion_session_id in\", values, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdNotIn(List<Long> values) {\n            addCriterion(\"flash_promotion_session_id not in\", values, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdBetween(Long value1, Long value2) {\n            addCriterion(\"flash_promotion_session_id between\", value1, value2, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionSessionIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"flash_promotion_session_id not between\", value1, value2, \"flashPromotionSessionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceIsNull() {\n            addCriterion(\"flash_promotion_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceIsNotNull() {\n            addCriterion(\"flash_promotion_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceEqualTo(BigDecimal value) {\n            addCriterion(\"flash_promotion_price =\", value, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceNotEqualTo(BigDecimal value) {\n            addCriterion(\"flash_promotion_price <>\", value, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceGreaterThan(BigDecimal value) {\n            addCriterion(\"flash_promotion_price >\", value, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"flash_promotion_price >=\", value, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceLessThan(BigDecimal value) {\n            addCriterion(\"flash_promotion_price <\", value, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"flash_promotion_price <=\", value, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceIn(List<BigDecimal> values) {\n            addCriterion(\"flash_promotion_price in\", values, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceNotIn(List<BigDecimal> values) {\n            addCriterion(\"flash_promotion_price not in\", values, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"flash_promotion_price between\", value1, value2, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionPriceNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"flash_promotion_price not between\", value1, value2, \"flashPromotionPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountIsNull() {\n            addCriterion(\"flash_promotion_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountIsNotNull() {\n            addCriterion(\"flash_promotion_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_count =\", value, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountNotEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_count <>\", value, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountGreaterThan(Integer value) {\n            addCriterion(\"flash_promotion_count >\", value, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_count >=\", value, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountLessThan(Integer value) {\n            addCriterion(\"flash_promotion_count <\", value, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_count <=\", value, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountIn(List<Integer> values) {\n            addCriterion(\"flash_promotion_count in\", values, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountNotIn(List<Integer> values) {\n            addCriterion(\"flash_promotion_count not in\", values, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"flash_promotion_count between\", value1, value2, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"flash_promotion_count not between\", value1, value2, \"flashPromotionCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitIsNull() {\n            addCriterion(\"flash_promotion_limit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitIsNotNull() {\n            addCriterion(\"flash_promotion_limit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_limit =\", value, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitNotEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_limit <>\", value, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitGreaterThan(Integer value) {\n            addCriterion(\"flash_promotion_limit >\", value, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_limit >=\", value, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitLessThan(Integer value) {\n            addCriterion(\"flash_promotion_limit <\", value, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitLessThanOrEqualTo(Integer value) {\n            addCriterion(\"flash_promotion_limit <=\", value, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitIn(List<Integer> values) {\n            addCriterion(\"flash_promotion_limit in\", values, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitNotIn(List<Integer> values) {\n            addCriterion(\"flash_promotion_limit not in\", values, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitBetween(Integer value1, Integer value2) {\n            addCriterion(\"flash_promotion_limit between\", value1, value2, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFlashPromotionLimitNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"flash_promotion_limit not between\", value1, value2, \"flashPromotionLimit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionSession.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class SmsFlashPromotionSession implements Serializable {\n    @ApiModelProperty(value = \"编号\")\n    private Long id;\n\n    @ApiModelProperty(value = \"场次名称\")\n    private String name;\n\n    @ApiModelProperty(value = \"每日开始时间\")\n    private Date startTime;\n\n    @ApiModelProperty(value = \"每日结束时间\")\n    private Date endTime;\n\n    @ApiModelProperty(value = \"启用状态：0->不启用；1->启用\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Date getStartTime() {\n        return startTime;\n    }\n\n    public void setStartTime(Date startTime) {\n        this.startTime = startTime;\n    }\n\n    public Date getEndTime() {\n        return endTime;\n    }\n\n    public void setEndTime(Date endTime) {\n        this.endTime = endTime;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", startTime=\").append(startTime);\n        sb.append(\", endTime=\").append(endTime);\n        sb.append(\", status=\").append(status);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionSessionExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.Iterator;\nimport java.util.List;\n\npublic class SmsFlashPromotionSessionExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsFlashPromotionSessionExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        protected void addCriterionForJDBCTime(String condition, Date value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            addCriterion(condition, new java.sql.Time(value.getTime()), property);\n        }\n\n        protected void addCriterionForJDBCTime(String condition, List<Date> values, String property) {\n            if (values == null || values.size() == 0) {\n                throw new RuntimeException(\"Value list for \" + property + \" cannot be null or empty\");\n            }\n            List<java.sql.Time> timeList = new ArrayList<>();\n            Iterator<Date> iter = values.iterator();\n            while (iter.hasNext()) {\n                timeList.add(new java.sql.Time(iter.next().getTime()));\n            }\n            addCriterion(condition, timeList, property);\n        }\n\n        protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property);\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNull() {\n            addCriterion(\"start_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNotNull() {\n            addCriterion(\"start_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeEqualTo(Date value) {\n            addCriterionForJDBCTime(\"start_time =\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotEqualTo(Date value) {\n            addCriterionForJDBCTime(\"start_time <>\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThan(Date value) {\n            addCriterionForJDBCTime(\"start_time >\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {\n            addCriterionForJDBCTime(\"start_time >=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThan(Date value) {\n            addCriterionForJDBCTime(\"start_time <\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThanOrEqualTo(Date value) {\n            addCriterionForJDBCTime(\"start_time <=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIn(List<Date> values) {\n            addCriterionForJDBCTime(\"start_time in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotIn(List<Date> values) {\n            addCriterionForJDBCTime(\"start_time not in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeBetween(Date value1, Date value2) {\n            addCriterionForJDBCTime(\"start_time between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotBetween(Date value1, Date value2) {\n            addCriterionForJDBCTime(\"start_time not between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNull() {\n            addCriterion(\"end_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNotNull() {\n            addCriterion(\"end_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeEqualTo(Date value) {\n            addCriterionForJDBCTime(\"end_time =\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotEqualTo(Date value) {\n            addCriterionForJDBCTime(\"end_time <>\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThan(Date value) {\n            addCriterionForJDBCTime(\"end_time >\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {\n            addCriterionForJDBCTime(\"end_time >=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThan(Date value) {\n            addCriterionForJDBCTime(\"end_time <\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThanOrEqualTo(Date value) {\n            addCriterionForJDBCTime(\"end_time <=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIn(List<Date> values) {\n            addCriterionForJDBCTime(\"end_time in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotIn(List<Date> values) {\n            addCriterionForJDBCTime(\"end_time not in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeBetween(Date value1, Date value2) {\n            addCriterionForJDBCTime(\"end_time between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotBetween(Date value1, Date value2) {\n            addCriterionForJDBCTime(\"end_time not between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeAdvertise.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class SmsHomeAdvertise implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"轮播位置：0->PC首页轮播；1->app首页轮播\")\n    private Integer type;\n\n    private String pic;\n\n    private Date startTime;\n\n    private Date endTime;\n\n    @ApiModelProperty(value = \"上下线状态：0->下线；1->上线\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"点击数\")\n    private Integer clickCount;\n\n    @ApiModelProperty(value = \"下单数\")\n    private Integer orderCount;\n\n    @ApiModelProperty(value = \"链接地址\")\n    private String url;\n\n    @ApiModelProperty(value = \"备注\")\n    private String note;\n\n    @ApiModelProperty(value = \"排序\")\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    public String getPic() {\n        return pic;\n    }\n\n    public void setPic(String pic) {\n        this.pic = pic;\n    }\n\n    public Date getStartTime() {\n        return startTime;\n    }\n\n    public void setStartTime(Date startTime) {\n        this.startTime = startTime;\n    }\n\n    public Date getEndTime() {\n        return endTime;\n    }\n\n    public void setEndTime(Date endTime) {\n        this.endTime = endTime;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Integer getClickCount() {\n        return clickCount;\n    }\n\n    public void setClickCount(Integer clickCount) {\n        this.clickCount = clickCount;\n    }\n\n    public Integer getOrderCount() {\n        return orderCount;\n    }\n\n    public void setOrderCount(Integer orderCount) {\n        this.orderCount = orderCount;\n    }\n\n    public String getUrl() {\n        return url;\n    }\n\n    public void setUrl(String url) {\n        this.url = url;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", type=\").append(type);\n        sb.append(\", pic=\").append(pic);\n        sb.append(\", startTime=\").append(startTime);\n        sb.append(\", endTime=\").append(endTime);\n        sb.append(\", status=\").append(status);\n        sb.append(\", clickCount=\").append(clickCount);\n        sb.append(\", orderCount=\").append(orderCount);\n        sb.append(\", url=\").append(url);\n        sb.append(\", note=\").append(note);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeAdvertiseExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class SmsHomeAdvertiseExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsHomeAdvertiseExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNull() {\n            addCriterion(\"pic is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIsNotNull() {\n            addCriterion(\"pic is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicEqualTo(String value) {\n            addCriterion(\"pic =\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotEqualTo(String value) {\n            addCriterion(\"pic <>\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThan(String value) {\n            addCriterion(\"pic >\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicGreaterThanOrEqualTo(String value) {\n            addCriterion(\"pic >=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThan(String value) {\n            addCriterion(\"pic <\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLessThanOrEqualTo(String value) {\n            addCriterion(\"pic <=\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicLike(String value) {\n            addCriterion(\"pic like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotLike(String value) {\n            addCriterion(\"pic not like\", value, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicIn(List<String> values) {\n            addCriterion(\"pic in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotIn(List<String> values) {\n            addCriterion(\"pic not in\", values, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicBetween(String value1, String value2) {\n            addCriterion(\"pic between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPicNotBetween(String value1, String value2) {\n            addCriterion(\"pic not between\", value1, value2, \"pic\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNull() {\n            addCriterion(\"start_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIsNotNull() {\n            addCriterion(\"start_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeEqualTo(Date value) {\n            addCriterion(\"start_time =\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotEqualTo(Date value) {\n            addCriterion(\"start_time <>\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThan(Date value) {\n            addCriterion(\"start_time >\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"start_time >=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThan(Date value) {\n            addCriterion(\"start_time <\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"start_time <=\", value, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeIn(List<Date> values) {\n            addCriterion(\"start_time in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotIn(List<Date> values) {\n            addCriterion(\"start_time not in\", values, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeBetween(Date value1, Date value2) {\n            addCriterion(\"start_time between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStartTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"start_time not between\", value1, value2, \"startTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNull() {\n            addCriterion(\"end_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIsNotNull() {\n            addCriterion(\"end_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeEqualTo(Date value) {\n            addCriterion(\"end_time =\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotEqualTo(Date value) {\n            addCriterion(\"end_time <>\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThan(Date value) {\n            addCriterion(\"end_time >\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"end_time >=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThan(Date value) {\n            addCriterion(\"end_time <\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"end_time <=\", value, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeIn(List<Date> values) {\n            addCriterion(\"end_time in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotIn(List<Date> values) {\n            addCriterion(\"end_time not in\", values, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeBetween(Date value1, Date value2) {\n            addCriterion(\"end_time between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEndTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"end_time not between\", value1, value2, \"endTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountIsNull() {\n            addCriterion(\"click_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountIsNotNull() {\n            addCriterion(\"click_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountEqualTo(Integer value) {\n            addCriterion(\"click_count =\", value, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountNotEqualTo(Integer value) {\n            addCriterion(\"click_count <>\", value, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountGreaterThan(Integer value) {\n            addCriterion(\"click_count >\", value, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"click_count >=\", value, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountLessThan(Integer value) {\n            addCriterion(\"click_count <\", value, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"click_count <=\", value, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountIn(List<Integer> values) {\n            addCriterion(\"click_count in\", values, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountNotIn(List<Integer> values) {\n            addCriterion(\"click_count not in\", values, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"click_count between\", value1, value2, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andClickCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"click_count not between\", value1, value2, \"clickCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountIsNull() {\n            addCriterion(\"order_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountIsNotNull() {\n            addCriterion(\"order_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountEqualTo(Integer value) {\n            addCriterion(\"order_count =\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountNotEqualTo(Integer value) {\n            addCriterion(\"order_count <>\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountGreaterThan(Integer value) {\n            addCriterion(\"order_count >\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"order_count >=\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountLessThan(Integer value) {\n            addCriterion(\"order_count <\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"order_count <=\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountIn(List<Integer> values) {\n            addCriterion(\"order_count in\", values, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountNotIn(List<Integer> values) {\n            addCriterion(\"order_count not in\", values, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_count between\", value1, value2, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_count not between\", value1, value2, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlIsNull() {\n            addCriterion(\"url is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlIsNotNull() {\n            addCriterion(\"url is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlEqualTo(String value) {\n            addCriterion(\"url =\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotEqualTo(String value) {\n            addCriterion(\"url <>\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlGreaterThan(String value) {\n            addCriterion(\"url >\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlGreaterThanOrEqualTo(String value) {\n            addCriterion(\"url >=\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlLessThan(String value) {\n            addCriterion(\"url <\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlLessThanOrEqualTo(String value) {\n            addCriterion(\"url <=\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlLike(String value) {\n            addCriterion(\"url like\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotLike(String value) {\n            addCriterion(\"url not like\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlIn(List<String> values) {\n            addCriterion(\"url in\", values, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotIn(List<String> values) {\n            addCriterion(\"url not in\", values, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlBetween(String value1, String value2) {\n            addCriterion(\"url between\", value1, value2, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotBetween(String value1, String value2) {\n            addCriterion(\"url not between\", value1, value2, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeBrand.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class SmsHomeBrand implements Serializable {\n    private Long id;\n\n    private Long brandId;\n\n    private String brandName;\n\n    private Integer recommendStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getBrandId() {\n        return brandId;\n    }\n\n    public void setBrandId(Long brandId) {\n        this.brandId = brandId;\n    }\n\n    public String getBrandName() {\n        return brandName;\n    }\n\n    public void setBrandName(String brandName) {\n        this.brandName = brandName;\n    }\n\n    public Integer getRecommendStatus() {\n        return recommendStatus;\n    }\n\n    public void setRecommendStatus(Integer recommendStatus) {\n        this.recommendStatus = recommendStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", brandId=\").append(brandId);\n        sb.append(\", brandName=\").append(brandName);\n        sb.append(\", recommendStatus=\").append(recommendStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeBrandExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsHomeBrandExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsHomeBrandExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdIsNull() {\n            addCriterion(\"brand_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdIsNotNull() {\n            addCriterion(\"brand_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdEqualTo(Long value) {\n            addCriterion(\"brand_id =\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdNotEqualTo(Long value) {\n            addCriterion(\"brand_id <>\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdGreaterThan(Long value) {\n            addCriterion(\"brand_id >\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"brand_id >=\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdLessThan(Long value) {\n            addCriterion(\"brand_id <\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"brand_id <=\", value, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdIn(List<Long> values) {\n            addCriterion(\"brand_id in\", values, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdNotIn(List<Long> values) {\n            addCriterion(\"brand_id not in\", values, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdBetween(Long value1, Long value2) {\n            addCriterion(\"brand_id between\", value1, value2, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"brand_id not between\", value1, value2, \"brandId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameIsNull() {\n            addCriterion(\"brand_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameIsNotNull() {\n            addCriterion(\"brand_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameEqualTo(String value) {\n            addCriterion(\"brand_name =\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotEqualTo(String value) {\n            addCriterion(\"brand_name <>\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameGreaterThan(String value) {\n            addCriterion(\"brand_name >\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"brand_name >=\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameLessThan(String value) {\n            addCriterion(\"brand_name <\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameLessThanOrEqualTo(String value) {\n            addCriterion(\"brand_name <=\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameLike(String value) {\n            addCriterion(\"brand_name like\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotLike(String value) {\n            addCriterion(\"brand_name not like\", value, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameIn(List<String> values) {\n            addCriterion(\"brand_name in\", values, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotIn(List<String> values) {\n            addCriterion(\"brand_name not in\", values, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameBetween(String value1, String value2) {\n            addCriterion(\"brand_name between\", value1, value2, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBrandNameNotBetween(String value1, String value2) {\n            addCriterion(\"brand_name not between\", value1, value2, \"brandName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNull() {\n            addCriterion(\"recommend_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNotNull() {\n            addCriterion(\"recommend_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusEqualTo(Integer value) {\n            addCriterion(\"recommend_status =\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotEqualTo(Integer value) {\n            addCriterion(\"recommend_status <>\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThan(Integer value) {\n            addCriterion(\"recommend_status >\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status >=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThan(Integer value) {\n            addCriterion(\"recommend_status <\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status <=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIn(List<Integer> values) {\n            addCriterion(\"recommend_status in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotIn(List<Integer> values) {\n            addCriterion(\"recommend_status not in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status not between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeNewProduct.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class SmsHomeNewProduct implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private String productName;\n\n    private Integer recommendStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public Integer getRecommendStatus() {\n        return recommendStatus;\n    }\n\n    public void setRecommendStatus(Integer recommendStatus) {\n        this.recommendStatus = recommendStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", recommendStatus=\").append(recommendStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeNewProductExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsHomeNewProductExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsHomeNewProductExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNull() {\n            addCriterion(\"recommend_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNotNull() {\n            addCriterion(\"recommend_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusEqualTo(Integer value) {\n            addCriterion(\"recommend_status =\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotEqualTo(Integer value) {\n            addCriterion(\"recommend_status <>\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThan(Integer value) {\n            addCriterion(\"recommend_status >\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status >=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThan(Integer value) {\n            addCriterion(\"recommend_status <\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status <=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIn(List<Integer> values) {\n            addCriterion(\"recommend_status in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotIn(List<Integer> values) {\n            addCriterion(\"recommend_status not in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status not between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendProduct.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class SmsHomeRecommendProduct implements Serializable {\n    private Long id;\n\n    private Long productId;\n\n    private String productName;\n\n    private Integer recommendStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getProductId() {\n        return productId;\n    }\n\n    public void setProductId(Long productId) {\n        this.productId = productId;\n    }\n\n    public String getProductName() {\n        return productName;\n    }\n\n    public void setProductName(String productName) {\n        this.productName = productName;\n    }\n\n    public Integer getRecommendStatus() {\n        return recommendStatus;\n    }\n\n    public void setRecommendStatus(Integer recommendStatus) {\n        this.recommendStatus = recommendStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", productId=\").append(productId);\n        sb.append(\", productName=\").append(productName);\n        sb.append(\", recommendStatus=\").append(recommendStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendProductExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsHomeRecommendProductExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsHomeRecommendProductExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNull() {\n            addCriterion(\"product_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIsNotNull() {\n            addCriterion(\"product_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdEqualTo(Long value) {\n            addCriterion(\"product_id =\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotEqualTo(Long value) {\n            addCriterion(\"product_id <>\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThan(Long value) {\n            addCriterion(\"product_id >\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_id >=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThan(Long value) {\n            addCriterion(\"product_id <\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_id <=\", value, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdIn(List<Long> values) {\n            addCriterion(\"product_id in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotIn(List<Long> values) {\n            addCriterion(\"product_id not in\", values, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_id between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_id not between\", value1, value2, \"productId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNull() {\n            addCriterion(\"product_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIsNotNull() {\n            addCriterion(\"product_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameEqualTo(String value) {\n            addCriterion(\"product_name =\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotEqualTo(String value) {\n            addCriterion(\"product_name <>\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThan(String value) {\n            addCriterion(\"product_name >\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"product_name >=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThan(String value) {\n            addCriterion(\"product_name <\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLessThanOrEqualTo(String value) {\n            addCriterion(\"product_name <=\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameLike(String value) {\n            addCriterion(\"product_name like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotLike(String value) {\n            addCriterion(\"product_name not like\", value, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameIn(List<String> values) {\n            addCriterion(\"product_name in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotIn(List<String> values) {\n            addCriterion(\"product_name not in\", values, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameBetween(String value1, String value2) {\n            addCriterion(\"product_name between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductNameNotBetween(String value1, String value2) {\n            addCriterion(\"product_name not between\", value1, value2, \"productName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNull() {\n            addCriterion(\"recommend_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNotNull() {\n            addCriterion(\"recommend_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusEqualTo(Integer value) {\n            addCriterion(\"recommend_status =\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotEqualTo(Integer value) {\n            addCriterion(\"recommend_status <>\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThan(Integer value) {\n            addCriterion(\"recommend_status >\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status >=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThan(Integer value) {\n            addCriterion(\"recommend_status <\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status <=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIn(List<Integer> values) {\n            addCriterion(\"recommend_status in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotIn(List<Integer> values) {\n            addCriterion(\"recommend_status not in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status not between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendSubject.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class SmsHomeRecommendSubject implements Serializable {\n    private Long id;\n\n    private Long subjectId;\n\n    private String subjectName;\n\n    private Integer recommendStatus;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getSubjectId() {\n        return subjectId;\n    }\n\n    public void setSubjectId(Long subjectId) {\n        this.subjectId = subjectId;\n    }\n\n    public String getSubjectName() {\n        return subjectName;\n    }\n\n    public void setSubjectName(String subjectName) {\n        this.subjectName = subjectName;\n    }\n\n    public Integer getRecommendStatus() {\n        return recommendStatus;\n    }\n\n    public void setRecommendStatus(Integer recommendStatus) {\n        this.recommendStatus = recommendStatus;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", subjectId=\").append(subjectId);\n        sb.append(\", subjectName=\").append(subjectName);\n        sb.append(\", recommendStatus=\").append(recommendStatus);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendSubjectExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class SmsHomeRecommendSubjectExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public SmsHomeRecommendSubjectExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIsNull() {\n            addCriterion(\"subject_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIsNotNull() {\n            addCriterion(\"subject_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdEqualTo(Long value) {\n            addCriterion(\"subject_id =\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotEqualTo(Long value) {\n            addCriterion(\"subject_id <>\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdGreaterThan(Long value) {\n            addCriterion(\"subject_id >\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"subject_id >=\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdLessThan(Long value) {\n            addCriterion(\"subject_id <\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"subject_id <=\", value, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdIn(List<Long> values) {\n            addCriterion(\"subject_id in\", values, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotIn(List<Long> values) {\n            addCriterion(\"subject_id not in\", values, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdBetween(Long value1, Long value2) {\n            addCriterion(\"subject_id between\", value1, value2, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"subject_id not between\", value1, value2, \"subjectId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameIsNull() {\n            addCriterion(\"subject_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameIsNotNull() {\n            addCriterion(\"subject_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameEqualTo(String value) {\n            addCriterion(\"subject_name =\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameNotEqualTo(String value) {\n            addCriterion(\"subject_name <>\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameGreaterThan(String value) {\n            addCriterion(\"subject_name >\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"subject_name >=\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameLessThan(String value) {\n            addCriterion(\"subject_name <\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameLessThanOrEqualTo(String value) {\n            addCriterion(\"subject_name <=\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameLike(String value) {\n            addCriterion(\"subject_name like\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameNotLike(String value) {\n            addCriterion(\"subject_name not like\", value, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameIn(List<String> values) {\n            addCriterion(\"subject_name in\", values, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameNotIn(List<String> values) {\n            addCriterion(\"subject_name not in\", values, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameBetween(String value1, String value2) {\n            addCriterion(\"subject_name between\", value1, value2, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSubjectNameNotBetween(String value1, String value2) {\n            addCriterion(\"subject_name not between\", value1, value2, \"subjectName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNull() {\n            addCriterion(\"recommend_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIsNotNull() {\n            addCriterion(\"recommend_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusEqualTo(Integer value) {\n            addCriterion(\"recommend_status =\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotEqualTo(Integer value) {\n            addCriterion(\"recommend_status <>\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThan(Integer value) {\n            addCriterion(\"recommend_status >\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status >=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThan(Integer value) {\n            addCriterion(\"recommend_status <\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"recommend_status <=\", value, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusIn(List<Integer> values) {\n            addCriterion(\"recommend_status in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotIn(List<Integer> values) {\n            addCriterion(\"recommend_status not in\", values, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"recommend_status not between\", value1, value2, \"recommendStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdmin.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsAdmin implements Serializable {\n    private Long id;\n\n    private String username;\n\n    private String password;\n\n    @ApiModelProperty(value = \"头像\")\n    private String icon;\n\n    @ApiModelProperty(value = \"邮箱\")\n    private String email;\n\n    @ApiModelProperty(value = \"昵称\")\n    private String nickName;\n\n    @ApiModelProperty(value = \"备注信息\")\n    private String note;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"最后登录时间\")\n    private Date loginTime;\n\n    @ApiModelProperty(value = \"帐号启用状态：0->禁用；1->启用\")\n    private Integer status;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getUsername() {\n        return username;\n    }\n\n    public void setUsername(String username) {\n        this.username = username;\n    }\n\n    public String getPassword() {\n        return password;\n    }\n\n    public void setPassword(String password) {\n        this.password = password;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public String getEmail() {\n        return email;\n    }\n\n    public void setEmail(String email) {\n        this.email = email;\n    }\n\n    public String getNickName() {\n        return nickName;\n    }\n\n    public void setNickName(String nickName) {\n        this.nickName = nickName;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Date getLoginTime() {\n        return loginTime;\n    }\n\n    public void setLoginTime(Date loginTime) {\n        this.loginTime = loginTime;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", username=\").append(username);\n        sb.append(\", password=\").append(password);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", email=\").append(email);\n        sb.append(\", nickName=\").append(nickName);\n        sb.append(\", note=\").append(note);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", loginTime=\").append(loginTime);\n        sb.append(\", status=\").append(status);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsAdminExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsAdminExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameIsNull() {\n            addCriterion(\"username is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameIsNotNull() {\n            addCriterion(\"username is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameEqualTo(String value) {\n            addCriterion(\"username =\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotEqualTo(String value) {\n            addCriterion(\"username <>\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameGreaterThan(String value) {\n            addCriterion(\"username >\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"username >=\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameLessThan(String value) {\n            addCriterion(\"username <\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameLessThanOrEqualTo(String value) {\n            addCriterion(\"username <=\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameLike(String value) {\n            addCriterion(\"username like\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotLike(String value) {\n            addCriterion(\"username not like\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameIn(List<String> values) {\n            addCriterion(\"username in\", values, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotIn(List<String> values) {\n            addCriterion(\"username not in\", values, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameBetween(String value1, String value2) {\n            addCriterion(\"username between\", value1, value2, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotBetween(String value1, String value2) {\n            addCriterion(\"username not between\", value1, value2, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordIsNull() {\n            addCriterion(\"password is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordIsNotNull() {\n            addCriterion(\"password is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordEqualTo(String value) {\n            addCriterion(\"password =\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotEqualTo(String value) {\n            addCriterion(\"password <>\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordGreaterThan(String value) {\n            addCriterion(\"password >\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordGreaterThanOrEqualTo(String value) {\n            addCriterion(\"password >=\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordLessThan(String value) {\n            addCriterion(\"password <\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordLessThanOrEqualTo(String value) {\n            addCriterion(\"password <=\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordLike(String value) {\n            addCriterion(\"password like\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotLike(String value) {\n            addCriterion(\"password not like\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordIn(List<String> values) {\n            addCriterion(\"password in\", values, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotIn(List<String> values) {\n            addCriterion(\"password not in\", values, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordBetween(String value1, String value2) {\n            addCriterion(\"password between\", value1, value2, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotBetween(String value1, String value2) {\n            addCriterion(\"password not between\", value1, value2, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailIsNull() {\n            addCriterion(\"email is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailIsNotNull() {\n            addCriterion(\"email is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailEqualTo(String value) {\n            addCriterion(\"email =\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailNotEqualTo(String value) {\n            addCriterion(\"email <>\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailGreaterThan(String value) {\n            addCriterion(\"email >\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailGreaterThanOrEqualTo(String value) {\n            addCriterion(\"email >=\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailLessThan(String value) {\n            addCriterion(\"email <\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailLessThanOrEqualTo(String value) {\n            addCriterion(\"email <=\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailLike(String value) {\n            addCriterion(\"email like\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailNotLike(String value) {\n            addCriterion(\"email not like\", value, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailIn(List<String> values) {\n            addCriterion(\"email in\", values, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailNotIn(List<String> values) {\n            addCriterion(\"email not in\", values, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailBetween(String value1, String value2) {\n            addCriterion(\"email between\", value1, value2, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andEmailNotBetween(String value1, String value2) {\n            addCriterion(\"email not between\", value1, value2, \"email\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameIsNull() {\n            addCriterion(\"nick_name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameIsNotNull() {\n            addCriterion(\"nick_name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameEqualTo(String value) {\n            addCriterion(\"nick_name =\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameNotEqualTo(String value) {\n            addCriterion(\"nick_name <>\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameGreaterThan(String value) {\n            addCriterion(\"nick_name >\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"nick_name >=\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameLessThan(String value) {\n            addCriterion(\"nick_name <\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameLessThanOrEqualTo(String value) {\n            addCriterion(\"nick_name <=\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameLike(String value) {\n            addCriterion(\"nick_name like\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameNotLike(String value) {\n            addCriterion(\"nick_name not like\", value, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameIn(List<String> values) {\n            addCriterion(\"nick_name in\", values, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameNotIn(List<String> values) {\n            addCriterion(\"nick_name not in\", values, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameBetween(String value1, String value2) {\n            addCriterion(\"nick_name between\", value1, value2, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNickNameNotBetween(String value1, String value2) {\n            addCriterion(\"nick_name not between\", value1, value2, \"nickName\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeIsNull() {\n            addCriterion(\"login_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeIsNotNull() {\n            addCriterion(\"login_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeEqualTo(Date value) {\n            addCriterion(\"login_time =\", value, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeNotEqualTo(Date value) {\n            addCriterion(\"login_time <>\", value, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeGreaterThan(Date value) {\n            addCriterion(\"login_time >\", value, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"login_time >=\", value, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeLessThan(Date value) {\n            addCriterion(\"login_time <\", value, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"login_time <=\", value, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeIn(List<Date> values) {\n            addCriterion(\"login_time in\", values, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeNotIn(List<Date> values) {\n            addCriterion(\"login_time not in\", values, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeBetween(Date value1, Date value2) {\n            addCriterion(\"login_time between\", value1, value2, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"login_time not between\", value1, value2, \"loginTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminLoginLog.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsAdminLoginLog implements Serializable {\n    private Long id;\n\n    private Long adminId;\n\n    private Date createTime;\n\n    private String ip;\n\n    private String address;\n\n    @ApiModelProperty(value = \"浏览器登录类型\")\n    private String userAgent;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getAdminId() {\n        return adminId;\n    }\n\n    public void setAdminId(Long adminId) {\n        this.adminId = adminId;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getIp() {\n        return ip;\n    }\n\n    public void setIp(String ip) {\n        this.ip = ip;\n    }\n\n    public String getAddress() {\n        return address;\n    }\n\n    public void setAddress(String address) {\n        this.address = address;\n    }\n\n    public String getUserAgent() {\n        return userAgent;\n    }\n\n    public void setUserAgent(String userAgent) {\n        this.userAgent = userAgent;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", adminId=\").append(adminId);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", ip=\").append(ip);\n        sb.append(\", address=\").append(address);\n        sb.append(\", userAgent=\").append(userAgent);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminLoginLogExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsAdminLoginLogExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsAdminLoginLogExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIsNull() {\n            addCriterion(\"admin_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIsNotNull() {\n            addCriterion(\"admin_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdEqualTo(Long value) {\n            addCriterion(\"admin_id =\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotEqualTo(Long value) {\n            addCriterion(\"admin_id <>\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdGreaterThan(Long value) {\n            addCriterion(\"admin_id >\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"admin_id >=\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdLessThan(Long value) {\n            addCriterion(\"admin_id <\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"admin_id <=\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIn(List<Long> values) {\n            addCriterion(\"admin_id in\", values, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotIn(List<Long> values) {\n            addCriterion(\"admin_id not in\", values, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdBetween(Long value1, Long value2) {\n            addCriterion(\"admin_id between\", value1, value2, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"admin_id not between\", value1, value2, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpIsNull() {\n            addCriterion(\"ip is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpIsNotNull() {\n            addCriterion(\"ip is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpEqualTo(String value) {\n            addCriterion(\"ip =\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotEqualTo(String value) {\n            addCriterion(\"ip <>\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpGreaterThan(String value) {\n            addCriterion(\"ip >\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpGreaterThanOrEqualTo(String value) {\n            addCriterion(\"ip >=\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpLessThan(String value) {\n            addCriterion(\"ip <\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpLessThanOrEqualTo(String value) {\n            addCriterion(\"ip <=\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpLike(String value) {\n            addCriterion(\"ip like\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotLike(String value) {\n            addCriterion(\"ip not like\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpIn(List<String> values) {\n            addCriterion(\"ip in\", values, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotIn(List<String> values) {\n            addCriterion(\"ip not in\", values, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpBetween(String value1, String value2) {\n            addCriterion(\"ip between\", value1, value2, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotBetween(String value1, String value2) {\n            addCriterion(\"ip not between\", value1, value2, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressIsNull() {\n            addCriterion(\"address is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressIsNotNull() {\n            addCriterion(\"address is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressEqualTo(String value) {\n            addCriterion(\"address =\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNotEqualTo(String value) {\n            addCriterion(\"address <>\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressGreaterThan(String value) {\n            addCriterion(\"address >\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressGreaterThanOrEqualTo(String value) {\n            addCriterion(\"address >=\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressLessThan(String value) {\n            addCriterion(\"address <\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressLessThanOrEqualTo(String value) {\n            addCriterion(\"address <=\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressLike(String value) {\n            addCriterion(\"address like\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNotLike(String value) {\n            addCriterion(\"address not like\", value, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressIn(List<String> values) {\n            addCriterion(\"address in\", values, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNotIn(List<String> values) {\n            addCriterion(\"address not in\", values, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressBetween(String value1, String value2) {\n            addCriterion(\"address between\", value1, value2, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAddressNotBetween(String value1, String value2) {\n            addCriterion(\"address not between\", value1, value2, \"address\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentIsNull() {\n            addCriterion(\"user_agent is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentIsNotNull() {\n            addCriterion(\"user_agent is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentEqualTo(String value) {\n            addCriterion(\"user_agent =\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentNotEqualTo(String value) {\n            addCriterion(\"user_agent <>\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentGreaterThan(String value) {\n            addCriterion(\"user_agent >\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentGreaterThanOrEqualTo(String value) {\n            addCriterion(\"user_agent >=\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentLessThan(String value) {\n            addCriterion(\"user_agent <\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentLessThanOrEqualTo(String value) {\n            addCriterion(\"user_agent <=\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentLike(String value) {\n            addCriterion(\"user_agent like\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentNotLike(String value) {\n            addCriterion(\"user_agent not like\", value, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentIn(List<String> values) {\n            addCriterion(\"user_agent in\", values, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentNotIn(List<String> values) {\n            addCriterion(\"user_agent not in\", values, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentBetween(String value1, String value2) {\n            addCriterion(\"user_agent between\", value1, value2, \"userAgent\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUserAgentNotBetween(String value1, String value2) {\n            addCriterion(\"user_agent not between\", value1, value2, \"userAgent\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminPermissionRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsAdminPermissionRelation implements Serializable {\n    private Long id;\n\n    private Long adminId;\n\n    private Long permissionId;\n\n    private Integer type;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getAdminId() {\n        return adminId;\n    }\n\n    public void setAdminId(Long adminId) {\n        this.adminId = adminId;\n    }\n\n    public Long getPermissionId() {\n        return permissionId;\n    }\n\n    public void setPermissionId(Long permissionId) {\n        this.permissionId = permissionId;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", adminId=\").append(adminId);\n        sb.append(\", permissionId=\").append(permissionId);\n        sb.append(\", type=\").append(type);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminPermissionRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsAdminPermissionRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsAdminPermissionRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIsNull() {\n            addCriterion(\"admin_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIsNotNull() {\n            addCriterion(\"admin_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdEqualTo(Long value) {\n            addCriterion(\"admin_id =\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotEqualTo(Long value) {\n            addCriterion(\"admin_id <>\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdGreaterThan(Long value) {\n            addCriterion(\"admin_id >\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"admin_id >=\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdLessThan(Long value) {\n            addCriterion(\"admin_id <\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"admin_id <=\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIn(List<Long> values) {\n            addCriterion(\"admin_id in\", values, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotIn(List<Long> values) {\n            addCriterion(\"admin_id not in\", values, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdBetween(Long value1, Long value2) {\n            addCriterion(\"admin_id between\", value1, value2, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"admin_id not between\", value1, value2, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdIsNull() {\n            addCriterion(\"permission_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdIsNotNull() {\n            addCriterion(\"permission_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdEqualTo(Long value) {\n            addCriterion(\"permission_id =\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdNotEqualTo(Long value) {\n            addCriterion(\"permission_id <>\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdGreaterThan(Long value) {\n            addCriterion(\"permission_id >\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"permission_id >=\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdLessThan(Long value) {\n            addCriterion(\"permission_id <\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"permission_id <=\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdIn(List<Long> values) {\n            addCriterion(\"permission_id in\", values, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdNotIn(List<Long> values) {\n            addCriterion(\"permission_id not in\", values, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdBetween(Long value1, Long value2) {\n            addCriterion(\"permission_id between\", value1, value2, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"permission_id not between\", value1, value2, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminRoleRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsAdminRoleRelation implements Serializable {\n    private Long id;\n\n    private Long adminId;\n\n    private Long roleId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getAdminId() {\n        return adminId;\n    }\n\n    public void setAdminId(Long adminId) {\n        this.adminId = adminId;\n    }\n\n    public Long getRoleId() {\n        return roleId;\n    }\n\n    public void setRoleId(Long roleId) {\n        this.roleId = roleId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", adminId=\").append(adminId);\n        sb.append(\", roleId=\").append(roleId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsAdminRoleRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsAdminRoleRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsAdminRoleRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIsNull() {\n            addCriterion(\"admin_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIsNotNull() {\n            addCriterion(\"admin_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdEqualTo(Long value) {\n            addCriterion(\"admin_id =\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotEqualTo(Long value) {\n            addCriterion(\"admin_id <>\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdGreaterThan(Long value) {\n            addCriterion(\"admin_id >\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"admin_id >=\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdLessThan(Long value) {\n            addCriterion(\"admin_id <\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"admin_id <=\", value, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdIn(List<Long> values) {\n            addCriterion(\"admin_id in\", values, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotIn(List<Long> values) {\n            addCriterion(\"admin_id not in\", values, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdBetween(Long value1, Long value2) {\n            addCriterion(\"admin_id between\", value1, value2, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"admin_id not between\", value1, value2, \"adminId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNull() {\n            addCriterion(\"role_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNotNull() {\n            addCriterion(\"role_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdEqualTo(Long value) {\n            addCriterion(\"role_id =\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotEqualTo(Long value) {\n            addCriterion(\"role_id <>\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThan(Long value) {\n            addCriterion(\"role_id >\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"role_id >=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThan(Long value) {\n            addCriterion(\"role_id <\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"role_id <=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIn(List<Long> values) {\n            addCriterion(\"role_id in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotIn(List<Long> values) {\n            addCriterion(\"role_id not in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdBetween(Long value1, Long value2) {\n            addCriterion(\"role_id between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"role_id not between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsGrowthChangeHistory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsGrowthChangeHistory implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    private Date createTime;\n\n    @ApiModelProperty(value = \"改变类型：0->增加；1->减少\")\n    private Integer changeType;\n\n    @ApiModelProperty(value = \"积分改变数量\")\n    private Integer changeCount;\n\n    @ApiModelProperty(value = \"操作人员\")\n    private String operateMan;\n\n    @ApiModelProperty(value = \"操作备注\")\n    private String operateNote;\n\n    @ApiModelProperty(value = \"积分来源：0->购物；1->管理员修改\")\n    private Integer sourceType;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getChangeType() {\n        return changeType;\n    }\n\n    public void setChangeType(Integer changeType) {\n        this.changeType = changeType;\n    }\n\n    public Integer getChangeCount() {\n        return changeCount;\n    }\n\n    public void setChangeCount(Integer changeCount) {\n        this.changeCount = changeCount;\n    }\n\n    public String getOperateMan() {\n        return operateMan;\n    }\n\n    public void setOperateMan(String operateMan) {\n        this.operateMan = operateMan;\n    }\n\n    public String getOperateNote() {\n        return operateNote;\n    }\n\n    public void setOperateNote(String operateNote) {\n        this.operateNote = operateNote;\n    }\n\n    public Integer getSourceType() {\n        return sourceType;\n    }\n\n    public void setSourceType(Integer sourceType) {\n        this.sourceType = sourceType;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", changeType=\").append(changeType);\n        sb.append(\", changeCount=\").append(changeCount);\n        sb.append(\", operateMan=\").append(operateMan);\n        sb.append(\", operateNote=\").append(operateNote);\n        sb.append(\", sourceType=\").append(sourceType);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsGrowthChangeHistoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsGrowthChangeHistoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsGrowthChangeHistoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeIsNull() {\n            addCriterion(\"change_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeIsNotNull() {\n            addCriterion(\"change_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeEqualTo(Integer value) {\n            addCriterion(\"change_type =\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeNotEqualTo(Integer value) {\n            addCriterion(\"change_type <>\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeGreaterThan(Integer value) {\n            addCriterion(\"change_type >\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"change_type >=\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeLessThan(Integer value) {\n            addCriterion(\"change_type <\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"change_type <=\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeIn(List<Integer> values) {\n            addCriterion(\"change_type in\", values, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeNotIn(List<Integer> values) {\n            addCriterion(\"change_type not in\", values, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_type between\", value1, value2, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_type not between\", value1, value2, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountIsNull() {\n            addCriterion(\"change_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountIsNotNull() {\n            addCriterion(\"change_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountEqualTo(Integer value) {\n            addCriterion(\"change_count =\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountNotEqualTo(Integer value) {\n            addCriterion(\"change_count <>\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountGreaterThan(Integer value) {\n            addCriterion(\"change_count >\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"change_count >=\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountLessThan(Integer value) {\n            addCriterion(\"change_count <\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"change_count <=\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountIn(List<Integer> values) {\n            addCriterion(\"change_count in\", values, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountNotIn(List<Integer> values) {\n            addCriterion(\"change_count not in\", values, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_count between\", value1, value2, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_count not between\", value1, value2, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNull() {\n            addCriterion(\"operate_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNotNull() {\n            addCriterion(\"operate_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManEqualTo(String value) {\n            addCriterion(\"operate_man =\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotEqualTo(String value) {\n            addCriterion(\"operate_man <>\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThan(String value) {\n            addCriterion(\"operate_man >\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"operate_man >=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThan(String value) {\n            addCriterion(\"operate_man <\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThanOrEqualTo(String value) {\n            addCriterion(\"operate_man <=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLike(String value) {\n            addCriterion(\"operate_man like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotLike(String value) {\n            addCriterion(\"operate_man not like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIn(List<String> values) {\n            addCriterion(\"operate_man in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotIn(List<String> values) {\n            addCriterion(\"operate_man not in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManBetween(String value1, String value2) {\n            addCriterion(\"operate_man between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotBetween(String value1, String value2) {\n            addCriterion(\"operate_man not between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteIsNull() {\n            addCriterion(\"operate_note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteIsNotNull() {\n            addCriterion(\"operate_note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteEqualTo(String value) {\n            addCriterion(\"operate_note =\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotEqualTo(String value) {\n            addCriterion(\"operate_note <>\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteGreaterThan(String value) {\n            addCriterion(\"operate_note >\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"operate_note >=\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteLessThan(String value) {\n            addCriterion(\"operate_note <\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"operate_note <=\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteLike(String value) {\n            addCriterion(\"operate_note like\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotLike(String value) {\n            addCriterion(\"operate_note not like\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteIn(List<String> values) {\n            addCriterion(\"operate_note in\", values, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotIn(List<String> values) {\n            addCriterion(\"operate_note not in\", values, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteBetween(String value1, String value2) {\n            addCriterion(\"operate_note between\", value1, value2, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotBetween(String value1, String value2) {\n            addCriterion(\"operate_note not between\", value1, value2, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNull() {\n            addCriterion(\"source_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNotNull() {\n            addCriterion(\"source_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeEqualTo(Integer value) {\n            addCriterion(\"source_type =\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotEqualTo(Integer value) {\n            addCriterion(\"source_type <>\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThan(Integer value) {\n            addCriterion(\"source_type >\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type >=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThan(Integer value) {\n            addCriterion(\"source_type <\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type <=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIn(List<Integer> values) {\n            addCriterion(\"source_type in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotIn(List<Integer> values) {\n            addCriterion(\"source_type not in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type not between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationChangeHistory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsIntegrationChangeHistory implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    private Date createTime;\n\n    @ApiModelProperty(value = \"改变类型：0->增加；1->减少\")\n    private Integer changeType;\n\n    @ApiModelProperty(value = \"积分改变数量\")\n    private Integer changeCount;\n\n    @ApiModelProperty(value = \"操作人员\")\n    private String operateMan;\n\n    @ApiModelProperty(value = \"操作备注\")\n    private String operateNote;\n\n    @ApiModelProperty(value = \"积分来源：0->购物；1->管理员修改\")\n    private Integer sourceType;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getChangeType() {\n        return changeType;\n    }\n\n    public void setChangeType(Integer changeType) {\n        this.changeType = changeType;\n    }\n\n    public Integer getChangeCount() {\n        return changeCount;\n    }\n\n    public void setChangeCount(Integer changeCount) {\n        this.changeCount = changeCount;\n    }\n\n    public String getOperateMan() {\n        return operateMan;\n    }\n\n    public void setOperateMan(String operateMan) {\n        this.operateMan = operateMan;\n    }\n\n    public String getOperateNote() {\n        return operateNote;\n    }\n\n    public void setOperateNote(String operateNote) {\n        this.operateNote = operateNote;\n    }\n\n    public Integer getSourceType() {\n        return sourceType;\n    }\n\n    public void setSourceType(Integer sourceType) {\n        this.sourceType = sourceType;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", changeType=\").append(changeType);\n        sb.append(\", changeCount=\").append(changeCount);\n        sb.append(\", operateMan=\").append(operateMan);\n        sb.append(\", operateNote=\").append(operateNote);\n        sb.append(\", sourceType=\").append(sourceType);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationChangeHistoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsIntegrationChangeHistoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsIntegrationChangeHistoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeIsNull() {\n            addCriterion(\"change_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeIsNotNull() {\n            addCriterion(\"change_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeEqualTo(Integer value) {\n            addCriterion(\"change_type =\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeNotEqualTo(Integer value) {\n            addCriterion(\"change_type <>\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeGreaterThan(Integer value) {\n            addCriterion(\"change_type >\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"change_type >=\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeLessThan(Integer value) {\n            addCriterion(\"change_type <\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"change_type <=\", value, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeIn(List<Integer> values) {\n            addCriterion(\"change_type in\", values, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeNotIn(List<Integer> values) {\n            addCriterion(\"change_type not in\", values, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_type between\", value1, value2, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_type not between\", value1, value2, \"changeType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountIsNull() {\n            addCriterion(\"change_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountIsNotNull() {\n            addCriterion(\"change_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountEqualTo(Integer value) {\n            addCriterion(\"change_count =\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountNotEqualTo(Integer value) {\n            addCriterion(\"change_count <>\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountGreaterThan(Integer value) {\n            addCriterion(\"change_count >\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"change_count >=\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountLessThan(Integer value) {\n            addCriterion(\"change_count <\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"change_count <=\", value, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountIn(List<Integer> values) {\n            addCriterion(\"change_count in\", values, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountNotIn(List<Integer> values) {\n            addCriterion(\"change_count not in\", values, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_count between\", value1, value2, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andChangeCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"change_count not between\", value1, value2, \"changeCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNull() {\n            addCriterion(\"operate_man is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIsNotNull() {\n            addCriterion(\"operate_man is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManEqualTo(String value) {\n            addCriterion(\"operate_man =\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotEqualTo(String value) {\n            addCriterion(\"operate_man <>\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThan(String value) {\n            addCriterion(\"operate_man >\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManGreaterThanOrEqualTo(String value) {\n            addCriterion(\"operate_man >=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThan(String value) {\n            addCriterion(\"operate_man <\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLessThanOrEqualTo(String value) {\n            addCriterion(\"operate_man <=\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManLike(String value) {\n            addCriterion(\"operate_man like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotLike(String value) {\n            addCriterion(\"operate_man not like\", value, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManIn(List<String> values) {\n            addCriterion(\"operate_man in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotIn(List<String> values) {\n            addCriterion(\"operate_man not in\", values, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManBetween(String value1, String value2) {\n            addCriterion(\"operate_man between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateManNotBetween(String value1, String value2) {\n            addCriterion(\"operate_man not between\", value1, value2, \"operateMan\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteIsNull() {\n            addCriterion(\"operate_note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteIsNotNull() {\n            addCriterion(\"operate_note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteEqualTo(String value) {\n            addCriterion(\"operate_note =\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotEqualTo(String value) {\n            addCriterion(\"operate_note <>\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteGreaterThan(String value) {\n            addCriterion(\"operate_note >\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"operate_note >=\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteLessThan(String value) {\n            addCriterion(\"operate_note <\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"operate_note <=\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteLike(String value) {\n            addCriterion(\"operate_note like\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotLike(String value) {\n            addCriterion(\"operate_note not like\", value, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteIn(List<String> values) {\n            addCriterion(\"operate_note in\", values, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotIn(List<String> values) {\n            addCriterion(\"operate_note not in\", values, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteBetween(String value1, String value2) {\n            addCriterion(\"operate_note between\", value1, value2, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOperateNoteNotBetween(String value1, String value2) {\n            addCriterion(\"operate_note not between\", value1, value2, \"operateNote\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNull() {\n            addCriterion(\"source_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNotNull() {\n            addCriterion(\"source_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeEqualTo(Integer value) {\n            addCriterion(\"source_type =\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotEqualTo(Integer value) {\n            addCriterion(\"source_type <>\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThan(Integer value) {\n            addCriterion(\"source_type >\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type >=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThan(Integer value) {\n            addCriterion(\"source_type <\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type <=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIn(List<Integer> values) {\n            addCriterion(\"source_type in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotIn(List<Integer> values) {\n            addCriterion(\"source_type not in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type not between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationConsumeSetting.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsIntegrationConsumeSetting implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"每一元需要抵扣的积分数量\")\n    private Integer deductionPerAmount;\n\n    @ApiModelProperty(value = \"每笔订单最高抵用百分比\")\n    private Integer maxPercentPerOrder;\n\n    @ApiModelProperty(value = \"每次使用积分最小单位100\")\n    private Integer useUnit;\n\n    @ApiModelProperty(value = \"是否可以和优惠券同用；0->不可以；1->可以\")\n    private Integer couponStatus;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Integer getDeductionPerAmount() {\n        return deductionPerAmount;\n    }\n\n    public void setDeductionPerAmount(Integer deductionPerAmount) {\n        this.deductionPerAmount = deductionPerAmount;\n    }\n\n    public Integer getMaxPercentPerOrder() {\n        return maxPercentPerOrder;\n    }\n\n    public void setMaxPercentPerOrder(Integer maxPercentPerOrder) {\n        this.maxPercentPerOrder = maxPercentPerOrder;\n    }\n\n    public Integer getUseUnit() {\n        return useUnit;\n    }\n\n    public void setUseUnit(Integer useUnit) {\n        this.useUnit = useUnit;\n    }\n\n    public Integer getCouponStatus() {\n        return couponStatus;\n    }\n\n    public void setCouponStatus(Integer couponStatus) {\n        this.couponStatus = couponStatus;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", deductionPerAmount=\").append(deductionPerAmount);\n        sb.append(\", maxPercentPerOrder=\").append(maxPercentPerOrder);\n        sb.append(\", useUnit=\").append(useUnit);\n        sb.append(\", couponStatus=\").append(couponStatus);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationConsumeSettingExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsIntegrationConsumeSettingExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsIntegrationConsumeSettingExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountIsNull() {\n            addCriterion(\"deduction_per_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountIsNotNull() {\n            addCriterion(\"deduction_per_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountEqualTo(Integer value) {\n            addCriterion(\"deduction_per_amount =\", value, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountNotEqualTo(Integer value) {\n            addCriterion(\"deduction_per_amount <>\", value, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountGreaterThan(Integer value) {\n            addCriterion(\"deduction_per_amount >\", value, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"deduction_per_amount >=\", value, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountLessThan(Integer value) {\n            addCriterion(\"deduction_per_amount <\", value, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"deduction_per_amount <=\", value, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountIn(List<Integer> values) {\n            addCriterion(\"deduction_per_amount in\", values, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountNotIn(List<Integer> values) {\n            addCriterion(\"deduction_per_amount not in\", values, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountBetween(Integer value1, Integer value2) {\n            addCriterion(\"deduction_per_amount between\", value1, value2, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDeductionPerAmountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"deduction_per_amount not between\", value1, value2, \"deductionPerAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderIsNull() {\n            addCriterion(\"max_percent_per_order is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderIsNotNull() {\n            addCriterion(\"max_percent_per_order is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderEqualTo(Integer value) {\n            addCriterion(\"max_percent_per_order =\", value, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderNotEqualTo(Integer value) {\n            addCriterion(\"max_percent_per_order <>\", value, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderGreaterThan(Integer value) {\n            addCriterion(\"max_percent_per_order >\", value, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"max_percent_per_order >=\", value, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderLessThan(Integer value) {\n            addCriterion(\"max_percent_per_order <\", value, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderLessThanOrEqualTo(Integer value) {\n            addCriterion(\"max_percent_per_order <=\", value, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderIn(List<Integer> values) {\n            addCriterion(\"max_percent_per_order in\", values, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderNotIn(List<Integer> values) {\n            addCriterion(\"max_percent_per_order not in\", values, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderBetween(Integer value1, Integer value2) {\n            addCriterion(\"max_percent_per_order between\", value1, value2, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPercentPerOrderNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"max_percent_per_order not between\", value1, value2, \"maxPercentPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitIsNull() {\n            addCriterion(\"use_unit is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitIsNotNull() {\n            addCriterion(\"use_unit is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitEqualTo(Integer value) {\n            addCriterion(\"use_unit =\", value, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitNotEqualTo(Integer value) {\n            addCriterion(\"use_unit <>\", value, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitGreaterThan(Integer value) {\n            addCriterion(\"use_unit >\", value, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"use_unit >=\", value, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitLessThan(Integer value) {\n            addCriterion(\"use_unit <\", value, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitLessThanOrEqualTo(Integer value) {\n            addCriterion(\"use_unit <=\", value, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitIn(List<Integer> values) {\n            addCriterion(\"use_unit in\", values, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitNotIn(List<Integer> values) {\n            addCriterion(\"use_unit not in\", values, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_unit between\", value1, value2, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUseUnitNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"use_unit not between\", value1, value2, \"useUnit\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusIsNull() {\n            addCriterion(\"coupon_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusIsNotNull() {\n            addCriterion(\"coupon_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusEqualTo(Integer value) {\n            addCriterion(\"coupon_status =\", value, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusNotEqualTo(Integer value) {\n            addCriterion(\"coupon_status <>\", value, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusGreaterThan(Integer value) {\n            addCriterion(\"coupon_status >\", value, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"coupon_status >=\", value, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusLessThan(Integer value) {\n            addCriterion(\"coupon_status <\", value, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"coupon_status <=\", value, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusIn(List<Integer> values) {\n            addCriterion(\"coupon_status in\", values, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusNotIn(List<Integer> values) {\n            addCriterion(\"coupon_status not in\", values, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"coupon_status between\", value1, value2, \"couponStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"coupon_status not between\", value1, value2, \"couponStatus\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMember.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsMember implements Serializable {\n    private Long id;\n\n    private Long memberLevelId;\n\n    @ApiModelProperty(value = \"用户名\")\n    private String username;\n\n    @ApiModelProperty(value = \"密码\")\n    private String password;\n\n    @ApiModelProperty(value = \"昵称\")\n    private String nickname;\n\n    @ApiModelProperty(value = \"手机号码\")\n    private String phone;\n\n    @ApiModelProperty(value = \"帐号启用状态:0->禁用；1->启用\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"注册时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"头像\")\n    private String icon;\n\n    @ApiModelProperty(value = \"性别：0->未知；1->男；2->女\")\n    private Integer gender;\n\n    @ApiModelProperty(value = \"生日\")\n    private Date birthday;\n\n    @ApiModelProperty(value = \"所做城市\")\n    private String city;\n\n    @ApiModelProperty(value = \"职业\")\n    private String job;\n\n    @ApiModelProperty(value = \"个性签名\")\n    private String personalizedSignature;\n\n    @ApiModelProperty(value = \"用户来源\")\n    private Integer sourceType;\n\n    @ApiModelProperty(value = \"积分\")\n    private Integer integration;\n\n    @ApiModelProperty(value = \"成长值\")\n    private Integer growth;\n\n    @ApiModelProperty(value = \"剩余抽奖次数\")\n    private Integer luckeyCount;\n\n    @ApiModelProperty(value = \"历史积分数量\")\n    private Integer historyIntegration;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberLevelId() {\n        return memberLevelId;\n    }\n\n    public void setMemberLevelId(Long memberLevelId) {\n        this.memberLevelId = memberLevelId;\n    }\n\n    public String getUsername() {\n        return username;\n    }\n\n    public void setUsername(String username) {\n        this.username = username;\n    }\n\n    public String getPassword() {\n        return password;\n    }\n\n    public void setPassword(String password) {\n        this.password = password;\n    }\n\n    public String getNickname() {\n        return nickname;\n    }\n\n    public void setNickname(String nickname) {\n        this.nickname = nickname;\n    }\n\n    public String getPhone() {\n        return phone;\n    }\n\n    public void setPhone(String phone) {\n        this.phone = phone;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public Integer getGender() {\n        return gender;\n    }\n\n    public void setGender(Integer gender) {\n        this.gender = gender;\n    }\n\n    public Date getBirthday() {\n        return birthday;\n    }\n\n    public void setBirthday(Date birthday) {\n        this.birthday = birthday;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getJob() {\n        return job;\n    }\n\n    public void setJob(String job) {\n        this.job = job;\n    }\n\n    public String getPersonalizedSignature() {\n        return personalizedSignature;\n    }\n\n    public void setPersonalizedSignature(String personalizedSignature) {\n        this.personalizedSignature = personalizedSignature;\n    }\n\n    public Integer getSourceType() {\n        return sourceType;\n    }\n\n    public void setSourceType(Integer sourceType) {\n        this.sourceType = sourceType;\n    }\n\n    public Integer getIntegration() {\n        return integration;\n    }\n\n    public void setIntegration(Integer integration) {\n        this.integration = integration;\n    }\n\n    public Integer getGrowth() {\n        return growth;\n    }\n\n    public void setGrowth(Integer growth) {\n        this.growth = growth;\n    }\n\n    public Integer getLuckeyCount() {\n        return luckeyCount;\n    }\n\n    public void setLuckeyCount(Integer luckeyCount) {\n        this.luckeyCount = luckeyCount;\n    }\n\n    public Integer getHistoryIntegration() {\n        return historyIntegration;\n    }\n\n    public void setHistoryIntegration(Integer historyIntegration) {\n        this.historyIntegration = historyIntegration;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberLevelId=\").append(memberLevelId);\n        sb.append(\", username=\").append(username);\n        sb.append(\", password=\").append(password);\n        sb.append(\", nickname=\").append(nickname);\n        sb.append(\", phone=\").append(phone);\n        sb.append(\", status=\").append(status);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", gender=\").append(gender);\n        sb.append(\", birthday=\").append(birthday);\n        sb.append(\", city=\").append(city);\n        sb.append(\", job=\").append(job);\n        sb.append(\", personalizedSignature=\").append(personalizedSignature);\n        sb.append(\", sourceType=\").append(sourceType);\n        sb.append(\", integration=\").append(integration);\n        sb.append(\", growth=\").append(growth);\n        sb.append(\", luckeyCount=\").append(luckeyCount);\n        sb.append(\", historyIntegration=\").append(historyIntegration);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.Iterator;\nimport java.util.List;\n\npublic class UmsMemberExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        protected void addCriterionForJDBCDate(String condition, Date value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            addCriterion(condition, new java.sql.Date(value.getTime()), property);\n        }\n\n        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {\n            if (values == null || values.size() == 0) {\n                throw new RuntimeException(\"Value list for \" + property + \" cannot be null or empty\");\n            }\n            List<java.sql.Date> dateList = new ArrayList<>();\n            Iterator<Date> iter = values.iterator();\n            while (iter.hasNext()) {\n                dateList.add(new java.sql.Date(iter.next().getTime()));\n            }\n            addCriterion(condition, dateList, property);\n        }\n\n        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdIsNull() {\n            addCriterion(\"member_level_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdIsNotNull() {\n            addCriterion(\"member_level_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdEqualTo(Long value) {\n            addCriterion(\"member_level_id =\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdNotEqualTo(Long value) {\n            addCriterion(\"member_level_id <>\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdGreaterThan(Long value) {\n            addCriterion(\"member_level_id >\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_level_id >=\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdLessThan(Long value) {\n            addCriterion(\"member_level_id <\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_level_id <=\", value, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdIn(List<Long> values) {\n            addCriterion(\"member_level_id in\", values, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdNotIn(List<Long> values) {\n            addCriterion(\"member_level_id not in\", values, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_level_id between\", value1, value2, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberLevelIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_level_id not between\", value1, value2, \"memberLevelId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameIsNull() {\n            addCriterion(\"username is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameIsNotNull() {\n            addCriterion(\"username is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameEqualTo(String value) {\n            addCriterion(\"username =\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotEqualTo(String value) {\n            addCriterion(\"username <>\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameGreaterThan(String value) {\n            addCriterion(\"username >\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"username >=\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameLessThan(String value) {\n            addCriterion(\"username <\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameLessThanOrEqualTo(String value) {\n            addCriterion(\"username <=\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameLike(String value) {\n            addCriterion(\"username like\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotLike(String value) {\n            addCriterion(\"username not like\", value, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameIn(List<String> values) {\n            addCriterion(\"username in\", values, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotIn(List<String> values) {\n            addCriterion(\"username not in\", values, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameBetween(String value1, String value2) {\n            addCriterion(\"username between\", value1, value2, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUsernameNotBetween(String value1, String value2) {\n            addCriterion(\"username not between\", value1, value2, \"username\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordIsNull() {\n            addCriterion(\"password is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordIsNotNull() {\n            addCriterion(\"password is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordEqualTo(String value) {\n            addCriterion(\"password =\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotEqualTo(String value) {\n            addCriterion(\"password <>\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordGreaterThan(String value) {\n            addCriterion(\"password >\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordGreaterThanOrEqualTo(String value) {\n            addCriterion(\"password >=\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordLessThan(String value) {\n            addCriterion(\"password <\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordLessThanOrEqualTo(String value) {\n            addCriterion(\"password <=\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordLike(String value) {\n            addCriterion(\"password like\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotLike(String value) {\n            addCriterion(\"password not like\", value, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordIn(List<String> values) {\n            addCriterion(\"password in\", values, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotIn(List<String> values) {\n            addCriterion(\"password not in\", values, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordBetween(String value1, String value2) {\n            addCriterion(\"password between\", value1, value2, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPasswordNotBetween(String value1, String value2) {\n            addCriterion(\"password not between\", value1, value2, \"password\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameIsNull() {\n            addCriterion(\"nickname is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameIsNotNull() {\n            addCriterion(\"nickname is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameEqualTo(String value) {\n            addCriterion(\"nickname =\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameNotEqualTo(String value) {\n            addCriterion(\"nickname <>\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameGreaterThan(String value) {\n            addCriterion(\"nickname >\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"nickname >=\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameLessThan(String value) {\n            addCriterion(\"nickname <\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameLessThanOrEqualTo(String value) {\n            addCriterion(\"nickname <=\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameLike(String value) {\n            addCriterion(\"nickname like\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameNotLike(String value) {\n            addCriterion(\"nickname not like\", value, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameIn(List<String> values) {\n            addCriterion(\"nickname in\", values, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameNotIn(List<String> values) {\n            addCriterion(\"nickname not in\", values, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameBetween(String value1, String value2) {\n            addCriterion(\"nickname between\", value1, value2, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNicknameNotBetween(String value1, String value2) {\n            addCriterion(\"nickname not between\", value1, value2, \"nickname\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneIsNull() {\n            addCriterion(\"phone is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneIsNotNull() {\n            addCriterion(\"phone is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneEqualTo(String value) {\n            addCriterion(\"phone =\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotEqualTo(String value) {\n            addCriterion(\"phone <>\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneGreaterThan(String value) {\n            addCriterion(\"phone >\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneGreaterThanOrEqualTo(String value) {\n            addCriterion(\"phone >=\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneLessThan(String value) {\n            addCriterion(\"phone <\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneLessThanOrEqualTo(String value) {\n            addCriterion(\"phone <=\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneLike(String value) {\n            addCriterion(\"phone like\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotLike(String value) {\n            addCriterion(\"phone not like\", value, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneIn(List<String> values) {\n            addCriterion(\"phone in\", values, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotIn(List<String> values) {\n            addCriterion(\"phone not in\", values, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneBetween(String value1, String value2) {\n            addCriterion(\"phone between\", value1, value2, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNotBetween(String value1, String value2) {\n            addCriterion(\"phone not between\", value1, value2, \"phone\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderIsNull() {\n            addCriterion(\"gender is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderIsNotNull() {\n            addCriterion(\"gender is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderEqualTo(Integer value) {\n            addCriterion(\"gender =\", value, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderNotEqualTo(Integer value) {\n            addCriterion(\"gender <>\", value, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderGreaterThan(Integer value) {\n            addCriterion(\"gender >\", value, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"gender >=\", value, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderLessThan(Integer value) {\n            addCriterion(\"gender <\", value, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderLessThanOrEqualTo(Integer value) {\n            addCriterion(\"gender <=\", value, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderIn(List<Integer> values) {\n            addCriterion(\"gender in\", values, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderNotIn(List<Integer> values) {\n            addCriterion(\"gender not in\", values, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderBetween(Integer value1, Integer value2) {\n            addCriterion(\"gender between\", value1, value2, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGenderNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"gender not between\", value1, value2, \"gender\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayIsNull() {\n            addCriterion(\"birthday is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayIsNotNull() {\n            addCriterion(\"birthday is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayEqualTo(Date value) {\n            addCriterionForJDBCDate(\"birthday =\", value, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayNotEqualTo(Date value) {\n            addCriterionForJDBCDate(\"birthday <>\", value, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayGreaterThan(Date value) {\n            addCriterionForJDBCDate(\"birthday >\", value, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayGreaterThanOrEqualTo(Date value) {\n            addCriterionForJDBCDate(\"birthday >=\", value, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayLessThan(Date value) {\n            addCriterionForJDBCDate(\"birthday <\", value, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayLessThanOrEqualTo(Date value) {\n            addCriterionForJDBCDate(\"birthday <=\", value, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayIn(List<Date> values) {\n            addCriterionForJDBCDate(\"birthday in\", values, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayNotIn(List<Date> values) {\n            addCriterionForJDBCDate(\"birthday not in\", values, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayBetween(Date value1, Date value2) {\n            addCriterionForJDBCDate(\"birthday between\", value1, value2, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andBirthdayNotBetween(Date value1, Date value2) {\n            addCriterionForJDBCDate(\"birthday not between\", value1, value2, \"birthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNull() {\n            addCriterion(\"city is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNotNull() {\n            addCriterion(\"city is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityEqualTo(String value) {\n            addCriterion(\"city =\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotEqualTo(String value) {\n            addCriterion(\"city <>\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThan(String value) {\n            addCriterion(\"city >\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThanOrEqualTo(String value) {\n            addCriterion(\"city >=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThan(String value) {\n            addCriterion(\"city <\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThanOrEqualTo(String value) {\n            addCriterion(\"city <=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLike(String value) {\n            addCriterion(\"city like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotLike(String value) {\n            addCriterion(\"city not like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIn(List<String> values) {\n            addCriterion(\"city in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotIn(List<String> values) {\n            addCriterion(\"city not in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityBetween(String value1, String value2) {\n            addCriterion(\"city between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotBetween(String value1, String value2) {\n            addCriterion(\"city not between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobIsNull() {\n            addCriterion(\"job is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobIsNotNull() {\n            addCriterion(\"job is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobEqualTo(String value) {\n            addCriterion(\"job =\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobNotEqualTo(String value) {\n            addCriterion(\"job <>\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobGreaterThan(String value) {\n            addCriterion(\"job >\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobGreaterThanOrEqualTo(String value) {\n            addCriterion(\"job >=\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobLessThan(String value) {\n            addCriterion(\"job <\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobLessThanOrEqualTo(String value) {\n            addCriterion(\"job <=\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobLike(String value) {\n            addCriterion(\"job like\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobNotLike(String value) {\n            addCriterion(\"job not like\", value, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobIn(List<String> values) {\n            addCriterion(\"job in\", values, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobNotIn(List<String> values) {\n            addCriterion(\"job not in\", values, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobBetween(String value1, String value2) {\n            addCriterion(\"job between\", value1, value2, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andJobNotBetween(String value1, String value2) {\n            addCriterion(\"job not between\", value1, value2, \"job\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureIsNull() {\n            addCriterion(\"personalized_signature is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureIsNotNull() {\n            addCriterion(\"personalized_signature is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureEqualTo(String value) {\n            addCriterion(\"personalized_signature =\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureNotEqualTo(String value) {\n            addCriterion(\"personalized_signature <>\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureGreaterThan(String value) {\n            addCriterion(\"personalized_signature >\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureGreaterThanOrEqualTo(String value) {\n            addCriterion(\"personalized_signature >=\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureLessThan(String value) {\n            addCriterion(\"personalized_signature <\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureLessThanOrEqualTo(String value) {\n            addCriterion(\"personalized_signature <=\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureLike(String value) {\n            addCriterion(\"personalized_signature like\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureNotLike(String value) {\n            addCriterion(\"personalized_signature not like\", value, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureIn(List<String> values) {\n            addCriterion(\"personalized_signature in\", values, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureNotIn(List<String> values) {\n            addCriterion(\"personalized_signature not in\", values, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureBetween(String value1, String value2) {\n            addCriterion(\"personalized_signature between\", value1, value2, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPersonalizedSignatureNotBetween(String value1, String value2) {\n            addCriterion(\"personalized_signature not between\", value1, value2, \"personalizedSignature\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNull() {\n            addCriterion(\"source_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIsNotNull() {\n            addCriterion(\"source_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeEqualTo(Integer value) {\n            addCriterion(\"source_type =\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotEqualTo(Integer value) {\n            addCriterion(\"source_type <>\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThan(Integer value) {\n            addCriterion(\"source_type >\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type >=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThan(Integer value) {\n            addCriterion(\"source_type <\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"source_type <=\", value, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeIn(List<Integer> values) {\n            addCriterion(\"source_type in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotIn(List<Integer> values) {\n            addCriterion(\"source_type not in\", values, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"source_type not between\", value1, value2, \"sourceType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationIsNull() {\n            addCriterion(\"integration is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationIsNotNull() {\n            addCriterion(\"integration is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationEqualTo(Integer value) {\n            addCriterion(\"integration =\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationNotEqualTo(Integer value) {\n            addCriterion(\"integration <>\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationGreaterThan(Integer value) {\n            addCriterion(\"integration >\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"integration >=\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationLessThan(Integer value) {\n            addCriterion(\"integration <\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationLessThanOrEqualTo(Integer value) {\n            addCriterion(\"integration <=\", value, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationIn(List<Integer> values) {\n            addCriterion(\"integration in\", values, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationNotIn(List<Integer> values) {\n            addCriterion(\"integration not in\", values, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationBetween(Integer value1, Integer value2) {\n            addCriterion(\"integration between\", value1, value2, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntegrationNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"integration not between\", value1, value2, \"integration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIsNull() {\n            addCriterion(\"growth is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIsNotNull() {\n            addCriterion(\"growth is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthEqualTo(Integer value) {\n            addCriterion(\"growth =\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotEqualTo(Integer value) {\n            addCriterion(\"growth <>\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthGreaterThan(Integer value) {\n            addCriterion(\"growth >\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"growth >=\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthLessThan(Integer value) {\n            addCriterion(\"growth <\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthLessThanOrEqualTo(Integer value) {\n            addCriterion(\"growth <=\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIn(List<Integer> values) {\n            addCriterion(\"growth in\", values, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotIn(List<Integer> values) {\n            addCriterion(\"growth not in\", values, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth between\", value1, value2, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth not between\", value1, value2, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountIsNull() {\n            addCriterion(\"luckey_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountIsNotNull() {\n            addCriterion(\"luckey_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountEqualTo(Integer value) {\n            addCriterion(\"luckey_count =\", value, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountNotEqualTo(Integer value) {\n            addCriterion(\"luckey_count <>\", value, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountGreaterThan(Integer value) {\n            addCriterion(\"luckey_count >\", value, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"luckey_count >=\", value, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountLessThan(Integer value) {\n            addCriterion(\"luckey_count <\", value, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"luckey_count <=\", value, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountIn(List<Integer> values) {\n            addCriterion(\"luckey_count in\", values, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountNotIn(List<Integer> values) {\n            addCriterion(\"luckey_count not in\", values, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"luckey_count between\", value1, value2, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLuckeyCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"luckey_count not between\", value1, value2, \"luckeyCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationIsNull() {\n            addCriterion(\"history_integration is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationIsNotNull() {\n            addCriterion(\"history_integration is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationEqualTo(Integer value) {\n            addCriterion(\"history_integration =\", value, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationNotEqualTo(Integer value) {\n            addCriterion(\"history_integration <>\", value, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationGreaterThan(Integer value) {\n            addCriterion(\"history_integration >\", value, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"history_integration >=\", value, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationLessThan(Integer value) {\n            addCriterion(\"history_integration <\", value, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationLessThanOrEqualTo(Integer value) {\n            addCriterion(\"history_integration <=\", value, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationIn(List<Integer> values) {\n            addCriterion(\"history_integration in\", values, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationNotIn(List<Integer> values) {\n            addCriterion(\"history_integration not in\", values, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationBetween(Integer value1, Integer value2) {\n            addCriterion(\"history_integration between\", value1, value2, \"historyIntegration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHistoryIntegrationNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"history_integration not between\", value1, value2, \"historyIntegration\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLevel.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class UmsMemberLevel implements Serializable {\n    private Long id;\n\n    private String name;\n\n    private Integer growthPoint;\n\n    @ApiModelProperty(value = \"是否为默认等级：0->不是；1->是\")\n    private Integer defaultStatus;\n\n    @ApiModelProperty(value = \"免运费标准\")\n    private BigDecimal freeFreightPoint;\n\n    @ApiModelProperty(value = \"每次评价获取的成长值\")\n    private Integer commentGrowthPoint;\n\n    @ApiModelProperty(value = \"是否有免邮特权\")\n    private Integer priviledgeFreeFreight;\n\n    @ApiModelProperty(value = \"是否有签到特权\")\n    private Integer priviledgeSignIn;\n\n    @ApiModelProperty(value = \"是否有评论获奖励特权\")\n    private Integer priviledgeComment;\n\n    @ApiModelProperty(value = \"是否有专享活动特权\")\n    private Integer priviledgePromotion;\n\n    @ApiModelProperty(value = \"是否有会员价格特权\")\n    private Integer priviledgeMemberPrice;\n\n    @ApiModelProperty(value = \"是否有生日特权\")\n    private Integer priviledgeBirthday;\n\n    private String note;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getGrowthPoint() {\n        return growthPoint;\n    }\n\n    public void setGrowthPoint(Integer growthPoint) {\n        this.growthPoint = growthPoint;\n    }\n\n    public Integer getDefaultStatus() {\n        return defaultStatus;\n    }\n\n    public void setDefaultStatus(Integer defaultStatus) {\n        this.defaultStatus = defaultStatus;\n    }\n\n    public BigDecimal getFreeFreightPoint() {\n        return freeFreightPoint;\n    }\n\n    public void setFreeFreightPoint(BigDecimal freeFreightPoint) {\n        this.freeFreightPoint = freeFreightPoint;\n    }\n\n    public Integer getCommentGrowthPoint() {\n        return commentGrowthPoint;\n    }\n\n    public void setCommentGrowthPoint(Integer commentGrowthPoint) {\n        this.commentGrowthPoint = commentGrowthPoint;\n    }\n\n    public Integer getPriviledgeFreeFreight() {\n        return priviledgeFreeFreight;\n    }\n\n    public void setPriviledgeFreeFreight(Integer priviledgeFreeFreight) {\n        this.priviledgeFreeFreight = priviledgeFreeFreight;\n    }\n\n    public Integer getPriviledgeSignIn() {\n        return priviledgeSignIn;\n    }\n\n    public void setPriviledgeSignIn(Integer priviledgeSignIn) {\n        this.priviledgeSignIn = priviledgeSignIn;\n    }\n\n    public Integer getPriviledgeComment() {\n        return priviledgeComment;\n    }\n\n    public void setPriviledgeComment(Integer priviledgeComment) {\n        this.priviledgeComment = priviledgeComment;\n    }\n\n    public Integer getPriviledgePromotion() {\n        return priviledgePromotion;\n    }\n\n    public void setPriviledgePromotion(Integer priviledgePromotion) {\n        this.priviledgePromotion = priviledgePromotion;\n    }\n\n    public Integer getPriviledgeMemberPrice() {\n        return priviledgeMemberPrice;\n    }\n\n    public void setPriviledgeMemberPrice(Integer priviledgeMemberPrice) {\n        this.priviledgeMemberPrice = priviledgeMemberPrice;\n    }\n\n    public Integer getPriviledgeBirthday() {\n        return priviledgeBirthday;\n    }\n\n    public void setPriviledgeBirthday(Integer priviledgeBirthday) {\n        this.priviledgeBirthday = priviledgeBirthday;\n    }\n\n    public String getNote() {\n        return note;\n    }\n\n    public void setNote(String note) {\n        this.note = note;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", growthPoint=\").append(growthPoint);\n        sb.append(\", defaultStatus=\").append(defaultStatus);\n        sb.append(\", freeFreightPoint=\").append(freeFreightPoint);\n        sb.append(\", commentGrowthPoint=\").append(commentGrowthPoint);\n        sb.append(\", priviledgeFreeFreight=\").append(priviledgeFreeFreight);\n        sb.append(\", priviledgeSignIn=\").append(priviledgeSignIn);\n        sb.append(\", priviledgeComment=\").append(priviledgeComment);\n        sb.append(\", priviledgePromotion=\").append(priviledgePromotion);\n        sb.append(\", priviledgeMemberPrice=\").append(priviledgeMemberPrice);\n        sb.append(\", priviledgeBirthday=\").append(priviledgeBirthday);\n        sb.append(\", note=\").append(note);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLevelExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberLevelExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberLevelExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointIsNull() {\n            addCriterion(\"growth_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointIsNotNull() {\n            addCriterion(\"growth_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointEqualTo(Integer value) {\n            addCriterion(\"growth_point =\", value, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointNotEqualTo(Integer value) {\n            addCriterion(\"growth_point <>\", value, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointGreaterThan(Integer value) {\n            addCriterion(\"growth_point >\", value, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"growth_point >=\", value, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointLessThan(Integer value) {\n            addCriterion(\"growth_point <\", value, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointLessThanOrEqualTo(Integer value) {\n            addCriterion(\"growth_point <=\", value, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointIn(List<Integer> values) {\n            addCriterion(\"growth_point in\", values, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointNotIn(List<Integer> values) {\n            addCriterion(\"growth_point not in\", values, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth_point between\", value1, value2, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthPointNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth_point not between\", value1, value2, \"growthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusIsNull() {\n            addCriterion(\"default_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusIsNotNull() {\n            addCriterion(\"default_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusEqualTo(Integer value) {\n            addCriterion(\"default_status =\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusNotEqualTo(Integer value) {\n            addCriterion(\"default_status <>\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusGreaterThan(Integer value) {\n            addCriterion(\"default_status >\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"default_status >=\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusLessThan(Integer value) {\n            addCriterion(\"default_status <\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"default_status <=\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusIn(List<Integer> values) {\n            addCriterion(\"default_status in\", values, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusNotIn(List<Integer> values) {\n            addCriterion(\"default_status not in\", values, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"default_status between\", value1, value2, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"default_status not between\", value1, value2, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointIsNull() {\n            addCriterion(\"free_freight_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointIsNotNull() {\n            addCriterion(\"free_freight_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointEqualTo(BigDecimal value) {\n            addCriterion(\"free_freight_point =\", value, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointNotEqualTo(BigDecimal value) {\n            addCriterion(\"free_freight_point <>\", value, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointGreaterThan(BigDecimal value) {\n            addCriterion(\"free_freight_point >\", value, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"free_freight_point >=\", value, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointLessThan(BigDecimal value) {\n            addCriterion(\"free_freight_point <\", value, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"free_freight_point <=\", value, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointIn(List<BigDecimal> values) {\n            addCriterion(\"free_freight_point in\", values, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointNotIn(List<BigDecimal> values) {\n            addCriterion(\"free_freight_point not in\", values, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"free_freight_point between\", value1, value2, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFreeFreightPointNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"free_freight_point not between\", value1, value2, \"freeFreightPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointIsNull() {\n            addCriterion(\"comment_growth_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointIsNotNull() {\n            addCriterion(\"comment_growth_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointEqualTo(Integer value) {\n            addCriterion(\"comment_growth_point =\", value, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointNotEqualTo(Integer value) {\n            addCriterion(\"comment_growth_point <>\", value, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointGreaterThan(Integer value) {\n            addCriterion(\"comment_growth_point >\", value, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_growth_point >=\", value, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointLessThan(Integer value) {\n            addCriterion(\"comment_growth_point <\", value, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointLessThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_growth_point <=\", value, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointIn(List<Integer> values) {\n            addCriterion(\"comment_growth_point in\", values, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointNotIn(List<Integer> values) {\n            addCriterion(\"comment_growth_point not in\", values, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_growth_point between\", value1, value2, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentGrowthPointNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_growth_point not between\", value1, value2, \"commentGrowthPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightIsNull() {\n            addCriterion(\"priviledge_free_freight is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightIsNotNull() {\n            addCriterion(\"priviledge_free_freight is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightEqualTo(Integer value) {\n            addCriterion(\"priviledge_free_freight =\", value, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightNotEqualTo(Integer value) {\n            addCriterion(\"priviledge_free_freight <>\", value, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightGreaterThan(Integer value) {\n            addCriterion(\"priviledge_free_freight >\", value, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_free_freight >=\", value, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightLessThan(Integer value) {\n            addCriterion(\"priviledge_free_freight <\", value, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightLessThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_free_freight <=\", value, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightIn(List<Integer> values) {\n            addCriterion(\"priviledge_free_freight in\", values, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightNotIn(List<Integer> values) {\n            addCriterion(\"priviledge_free_freight not in\", values, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_free_freight between\", value1, value2, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeFreeFreightNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_free_freight not between\", value1, value2, \"priviledgeFreeFreight\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInIsNull() {\n            addCriterion(\"priviledge_sign_in is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInIsNotNull() {\n            addCriterion(\"priviledge_sign_in is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInEqualTo(Integer value) {\n            addCriterion(\"priviledge_sign_in =\", value, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInNotEqualTo(Integer value) {\n            addCriterion(\"priviledge_sign_in <>\", value, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInGreaterThan(Integer value) {\n            addCriterion(\"priviledge_sign_in >\", value, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_sign_in >=\", value, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInLessThan(Integer value) {\n            addCriterion(\"priviledge_sign_in <\", value, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInLessThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_sign_in <=\", value, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInIn(List<Integer> values) {\n            addCriterion(\"priviledge_sign_in in\", values, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInNotIn(List<Integer> values) {\n            addCriterion(\"priviledge_sign_in not in\", values, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_sign_in between\", value1, value2, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeSignInNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_sign_in not between\", value1, value2, \"priviledgeSignIn\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentIsNull() {\n            addCriterion(\"priviledge_comment is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentIsNotNull() {\n            addCriterion(\"priviledge_comment is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentEqualTo(Integer value) {\n            addCriterion(\"priviledge_comment =\", value, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentNotEqualTo(Integer value) {\n            addCriterion(\"priviledge_comment <>\", value, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentGreaterThan(Integer value) {\n            addCriterion(\"priviledge_comment >\", value, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_comment >=\", value, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentLessThan(Integer value) {\n            addCriterion(\"priviledge_comment <\", value, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentLessThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_comment <=\", value, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentIn(List<Integer> values) {\n            addCriterion(\"priviledge_comment in\", values, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentNotIn(List<Integer> values) {\n            addCriterion(\"priviledge_comment not in\", values, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_comment between\", value1, value2, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeCommentNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_comment not between\", value1, value2, \"priviledgeComment\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionIsNull() {\n            addCriterion(\"priviledge_promotion is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionIsNotNull() {\n            addCriterion(\"priviledge_promotion is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionEqualTo(Integer value) {\n            addCriterion(\"priviledge_promotion =\", value, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionNotEqualTo(Integer value) {\n            addCriterion(\"priviledge_promotion <>\", value, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionGreaterThan(Integer value) {\n            addCriterion(\"priviledge_promotion >\", value, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_promotion >=\", value, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionLessThan(Integer value) {\n            addCriterion(\"priviledge_promotion <\", value, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionLessThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_promotion <=\", value, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionIn(List<Integer> values) {\n            addCriterion(\"priviledge_promotion in\", values, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionNotIn(List<Integer> values) {\n            addCriterion(\"priviledge_promotion not in\", values, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_promotion between\", value1, value2, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgePromotionNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_promotion not between\", value1, value2, \"priviledgePromotion\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceIsNull() {\n            addCriterion(\"priviledge_member_price is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceIsNotNull() {\n            addCriterion(\"priviledge_member_price is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceEqualTo(Integer value) {\n            addCriterion(\"priviledge_member_price =\", value, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceNotEqualTo(Integer value) {\n            addCriterion(\"priviledge_member_price <>\", value, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceGreaterThan(Integer value) {\n            addCriterion(\"priviledge_member_price >\", value, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_member_price >=\", value, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceLessThan(Integer value) {\n            addCriterion(\"priviledge_member_price <\", value, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceLessThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_member_price <=\", value, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceIn(List<Integer> values) {\n            addCriterion(\"priviledge_member_price in\", values, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceNotIn(List<Integer> values) {\n            addCriterion(\"priviledge_member_price not in\", values, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_member_price between\", value1, value2, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeMemberPriceNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_member_price not between\", value1, value2, \"priviledgeMemberPrice\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayIsNull() {\n            addCriterion(\"priviledge_birthday is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayIsNotNull() {\n            addCriterion(\"priviledge_birthday is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayEqualTo(Integer value) {\n            addCriterion(\"priviledge_birthday =\", value, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayNotEqualTo(Integer value) {\n            addCriterion(\"priviledge_birthday <>\", value, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayGreaterThan(Integer value) {\n            addCriterion(\"priviledge_birthday >\", value, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_birthday >=\", value, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayLessThan(Integer value) {\n            addCriterion(\"priviledge_birthday <\", value, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayLessThanOrEqualTo(Integer value) {\n            addCriterion(\"priviledge_birthday <=\", value, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayIn(List<Integer> values) {\n            addCriterion(\"priviledge_birthday in\", values, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayNotIn(List<Integer> values) {\n            addCriterion(\"priviledge_birthday not in\", values, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_birthday between\", value1, value2, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPriviledgeBirthdayNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"priviledge_birthday not between\", value1, value2, \"priviledgeBirthday\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNull() {\n            addCriterion(\"note is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIsNotNull() {\n            addCriterion(\"note is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteEqualTo(String value) {\n            addCriterion(\"note =\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotEqualTo(String value) {\n            addCriterion(\"note <>\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThan(String value) {\n            addCriterion(\"note >\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteGreaterThanOrEqualTo(String value) {\n            addCriterion(\"note >=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThan(String value) {\n            addCriterion(\"note <\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLessThanOrEqualTo(String value) {\n            addCriterion(\"note <=\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteLike(String value) {\n            addCriterion(\"note like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotLike(String value) {\n            addCriterion(\"note not like\", value, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteIn(List<String> values) {\n            addCriterion(\"note in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotIn(List<String> values) {\n            addCriterion(\"note not in\", values, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteBetween(String value1, String value2) {\n            addCriterion(\"note between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNoteNotBetween(String value1, String value2) {\n            addCriterion(\"note not between\", value1, value2, \"note\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLoginLog.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsMemberLoginLog implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    private Date createTime;\n\n    private String ip;\n\n    private String city;\n\n    @ApiModelProperty(value = \"登录类型：0->PC；1->android;2->ios;3->小程序\")\n    private Integer loginType;\n\n    private String province;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getIp() {\n        return ip;\n    }\n\n    public void setIp(String ip) {\n        this.ip = ip;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public Integer getLoginType() {\n        return loginType;\n    }\n\n    public void setLoginType(Integer loginType) {\n        this.loginType = loginType;\n    }\n\n    public String getProvince() {\n        return province;\n    }\n\n    public void setProvince(String province) {\n        this.province = province;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", ip=\").append(ip);\n        sb.append(\", city=\").append(city);\n        sb.append(\", loginType=\").append(loginType);\n        sb.append(\", province=\").append(province);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLoginLogExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsMemberLoginLogExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberLoginLogExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpIsNull() {\n            addCriterion(\"ip is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpIsNotNull() {\n            addCriterion(\"ip is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpEqualTo(String value) {\n            addCriterion(\"ip =\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotEqualTo(String value) {\n            addCriterion(\"ip <>\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpGreaterThan(String value) {\n            addCriterion(\"ip >\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpGreaterThanOrEqualTo(String value) {\n            addCriterion(\"ip >=\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpLessThan(String value) {\n            addCriterion(\"ip <\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpLessThanOrEqualTo(String value) {\n            addCriterion(\"ip <=\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpLike(String value) {\n            addCriterion(\"ip like\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotLike(String value) {\n            addCriterion(\"ip not like\", value, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpIn(List<String> values) {\n            addCriterion(\"ip in\", values, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotIn(List<String> values) {\n            addCriterion(\"ip not in\", values, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpBetween(String value1, String value2) {\n            addCriterion(\"ip between\", value1, value2, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIpNotBetween(String value1, String value2) {\n            addCriterion(\"ip not between\", value1, value2, \"ip\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNull() {\n            addCriterion(\"city is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNotNull() {\n            addCriterion(\"city is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityEqualTo(String value) {\n            addCriterion(\"city =\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotEqualTo(String value) {\n            addCriterion(\"city <>\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThan(String value) {\n            addCriterion(\"city >\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThanOrEqualTo(String value) {\n            addCriterion(\"city >=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThan(String value) {\n            addCriterion(\"city <\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThanOrEqualTo(String value) {\n            addCriterion(\"city <=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLike(String value) {\n            addCriterion(\"city like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotLike(String value) {\n            addCriterion(\"city not like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIn(List<String> values) {\n            addCriterion(\"city in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotIn(List<String> values) {\n            addCriterion(\"city not in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityBetween(String value1, String value2) {\n            addCriterion(\"city between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotBetween(String value1, String value2) {\n            addCriterion(\"city not between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeIsNull() {\n            addCriterion(\"login_type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeIsNotNull() {\n            addCriterion(\"login_type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeEqualTo(Integer value) {\n            addCriterion(\"login_type =\", value, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeNotEqualTo(Integer value) {\n            addCriterion(\"login_type <>\", value, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeGreaterThan(Integer value) {\n            addCriterion(\"login_type >\", value, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"login_type >=\", value, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeLessThan(Integer value) {\n            addCriterion(\"login_type <\", value, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"login_type <=\", value, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeIn(List<Integer> values) {\n            addCriterion(\"login_type in\", values, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeNotIn(List<Integer> values) {\n            addCriterion(\"login_type not in\", values, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"login_type between\", value1, value2, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"login_type not between\", value1, value2, \"loginType\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIsNull() {\n            addCriterion(\"province is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIsNotNull() {\n            addCriterion(\"province is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceEqualTo(String value) {\n            addCriterion(\"province =\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotEqualTo(String value) {\n            addCriterion(\"province <>\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceGreaterThan(String value) {\n            addCriterion(\"province >\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceGreaterThanOrEqualTo(String value) {\n            addCriterion(\"province >=\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLessThan(String value) {\n            addCriterion(\"province <\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLessThanOrEqualTo(String value) {\n            addCriterion(\"province <=\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLike(String value) {\n            addCriterion(\"province like\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotLike(String value) {\n            addCriterion(\"province not like\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIn(List<String> values) {\n            addCriterion(\"province in\", values, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotIn(List<String> values) {\n            addCriterion(\"province not in\", values, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceBetween(String value1, String value2) {\n            addCriterion(\"province between\", value1, value2, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotBetween(String value1, String value2) {\n            addCriterion(\"province not between\", value1, value2, \"province\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberMemberTagRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsMemberMemberTagRelation implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    private Long tagId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Long getTagId() {\n        return tagId;\n    }\n\n    public void setTagId(Long tagId) {\n        this.tagId = tagId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", tagId=\").append(tagId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberMemberTagRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberMemberTagRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberMemberTagRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdIsNull() {\n            addCriterion(\"tag_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdIsNotNull() {\n            addCriterion(\"tag_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdEqualTo(Long value) {\n            addCriterion(\"tag_id =\", value, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdNotEqualTo(Long value) {\n            addCriterion(\"tag_id <>\", value, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdGreaterThan(Long value) {\n            addCriterion(\"tag_id >\", value, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"tag_id >=\", value, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdLessThan(Long value) {\n            addCriterion(\"tag_id <\", value, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"tag_id <=\", value, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdIn(List<Long> values) {\n            addCriterion(\"tag_id in\", values, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdNotIn(List<Long> values) {\n            addCriterion(\"tag_id not in\", values, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdBetween(Long value1, Long value2) {\n            addCriterion(\"tag_id between\", value1, value2, \"tagId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTagIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"tag_id not between\", value1, value2, \"tagId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberProductCategoryRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsMemberProductCategoryRelation implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    private Long productCategoryId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public Long getProductCategoryId() {\n        return productCategoryId;\n    }\n\n    public void setProductCategoryId(Long productCategoryId) {\n        this.productCategoryId = productCategoryId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", productCategoryId=\").append(productCategoryId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberProductCategoryRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberProductCategoryRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberProductCategoryRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNull() {\n            addCriterion(\"product_category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIsNotNull() {\n            addCriterion(\"product_category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdEqualTo(Long value) {\n            addCriterion(\"product_category_id =\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"product_category_id <>\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThan(Long value) {\n            addCriterion(\"product_category_id >\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id >=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThan(Long value) {\n            addCriterion(\"product_category_id <\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"product_category_id <=\", value, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdIn(List<Long> values) {\n            addCriterion(\"product_category_id in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"product_category_id not in\", values, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"product_category_id not between\", value1, value2, \"productCategoryId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberReceiveAddress.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsMemberReceiveAddress implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    @ApiModelProperty(value = \"收货人名称\")\n    private String name;\n\n    private String phoneNumber;\n\n    @ApiModelProperty(value = \"是否为默认\")\n    private Integer defaultStatus;\n\n    @ApiModelProperty(value = \"邮政编码\")\n    private String postCode;\n\n    @ApiModelProperty(value = \"省份/直辖市\")\n    private String province;\n\n    @ApiModelProperty(value = \"城市\")\n    private String city;\n\n    @ApiModelProperty(value = \"区\")\n    private String region;\n\n    @ApiModelProperty(value = \"详细地址(街道)\")\n    private String detailAddress;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getPhoneNumber() {\n        return phoneNumber;\n    }\n\n    public void setPhoneNumber(String phoneNumber) {\n        this.phoneNumber = phoneNumber;\n    }\n\n    public Integer getDefaultStatus() {\n        return defaultStatus;\n    }\n\n    public void setDefaultStatus(Integer defaultStatus) {\n        this.defaultStatus = defaultStatus;\n    }\n\n    public String getPostCode() {\n        return postCode;\n    }\n\n    public void setPostCode(String postCode) {\n        this.postCode = postCode;\n    }\n\n    public String getProvince() {\n        return province;\n    }\n\n    public void setProvince(String province) {\n        this.province = province;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getRegion() {\n        return region;\n    }\n\n    public void setRegion(String region) {\n        this.region = region;\n    }\n\n    public String getDetailAddress() {\n        return detailAddress;\n    }\n\n    public void setDetailAddress(String detailAddress) {\n        this.detailAddress = detailAddress;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", name=\").append(name);\n        sb.append(\", phoneNumber=\").append(phoneNumber);\n        sb.append(\", defaultStatus=\").append(defaultStatus);\n        sb.append(\", postCode=\").append(postCode);\n        sb.append(\", province=\").append(province);\n        sb.append(\", city=\").append(city);\n        sb.append(\", region=\").append(region);\n        sb.append(\", detailAddress=\").append(detailAddress);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberReceiveAddressExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberReceiveAddressExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberReceiveAddressExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberIsNull() {\n            addCriterion(\"phone_number is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberIsNotNull() {\n            addCriterion(\"phone_number is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberEqualTo(String value) {\n            addCriterion(\"phone_number =\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberNotEqualTo(String value) {\n            addCriterion(\"phone_number <>\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberGreaterThan(String value) {\n            addCriterion(\"phone_number >\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberGreaterThanOrEqualTo(String value) {\n            addCriterion(\"phone_number >=\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberLessThan(String value) {\n            addCriterion(\"phone_number <\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberLessThanOrEqualTo(String value) {\n            addCriterion(\"phone_number <=\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberLike(String value) {\n            addCriterion(\"phone_number like\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberNotLike(String value) {\n            addCriterion(\"phone_number not like\", value, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberIn(List<String> values) {\n            addCriterion(\"phone_number in\", values, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberNotIn(List<String> values) {\n            addCriterion(\"phone_number not in\", values, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberBetween(String value1, String value2) {\n            addCriterion(\"phone_number between\", value1, value2, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPhoneNumberNotBetween(String value1, String value2) {\n            addCriterion(\"phone_number not between\", value1, value2, \"phoneNumber\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusIsNull() {\n            addCriterion(\"default_status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusIsNotNull() {\n            addCriterion(\"default_status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusEqualTo(Integer value) {\n            addCriterion(\"default_status =\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusNotEqualTo(Integer value) {\n            addCriterion(\"default_status <>\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusGreaterThan(Integer value) {\n            addCriterion(\"default_status >\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"default_status >=\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusLessThan(Integer value) {\n            addCriterion(\"default_status <\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"default_status <=\", value, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusIn(List<Integer> values) {\n            addCriterion(\"default_status in\", values, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusNotIn(List<Integer> values) {\n            addCriterion(\"default_status not in\", values, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"default_status between\", value1, value2, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDefaultStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"default_status not between\", value1, value2, \"defaultStatus\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeIsNull() {\n            addCriterion(\"post_code is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeIsNotNull() {\n            addCriterion(\"post_code is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeEqualTo(String value) {\n            addCriterion(\"post_code =\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeNotEqualTo(String value) {\n            addCriterion(\"post_code <>\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeGreaterThan(String value) {\n            addCriterion(\"post_code >\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeGreaterThanOrEqualTo(String value) {\n            addCriterion(\"post_code >=\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeLessThan(String value) {\n            addCriterion(\"post_code <\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeLessThanOrEqualTo(String value) {\n            addCriterion(\"post_code <=\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeLike(String value) {\n            addCriterion(\"post_code like\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeNotLike(String value) {\n            addCriterion(\"post_code not like\", value, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeIn(List<String> values) {\n            addCriterion(\"post_code in\", values, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeNotIn(List<String> values) {\n            addCriterion(\"post_code not in\", values, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeBetween(String value1, String value2) {\n            addCriterion(\"post_code between\", value1, value2, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPostCodeNotBetween(String value1, String value2) {\n            addCriterion(\"post_code not between\", value1, value2, \"postCode\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIsNull() {\n            addCriterion(\"province is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIsNotNull() {\n            addCriterion(\"province is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceEqualTo(String value) {\n            addCriterion(\"province =\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotEqualTo(String value) {\n            addCriterion(\"province <>\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceGreaterThan(String value) {\n            addCriterion(\"province >\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceGreaterThanOrEqualTo(String value) {\n            addCriterion(\"province >=\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLessThan(String value) {\n            addCriterion(\"province <\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLessThanOrEqualTo(String value) {\n            addCriterion(\"province <=\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceLike(String value) {\n            addCriterion(\"province like\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotLike(String value) {\n            addCriterion(\"province not like\", value, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceIn(List<String> values) {\n            addCriterion(\"province in\", values, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotIn(List<String> values) {\n            addCriterion(\"province not in\", values, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceBetween(String value1, String value2) {\n            addCriterion(\"province between\", value1, value2, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andProvinceNotBetween(String value1, String value2) {\n            addCriterion(\"province not between\", value1, value2, \"province\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNull() {\n            addCriterion(\"city is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIsNotNull() {\n            addCriterion(\"city is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityEqualTo(String value) {\n            addCriterion(\"city =\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotEqualTo(String value) {\n            addCriterion(\"city <>\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThan(String value) {\n            addCriterion(\"city >\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityGreaterThanOrEqualTo(String value) {\n            addCriterion(\"city >=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThan(String value) {\n            addCriterion(\"city <\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLessThanOrEqualTo(String value) {\n            addCriterion(\"city <=\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityLike(String value) {\n            addCriterion(\"city like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotLike(String value) {\n            addCriterion(\"city not like\", value, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityIn(List<String> values) {\n            addCriterion(\"city in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotIn(List<String> values) {\n            addCriterion(\"city not in\", values, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityBetween(String value1, String value2) {\n            addCriterion(\"city between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCityNotBetween(String value1, String value2) {\n            addCriterion(\"city not between\", value1, value2, \"city\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionIsNull() {\n            addCriterion(\"region is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionIsNotNull() {\n            addCriterion(\"region is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionEqualTo(String value) {\n            addCriterion(\"region =\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotEqualTo(String value) {\n            addCriterion(\"region <>\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionGreaterThan(String value) {\n            addCriterion(\"region >\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"region >=\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionLessThan(String value) {\n            addCriterion(\"region <\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionLessThanOrEqualTo(String value) {\n            addCriterion(\"region <=\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionLike(String value) {\n            addCriterion(\"region like\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotLike(String value) {\n            addCriterion(\"region not like\", value, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionIn(List<String> values) {\n            addCriterion(\"region in\", values, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotIn(List<String> values) {\n            addCriterion(\"region not in\", values, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionBetween(String value1, String value2) {\n            addCriterion(\"region between\", value1, value2, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRegionNotBetween(String value1, String value2) {\n            addCriterion(\"region not between\", value1, value2, \"region\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressIsNull() {\n            addCriterion(\"detail_address is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressIsNotNull() {\n            addCriterion(\"detail_address is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressEqualTo(String value) {\n            addCriterion(\"detail_address =\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotEqualTo(String value) {\n            addCriterion(\"detail_address <>\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressGreaterThan(String value) {\n            addCriterion(\"detail_address >\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressGreaterThanOrEqualTo(String value) {\n            addCriterion(\"detail_address >=\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressLessThan(String value) {\n            addCriterion(\"detail_address <\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressLessThanOrEqualTo(String value) {\n            addCriterion(\"detail_address <=\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressLike(String value) {\n            addCriterion(\"detail_address like\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotLike(String value) {\n            addCriterion(\"detail_address not like\", value, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressIn(List<String> values) {\n            addCriterion(\"detail_address in\", values, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotIn(List<String> values) {\n            addCriterion(\"detail_address not in\", values, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressBetween(String value1, String value2) {\n            addCriterion(\"detail_address between\", value1, value2, \"detailAddress\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDetailAddressNotBetween(String value1, String value2) {\n            addCriterion(\"detail_address not between\", value1, value2, \"detailAddress\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberRuleSetting.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class UmsMemberRuleSetting implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"连续签到天数\")\n    private Integer continueSignDay;\n\n    @ApiModelProperty(value = \"连续签到赠送数量\")\n    private Integer continueSignPoint;\n\n    @ApiModelProperty(value = \"每消费多少元获取1个点\")\n    private BigDecimal consumePerPoint;\n\n    @ApiModelProperty(value = \"最低获取点数的订单金额\")\n    private BigDecimal lowOrderAmount;\n\n    @ApiModelProperty(value = \"每笔订单最高获取点数\")\n    private Integer maxPointPerOrder;\n\n    @ApiModelProperty(value = \"类型：0->积分规则；1->成长值规则\")\n    private Integer type;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Integer getContinueSignDay() {\n        return continueSignDay;\n    }\n\n    public void setContinueSignDay(Integer continueSignDay) {\n        this.continueSignDay = continueSignDay;\n    }\n\n    public Integer getContinueSignPoint() {\n        return continueSignPoint;\n    }\n\n    public void setContinueSignPoint(Integer continueSignPoint) {\n        this.continueSignPoint = continueSignPoint;\n    }\n\n    public BigDecimal getConsumePerPoint() {\n        return consumePerPoint;\n    }\n\n    public void setConsumePerPoint(BigDecimal consumePerPoint) {\n        this.consumePerPoint = consumePerPoint;\n    }\n\n    public BigDecimal getLowOrderAmount() {\n        return lowOrderAmount;\n    }\n\n    public void setLowOrderAmount(BigDecimal lowOrderAmount) {\n        this.lowOrderAmount = lowOrderAmount;\n    }\n\n    public Integer getMaxPointPerOrder() {\n        return maxPointPerOrder;\n    }\n\n    public void setMaxPointPerOrder(Integer maxPointPerOrder) {\n        this.maxPointPerOrder = maxPointPerOrder;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", continueSignDay=\").append(continueSignDay);\n        sb.append(\", continueSignPoint=\").append(continueSignPoint);\n        sb.append(\", consumePerPoint=\").append(consumePerPoint);\n        sb.append(\", lowOrderAmount=\").append(lowOrderAmount);\n        sb.append(\", maxPointPerOrder=\").append(maxPointPerOrder);\n        sb.append(\", type=\").append(type);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberRuleSettingExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberRuleSettingExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberRuleSettingExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayIsNull() {\n            addCriterion(\"continue_sign_day is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayIsNotNull() {\n            addCriterion(\"continue_sign_day is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayEqualTo(Integer value) {\n            addCriterion(\"continue_sign_day =\", value, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayNotEqualTo(Integer value) {\n            addCriterion(\"continue_sign_day <>\", value, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayGreaterThan(Integer value) {\n            addCriterion(\"continue_sign_day >\", value, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"continue_sign_day >=\", value, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayLessThan(Integer value) {\n            addCriterion(\"continue_sign_day <\", value, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayLessThanOrEqualTo(Integer value) {\n            addCriterion(\"continue_sign_day <=\", value, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayIn(List<Integer> values) {\n            addCriterion(\"continue_sign_day in\", values, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayNotIn(List<Integer> values) {\n            addCriterion(\"continue_sign_day not in\", values, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayBetween(Integer value1, Integer value2) {\n            addCriterion(\"continue_sign_day between\", value1, value2, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignDayNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"continue_sign_day not between\", value1, value2, \"continueSignDay\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointIsNull() {\n            addCriterion(\"continue_sign_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointIsNotNull() {\n            addCriterion(\"continue_sign_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointEqualTo(Integer value) {\n            addCriterion(\"continue_sign_point =\", value, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointNotEqualTo(Integer value) {\n            addCriterion(\"continue_sign_point <>\", value, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointGreaterThan(Integer value) {\n            addCriterion(\"continue_sign_point >\", value, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"continue_sign_point >=\", value, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointLessThan(Integer value) {\n            addCriterion(\"continue_sign_point <\", value, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointLessThanOrEqualTo(Integer value) {\n            addCriterion(\"continue_sign_point <=\", value, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointIn(List<Integer> values) {\n            addCriterion(\"continue_sign_point in\", values, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointNotIn(List<Integer> values) {\n            addCriterion(\"continue_sign_point not in\", values, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointBetween(Integer value1, Integer value2) {\n            addCriterion(\"continue_sign_point between\", value1, value2, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andContinueSignPointNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"continue_sign_point not between\", value1, value2, \"continueSignPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointIsNull() {\n            addCriterion(\"consume_per_point is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointIsNotNull() {\n            addCriterion(\"consume_per_point is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointEqualTo(BigDecimal value) {\n            addCriterion(\"consume_per_point =\", value, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointNotEqualTo(BigDecimal value) {\n            addCriterion(\"consume_per_point <>\", value, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointGreaterThan(BigDecimal value) {\n            addCriterion(\"consume_per_point >\", value, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"consume_per_point >=\", value, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointLessThan(BigDecimal value) {\n            addCriterion(\"consume_per_point <\", value, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"consume_per_point <=\", value, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointIn(List<BigDecimal> values) {\n            addCriterion(\"consume_per_point in\", values, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointNotIn(List<BigDecimal> values) {\n            addCriterion(\"consume_per_point not in\", values, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"consume_per_point between\", value1, value2, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumePerPointNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"consume_per_point not between\", value1, value2, \"consumePerPoint\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountIsNull() {\n            addCriterion(\"low_order_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountIsNotNull() {\n            addCriterion(\"low_order_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountEqualTo(BigDecimal value) {\n            addCriterion(\"low_order_amount =\", value, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"low_order_amount <>\", value, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"low_order_amount >\", value, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"low_order_amount >=\", value, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountLessThan(BigDecimal value) {\n            addCriterion(\"low_order_amount <\", value, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"low_order_amount <=\", value, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountIn(List<BigDecimal> values) {\n            addCriterion(\"low_order_amount in\", values, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"low_order_amount not in\", values, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"low_order_amount between\", value1, value2, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLowOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"low_order_amount not between\", value1, value2, \"lowOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderIsNull() {\n            addCriterion(\"max_point_per_order is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderIsNotNull() {\n            addCriterion(\"max_point_per_order is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderEqualTo(Integer value) {\n            addCriterion(\"max_point_per_order =\", value, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderNotEqualTo(Integer value) {\n            addCriterion(\"max_point_per_order <>\", value, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderGreaterThan(Integer value) {\n            addCriterion(\"max_point_per_order >\", value, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"max_point_per_order >=\", value, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderLessThan(Integer value) {\n            addCriterion(\"max_point_per_order <\", value, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderLessThanOrEqualTo(Integer value) {\n            addCriterion(\"max_point_per_order <=\", value, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderIn(List<Integer> values) {\n            addCriterion(\"max_point_per_order in\", values, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderNotIn(List<Integer> values) {\n            addCriterion(\"max_point_per_order not in\", values, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderBetween(Integer value1, Integer value2) {\n            addCriterion(\"max_point_per_order between\", value1, value2, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMaxPointPerOrderNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"max_point_per_order not between\", value1, value2, \"maxPointPerOrder\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberStatisticsInfo.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\npublic class UmsMemberStatisticsInfo implements Serializable {\n    private Long id;\n\n    private Long memberId;\n\n    @ApiModelProperty(value = \"累计消费金额\")\n    private BigDecimal consumeAmount;\n\n    @ApiModelProperty(value = \"订单数量\")\n    private Integer orderCount;\n\n    @ApiModelProperty(value = \"优惠券数量\")\n    private Integer couponCount;\n\n    @ApiModelProperty(value = \"评价数\")\n    private Integer commentCount;\n\n    @ApiModelProperty(value = \"退货数量\")\n    private Integer returnOrderCount;\n\n    @ApiModelProperty(value = \"登录次数\")\n    private Integer loginCount;\n\n    @ApiModelProperty(value = \"关注数量\")\n    private Integer attendCount;\n\n    @ApiModelProperty(value = \"粉丝数量\")\n    private Integer fansCount;\n\n    private Integer collectProductCount;\n\n    private Integer collectSubjectCount;\n\n    private Integer collectTopicCount;\n\n    private Integer collectCommentCount;\n\n    private Integer inviteFriendCount;\n\n    @ApiModelProperty(value = \"最后一次下订单时间\")\n    private Date recentOrderTime;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getMemberId() {\n        return memberId;\n    }\n\n    public void setMemberId(Long memberId) {\n        this.memberId = memberId;\n    }\n\n    public BigDecimal getConsumeAmount() {\n        return consumeAmount;\n    }\n\n    public void setConsumeAmount(BigDecimal consumeAmount) {\n        this.consumeAmount = consumeAmount;\n    }\n\n    public Integer getOrderCount() {\n        return orderCount;\n    }\n\n    public void setOrderCount(Integer orderCount) {\n        this.orderCount = orderCount;\n    }\n\n    public Integer getCouponCount() {\n        return couponCount;\n    }\n\n    public void setCouponCount(Integer couponCount) {\n        this.couponCount = couponCount;\n    }\n\n    public Integer getCommentCount() {\n        return commentCount;\n    }\n\n    public void setCommentCount(Integer commentCount) {\n        this.commentCount = commentCount;\n    }\n\n    public Integer getReturnOrderCount() {\n        return returnOrderCount;\n    }\n\n    public void setReturnOrderCount(Integer returnOrderCount) {\n        this.returnOrderCount = returnOrderCount;\n    }\n\n    public Integer getLoginCount() {\n        return loginCount;\n    }\n\n    public void setLoginCount(Integer loginCount) {\n        this.loginCount = loginCount;\n    }\n\n    public Integer getAttendCount() {\n        return attendCount;\n    }\n\n    public void setAttendCount(Integer attendCount) {\n        this.attendCount = attendCount;\n    }\n\n    public Integer getFansCount() {\n        return fansCount;\n    }\n\n    public void setFansCount(Integer fansCount) {\n        this.fansCount = fansCount;\n    }\n\n    public Integer getCollectProductCount() {\n        return collectProductCount;\n    }\n\n    public void setCollectProductCount(Integer collectProductCount) {\n        this.collectProductCount = collectProductCount;\n    }\n\n    public Integer getCollectSubjectCount() {\n        return collectSubjectCount;\n    }\n\n    public void setCollectSubjectCount(Integer collectSubjectCount) {\n        this.collectSubjectCount = collectSubjectCount;\n    }\n\n    public Integer getCollectTopicCount() {\n        return collectTopicCount;\n    }\n\n    public void setCollectTopicCount(Integer collectTopicCount) {\n        this.collectTopicCount = collectTopicCount;\n    }\n\n    public Integer getCollectCommentCount() {\n        return collectCommentCount;\n    }\n\n    public void setCollectCommentCount(Integer collectCommentCount) {\n        this.collectCommentCount = collectCommentCount;\n    }\n\n    public Integer getInviteFriendCount() {\n        return inviteFriendCount;\n    }\n\n    public void setInviteFriendCount(Integer inviteFriendCount) {\n        this.inviteFriendCount = inviteFriendCount;\n    }\n\n    public Date getRecentOrderTime() {\n        return recentOrderTime;\n    }\n\n    public void setRecentOrderTime(Date recentOrderTime) {\n        this.recentOrderTime = recentOrderTime;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", memberId=\").append(memberId);\n        sb.append(\", consumeAmount=\").append(consumeAmount);\n        sb.append(\", orderCount=\").append(orderCount);\n        sb.append(\", couponCount=\").append(couponCount);\n        sb.append(\", commentCount=\").append(commentCount);\n        sb.append(\", returnOrderCount=\").append(returnOrderCount);\n        sb.append(\", loginCount=\").append(loginCount);\n        sb.append(\", attendCount=\").append(attendCount);\n        sb.append(\", fansCount=\").append(fansCount);\n        sb.append(\", collectProductCount=\").append(collectProductCount);\n        sb.append(\", collectSubjectCount=\").append(collectSubjectCount);\n        sb.append(\", collectTopicCount=\").append(collectTopicCount);\n        sb.append(\", collectCommentCount=\").append(collectCommentCount);\n        sb.append(\", inviteFriendCount=\").append(inviteFriendCount);\n        sb.append(\", recentOrderTime=\").append(recentOrderTime);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberStatisticsInfoExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsMemberStatisticsInfoExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberStatisticsInfoExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNull() {\n            addCriterion(\"member_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIsNotNull() {\n            addCriterion(\"member_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdEqualTo(Long value) {\n            addCriterion(\"member_id =\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotEqualTo(Long value) {\n            addCriterion(\"member_id <>\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThan(Long value) {\n            addCriterion(\"member_id >\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"member_id >=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThan(Long value) {\n            addCriterion(\"member_id <\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"member_id <=\", value, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdIn(List<Long> values) {\n            addCriterion(\"member_id in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotIn(List<Long> values) {\n            addCriterion(\"member_id not in\", values, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdBetween(Long value1, Long value2) {\n            addCriterion(\"member_id between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMemberIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"member_id not between\", value1, value2, \"memberId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountIsNull() {\n            addCriterion(\"consume_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountIsNotNull() {\n            addCriterion(\"consume_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountEqualTo(BigDecimal value) {\n            addCriterion(\"consume_amount =\", value, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"consume_amount <>\", value, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"consume_amount >\", value, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"consume_amount >=\", value, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountLessThan(BigDecimal value) {\n            addCriterion(\"consume_amount <\", value, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"consume_amount <=\", value, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountIn(List<BigDecimal> values) {\n            addCriterion(\"consume_amount in\", values, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"consume_amount not in\", values, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"consume_amount between\", value1, value2, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andConsumeAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"consume_amount not between\", value1, value2, \"consumeAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountIsNull() {\n            addCriterion(\"order_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountIsNotNull() {\n            addCriterion(\"order_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountEqualTo(Integer value) {\n            addCriterion(\"order_count =\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountNotEqualTo(Integer value) {\n            addCriterion(\"order_count <>\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountGreaterThan(Integer value) {\n            addCriterion(\"order_count >\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"order_count >=\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountLessThan(Integer value) {\n            addCriterion(\"order_count <\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"order_count <=\", value, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountIn(List<Integer> values) {\n            addCriterion(\"order_count in\", values, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountNotIn(List<Integer> values) {\n            addCriterion(\"order_count not in\", values, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_count between\", value1, value2, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andOrderCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"order_count not between\", value1, value2, \"orderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountIsNull() {\n            addCriterion(\"coupon_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountIsNotNull() {\n            addCriterion(\"coupon_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountEqualTo(Integer value) {\n            addCriterion(\"coupon_count =\", value, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountNotEqualTo(Integer value) {\n            addCriterion(\"coupon_count <>\", value, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountGreaterThan(Integer value) {\n            addCriterion(\"coupon_count >\", value, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"coupon_count >=\", value, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountLessThan(Integer value) {\n            addCriterion(\"coupon_count <\", value, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"coupon_count <=\", value, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountIn(List<Integer> values) {\n            addCriterion(\"coupon_count in\", values, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountNotIn(List<Integer> values) {\n            addCriterion(\"coupon_count not in\", values, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"coupon_count between\", value1, value2, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCouponCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"coupon_count not between\", value1, value2, \"couponCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountIsNull() {\n            addCriterion(\"comment_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountIsNotNull() {\n            addCriterion(\"comment_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountEqualTo(Integer value) {\n            addCriterion(\"comment_count =\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountNotEqualTo(Integer value) {\n            addCriterion(\"comment_count <>\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountGreaterThan(Integer value) {\n            addCriterion(\"comment_count >\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_count >=\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountLessThan(Integer value) {\n            addCriterion(\"comment_count <\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"comment_count <=\", value, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountIn(List<Integer> values) {\n            addCriterion(\"comment_count in\", values, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountNotIn(List<Integer> values) {\n            addCriterion(\"comment_count not in\", values, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_count between\", value1, value2, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCommentCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"comment_count not between\", value1, value2, \"commentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountIsNull() {\n            addCriterion(\"return_order_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountIsNotNull() {\n            addCriterion(\"return_order_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountEqualTo(Integer value) {\n            addCriterion(\"return_order_count =\", value, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountNotEqualTo(Integer value) {\n            addCriterion(\"return_order_count <>\", value, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountGreaterThan(Integer value) {\n            addCriterion(\"return_order_count >\", value, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"return_order_count >=\", value, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountLessThan(Integer value) {\n            addCriterion(\"return_order_count <\", value, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"return_order_count <=\", value, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountIn(List<Integer> values) {\n            addCriterion(\"return_order_count in\", values, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountNotIn(List<Integer> values) {\n            addCriterion(\"return_order_count not in\", values, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"return_order_count between\", value1, value2, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andReturnOrderCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"return_order_count not between\", value1, value2, \"returnOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountIsNull() {\n            addCriterion(\"login_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountIsNotNull() {\n            addCriterion(\"login_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountEqualTo(Integer value) {\n            addCriterion(\"login_count =\", value, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountNotEqualTo(Integer value) {\n            addCriterion(\"login_count <>\", value, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountGreaterThan(Integer value) {\n            addCriterion(\"login_count >\", value, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"login_count >=\", value, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountLessThan(Integer value) {\n            addCriterion(\"login_count <\", value, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"login_count <=\", value, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountIn(List<Integer> values) {\n            addCriterion(\"login_count in\", values, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountNotIn(List<Integer> values) {\n            addCriterion(\"login_count not in\", values, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"login_count between\", value1, value2, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLoginCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"login_count not between\", value1, value2, \"loginCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountIsNull() {\n            addCriterion(\"attend_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountIsNotNull() {\n            addCriterion(\"attend_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountEqualTo(Integer value) {\n            addCriterion(\"attend_count =\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountNotEqualTo(Integer value) {\n            addCriterion(\"attend_count <>\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountGreaterThan(Integer value) {\n            addCriterion(\"attend_count >\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"attend_count >=\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountLessThan(Integer value) {\n            addCriterion(\"attend_count <\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"attend_count <=\", value, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountIn(List<Integer> values) {\n            addCriterion(\"attend_count in\", values, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountNotIn(List<Integer> values) {\n            addCriterion(\"attend_count not in\", values, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"attend_count between\", value1, value2, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAttendCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"attend_count not between\", value1, value2, \"attendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountIsNull() {\n            addCriterion(\"fans_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountIsNotNull() {\n            addCriterion(\"fans_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountEqualTo(Integer value) {\n            addCriterion(\"fans_count =\", value, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountNotEqualTo(Integer value) {\n            addCriterion(\"fans_count <>\", value, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountGreaterThan(Integer value) {\n            addCriterion(\"fans_count >\", value, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"fans_count >=\", value, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountLessThan(Integer value) {\n            addCriterion(\"fans_count <\", value, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"fans_count <=\", value, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountIn(List<Integer> values) {\n            addCriterion(\"fans_count in\", values, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountNotIn(List<Integer> values) {\n            addCriterion(\"fans_count not in\", values, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"fans_count between\", value1, value2, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFansCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"fans_count not between\", value1, value2, \"fansCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountIsNull() {\n            addCriterion(\"collect_product_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountIsNotNull() {\n            addCriterion(\"collect_product_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountEqualTo(Integer value) {\n            addCriterion(\"collect_product_count =\", value, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountNotEqualTo(Integer value) {\n            addCriterion(\"collect_product_count <>\", value, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountGreaterThan(Integer value) {\n            addCriterion(\"collect_product_count >\", value, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_product_count >=\", value, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountLessThan(Integer value) {\n            addCriterion(\"collect_product_count <\", value, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_product_count <=\", value, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountIn(List<Integer> values) {\n            addCriterion(\"collect_product_count in\", values, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountNotIn(List<Integer> values) {\n            addCriterion(\"collect_product_count not in\", values, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_product_count between\", value1, value2, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectProductCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_product_count not between\", value1, value2, \"collectProductCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountIsNull() {\n            addCriterion(\"collect_subject_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountIsNotNull() {\n            addCriterion(\"collect_subject_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountEqualTo(Integer value) {\n            addCriterion(\"collect_subject_count =\", value, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountNotEqualTo(Integer value) {\n            addCriterion(\"collect_subject_count <>\", value, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountGreaterThan(Integer value) {\n            addCriterion(\"collect_subject_count >\", value, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_subject_count >=\", value, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountLessThan(Integer value) {\n            addCriterion(\"collect_subject_count <\", value, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_subject_count <=\", value, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountIn(List<Integer> values) {\n            addCriterion(\"collect_subject_count in\", values, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountNotIn(List<Integer> values) {\n            addCriterion(\"collect_subject_count not in\", values, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_subject_count between\", value1, value2, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectSubjectCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_subject_count not between\", value1, value2, \"collectSubjectCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountIsNull() {\n            addCriterion(\"collect_topic_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountIsNotNull() {\n            addCriterion(\"collect_topic_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountEqualTo(Integer value) {\n            addCriterion(\"collect_topic_count =\", value, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountNotEqualTo(Integer value) {\n            addCriterion(\"collect_topic_count <>\", value, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountGreaterThan(Integer value) {\n            addCriterion(\"collect_topic_count >\", value, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_topic_count >=\", value, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountLessThan(Integer value) {\n            addCriterion(\"collect_topic_count <\", value, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_topic_count <=\", value, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountIn(List<Integer> values) {\n            addCriterion(\"collect_topic_count in\", values, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountNotIn(List<Integer> values) {\n            addCriterion(\"collect_topic_count not in\", values, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_topic_count between\", value1, value2, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectTopicCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_topic_count not between\", value1, value2, \"collectTopicCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountIsNull() {\n            addCriterion(\"collect_comment_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountIsNotNull() {\n            addCriterion(\"collect_comment_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountEqualTo(Integer value) {\n            addCriterion(\"collect_comment_count =\", value, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountNotEqualTo(Integer value) {\n            addCriterion(\"collect_comment_count <>\", value, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountGreaterThan(Integer value) {\n            addCriterion(\"collect_comment_count >\", value, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_comment_count >=\", value, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountLessThan(Integer value) {\n            addCriterion(\"collect_comment_count <\", value, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"collect_comment_count <=\", value, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountIn(List<Integer> values) {\n            addCriterion(\"collect_comment_count in\", values, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountNotIn(List<Integer> values) {\n            addCriterion(\"collect_comment_count not in\", values, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_comment_count between\", value1, value2, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCollectCommentCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"collect_comment_count not between\", value1, value2, \"collectCommentCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountIsNull() {\n            addCriterion(\"invite_friend_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountIsNotNull() {\n            addCriterion(\"invite_friend_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountEqualTo(Integer value) {\n            addCriterion(\"invite_friend_count =\", value, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountNotEqualTo(Integer value) {\n            addCriterion(\"invite_friend_count <>\", value, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountGreaterThan(Integer value) {\n            addCriterion(\"invite_friend_count >\", value, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"invite_friend_count >=\", value, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountLessThan(Integer value) {\n            addCriterion(\"invite_friend_count <\", value, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"invite_friend_count <=\", value, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountIn(List<Integer> values) {\n            addCriterion(\"invite_friend_count in\", values, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountNotIn(List<Integer> values) {\n            addCriterion(\"invite_friend_count not in\", values, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"invite_friend_count between\", value1, value2, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andInviteFriendCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"invite_friend_count not between\", value1, value2, \"inviteFriendCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeIsNull() {\n            addCriterion(\"recent_order_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeIsNotNull() {\n            addCriterion(\"recent_order_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeEqualTo(Date value) {\n            addCriterion(\"recent_order_time =\", value, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeNotEqualTo(Date value) {\n            addCriterion(\"recent_order_time <>\", value, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeGreaterThan(Date value) {\n            addCriterion(\"recent_order_time >\", value, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"recent_order_time >=\", value, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeLessThan(Date value) {\n            addCriterion(\"recent_order_time <\", value, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"recent_order_time <=\", value, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeIn(List<Date> values) {\n            addCriterion(\"recent_order_time in\", values, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeNotIn(List<Date> values) {\n            addCriterion(\"recent_order_time not in\", values, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeBetween(Date value1, Date value2) {\n            addCriterion(\"recent_order_time between\", value1, value2, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRecentOrderTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"recent_order_time not between\", value1, value2, \"recentOrderTime\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTag.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.math.BigDecimal;\n\npublic class UmsMemberTag implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"自动打标签完成订单数量\")\n    private Integer finishOrderCount;\n\n    @ApiModelProperty(value = \"自动打标签完成订单金额\")\n    private BigDecimal finishOrderAmount;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getFinishOrderCount() {\n        return finishOrderCount;\n    }\n\n    public void setFinishOrderCount(Integer finishOrderCount) {\n        this.finishOrderCount = finishOrderCount;\n    }\n\n    public BigDecimal getFinishOrderAmount() {\n        return finishOrderAmount;\n    }\n\n    public void setFinishOrderAmount(BigDecimal finishOrderAmount) {\n        this.finishOrderAmount = finishOrderAmount;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", finishOrderCount=\").append(finishOrderCount);\n        sb.append(\", finishOrderAmount=\").append(finishOrderAmount);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTagExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberTagExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberTagExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountIsNull() {\n            addCriterion(\"finish_order_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountIsNotNull() {\n            addCriterion(\"finish_order_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountEqualTo(Integer value) {\n            addCriterion(\"finish_order_count =\", value, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountNotEqualTo(Integer value) {\n            addCriterion(\"finish_order_count <>\", value, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountGreaterThan(Integer value) {\n            addCriterion(\"finish_order_count >\", value, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"finish_order_count >=\", value, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountLessThan(Integer value) {\n            addCriterion(\"finish_order_count <\", value, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"finish_order_count <=\", value, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountIn(List<Integer> values) {\n            addCriterion(\"finish_order_count in\", values, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountNotIn(List<Integer> values) {\n            addCriterion(\"finish_order_count not in\", values, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"finish_order_count between\", value1, value2, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"finish_order_count not between\", value1, value2, \"finishOrderCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountIsNull() {\n            addCriterion(\"finish_order_amount is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountIsNotNull() {\n            addCriterion(\"finish_order_amount is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountEqualTo(BigDecimal value) {\n            addCriterion(\"finish_order_amount =\", value, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountNotEqualTo(BigDecimal value) {\n            addCriterion(\"finish_order_amount <>\", value, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountGreaterThan(BigDecimal value) {\n            addCriterion(\"finish_order_amount >\", value, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountGreaterThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"finish_order_amount >=\", value, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountLessThan(BigDecimal value) {\n            addCriterion(\"finish_order_amount <\", value, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountLessThanOrEqualTo(BigDecimal value) {\n            addCriterion(\"finish_order_amount <=\", value, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountIn(List<BigDecimal> values) {\n            addCriterion(\"finish_order_amount in\", values, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountNotIn(List<BigDecimal> values) {\n            addCriterion(\"finish_order_amount not in\", values, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"finish_order_amount between\", value1, value2, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andFinishOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) {\n            addCriterion(\"finish_order_amount not between\", value1, value2, \"finishOrderAmount\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTask.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsMemberTask implements Serializable {\n    private Long id;\n\n    private String name;\n\n    @ApiModelProperty(value = \"赠送成长值\")\n    private Integer growth;\n\n    @ApiModelProperty(value = \"赠送积分\")\n    private Integer intergration;\n\n    @ApiModelProperty(value = \"任务类型：0->新手任务；1->日常任务\")\n    private Integer type;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getGrowth() {\n        return growth;\n    }\n\n    public void setGrowth(Integer growth) {\n        this.growth = growth;\n    }\n\n    public Integer getIntergration() {\n        return intergration;\n    }\n\n    public void setIntergration(Integer intergration) {\n        this.intergration = intergration;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", growth=\").append(growth);\n        sb.append(\", intergration=\").append(intergration);\n        sb.append(\", type=\").append(type);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTaskExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsMemberTaskExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMemberTaskExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIsNull() {\n            addCriterion(\"growth is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIsNotNull() {\n            addCriterion(\"growth is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthEqualTo(Integer value) {\n            addCriterion(\"growth =\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotEqualTo(Integer value) {\n            addCriterion(\"growth <>\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthGreaterThan(Integer value) {\n            addCriterion(\"growth >\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"growth >=\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthLessThan(Integer value) {\n            addCriterion(\"growth <\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthLessThanOrEqualTo(Integer value) {\n            addCriterion(\"growth <=\", value, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthIn(List<Integer> values) {\n            addCriterion(\"growth in\", values, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotIn(List<Integer> values) {\n            addCriterion(\"growth not in\", values, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth between\", value1, value2, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andGrowthNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"growth not between\", value1, value2, \"growth\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationIsNull() {\n            addCriterion(\"intergration is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationIsNotNull() {\n            addCriterion(\"intergration is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationEqualTo(Integer value) {\n            addCriterion(\"intergration =\", value, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationNotEqualTo(Integer value) {\n            addCriterion(\"intergration <>\", value, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationGreaterThan(Integer value) {\n            addCriterion(\"intergration >\", value, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"intergration >=\", value, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationLessThan(Integer value) {\n            addCriterion(\"intergration <\", value, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationLessThanOrEqualTo(Integer value) {\n            addCriterion(\"intergration <=\", value, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationIn(List<Integer> values) {\n            addCriterion(\"intergration in\", values, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationNotIn(List<Integer> values) {\n            addCriterion(\"intergration not in\", values, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationBetween(Integer value1, Integer value2) {\n            addCriterion(\"intergration between\", value1, value2, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIntergrationNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"intergration not between\", value1, value2, \"intergration\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMenu.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsMenu implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"父级ID\")\n    private Long parentId;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"菜单名称\")\n    private String title;\n\n    @ApiModelProperty(value = \"菜单级数\")\n    private Integer level;\n\n    @ApiModelProperty(value = \"菜单排序\")\n    private Integer sort;\n\n    @ApiModelProperty(value = \"前端名称\")\n    private String name;\n\n    @ApiModelProperty(value = \"前端图标\")\n    private String icon;\n\n    @ApiModelProperty(value = \"前端隐藏\")\n    private Integer hidden;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getParentId() {\n        return parentId;\n    }\n\n    public void setParentId(Long parentId) {\n        this.parentId = parentId;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getTitle() {\n        return title;\n    }\n\n    public void setTitle(String title) {\n        this.title = title;\n    }\n\n    public Integer getLevel() {\n        return level;\n    }\n\n    public void setLevel(Integer level) {\n        this.level = level;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public Integer getHidden() {\n        return hidden;\n    }\n\n    public void setHidden(Integer hidden) {\n        this.hidden = hidden;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", parentId=\").append(parentId);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", title=\").append(title);\n        sb.append(\", level=\").append(level);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", name=\").append(name);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", hidden=\").append(hidden);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsMenuExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsMenuExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsMenuExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdIsNull() {\n            addCriterion(\"parent_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdIsNotNull() {\n            addCriterion(\"parent_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdEqualTo(Long value) {\n            addCriterion(\"parent_id =\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdNotEqualTo(Long value) {\n            addCriterion(\"parent_id <>\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdGreaterThan(Long value) {\n            addCriterion(\"parent_id >\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"parent_id >=\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdLessThan(Long value) {\n            addCriterion(\"parent_id <\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"parent_id <=\", value, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdIn(List<Long> values) {\n            addCriterion(\"parent_id in\", values, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdNotIn(List<Long> values) {\n            addCriterion(\"parent_id not in\", values, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdBetween(Long value1, Long value2) {\n            addCriterion(\"parent_id between\", value1, value2, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andParentIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"parent_id not between\", value1, value2, \"parentId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNull() {\n            addCriterion(\"title is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIsNotNull() {\n            addCriterion(\"title is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleEqualTo(String value) {\n            addCriterion(\"title =\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotEqualTo(String value) {\n            addCriterion(\"title <>\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThan(String value) {\n            addCriterion(\"title >\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleGreaterThanOrEqualTo(String value) {\n            addCriterion(\"title >=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThan(String value) {\n            addCriterion(\"title <\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLessThanOrEqualTo(String value) {\n            addCriterion(\"title <=\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleLike(String value) {\n            addCriterion(\"title like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotLike(String value) {\n            addCriterion(\"title not like\", value, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleIn(List<String> values) {\n            addCriterion(\"title in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotIn(List<String> values) {\n            addCriterion(\"title not in\", values, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleBetween(String value1, String value2) {\n            addCriterion(\"title between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTitleNotBetween(String value1, String value2) {\n            addCriterion(\"title not between\", value1, value2, \"title\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelIsNull() {\n            addCriterion(\"level is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelIsNotNull() {\n            addCriterion(\"level is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelEqualTo(Integer value) {\n            addCriterion(\"level =\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelNotEqualTo(Integer value) {\n            addCriterion(\"level <>\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelGreaterThan(Integer value) {\n            addCriterion(\"level >\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"level >=\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelLessThan(Integer value) {\n            addCriterion(\"level <\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelLessThanOrEqualTo(Integer value) {\n            addCriterion(\"level <=\", value, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelIn(List<Integer> values) {\n            addCriterion(\"level in\", values, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelNotIn(List<Integer> values) {\n            addCriterion(\"level not in\", values, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelBetween(Integer value1, Integer value2) {\n            addCriterion(\"level between\", value1, value2, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andLevelNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"level not between\", value1, value2, \"level\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenIsNull() {\n            addCriterion(\"hidden is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenIsNotNull() {\n            addCriterion(\"hidden is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenEqualTo(Integer value) {\n            addCriterion(\"hidden =\", value, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenNotEqualTo(Integer value) {\n            addCriterion(\"hidden <>\", value, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenGreaterThan(Integer value) {\n            addCriterion(\"hidden >\", value, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"hidden >=\", value, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenLessThan(Integer value) {\n            addCriterion(\"hidden <\", value, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenLessThanOrEqualTo(Integer value) {\n            addCriterion(\"hidden <=\", value, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenIn(List<Integer> values) {\n            addCriterion(\"hidden in\", values, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenNotIn(List<Integer> values) {\n            addCriterion(\"hidden not in\", values, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenBetween(Integer value1, Integer value2) {\n            addCriterion(\"hidden between\", value1, value2, \"hidden\");\n            return (Criteria) this;\n        }\n\n        public Criteria andHiddenNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"hidden not between\", value1, value2, \"hidden\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsPermission.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsPermission implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"父级权限id\")\n    private Long pid;\n\n    @ApiModelProperty(value = \"名称\")\n    private String name;\n\n    @ApiModelProperty(value = \"权限值\")\n    private String value;\n\n    @ApiModelProperty(value = \"图标\")\n    private String icon;\n\n    @ApiModelProperty(value = \"权限类型：0->目录；1->菜单；2->按钮（接口绑定权限）\")\n    private Integer type;\n\n    @ApiModelProperty(value = \"前端资源路径\")\n    private String uri;\n\n    @ApiModelProperty(value = \"启用状态；0->禁用；1->启用\")\n    private Integer status;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"排序\")\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getPid() {\n        return pid;\n    }\n\n    public void setPid(Long pid) {\n        this.pid = pid;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getValue() {\n        return value;\n    }\n\n    public void setValue(String value) {\n        this.value = value;\n    }\n\n    public String getIcon() {\n        return icon;\n    }\n\n    public void setIcon(String icon) {\n        this.icon = icon;\n    }\n\n    public Integer getType() {\n        return type;\n    }\n\n    public void setType(Integer type) {\n        this.type = type;\n    }\n\n    public String getUri() {\n        return uri;\n    }\n\n    public void setUri(String uri) {\n        this.uri = uri;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", pid=\").append(pid);\n        sb.append(\", name=\").append(name);\n        sb.append(\", value=\").append(value);\n        sb.append(\", icon=\").append(icon);\n        sb.append(\", type=\").append(type);\n        sb.append(\", uri=\").append(uri);\n        sb.append(\", status=\").append(status);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsPermissionExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsPermissionExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsPermissionExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidIsNull() {\n            addCriterion(\"pid is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidIsNotNull() {\n            addCriterion(\"pid is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidEqualTo(Long value) {\n            addCriterion(\"pid =\", value, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidNotEqualTo(Long value) {\n            addCriterion(\"pid <>\", value, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidGreaterThan(Long value) {\n            addCriterion(\"pid >\", value, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"pid >=\", value, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidLessThan(Long value) {\n            addCriterion(\"pid <\", value, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidLessThanOrEqualTo(Long value) {\n            addCriterion(\"pid <=\", value, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidIn(List<Long> values) {\n            addCriterion(\"pid in\", values, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidNotIn(List<Long> values) {\n            addCriterion(\"pid not in\", values, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidBetween(Long value1, Long value2) {\n            addCriterion(\"pid between\", value1, value2, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPidNotBetween(Long value1, Long value2) {\n            addCriterion(\"pid not between\", value1, value2, \"pid\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueIsNull() {\n            addCriterion(\"value is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueIsNotNull() {\n            addCriterion(\"value is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueEqualTo(String value) {\n            addCriterion(\"value =\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotEqualTo(String value) {\n            addCriterion(\"value <>\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueGreaterThan(String value) {\n            addCriterion(\"value >\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueGreaterThanOrEqualTo(String value) {\n            addCriterion(\"value >=\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueLessThan(String value) {\n            addCriterion(\"value <\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueLessThanOrEqualTo(String value) {\n            addCriterion(\"value <=\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueLike(String value) {\n            addCriterion(\"value like\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotLike(String value) {\n            addCriterion(\"value not like\", value, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueIn(List<String> values) {\n            addCriterion(\"value in\", values, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotIn(List<String> values) {\n            addCriterion(\"value not in\", values, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueBetween(String value1, String value2) {\n            addCriterion(\"value between\", value1, value2, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andValueNotBetween(String value1, String value2) {\n            addCriterion(\"value not between\", value1, value2, \"value\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNull() {\n            addCriterion(\"icon is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIsNotNull() {\n            addCriterion(\"icon is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconEqualTo(String value) {\n            addCriterion(\"icon =\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotEqualTo(String value) {\n            addCriterion(\"icon <>\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThan(String value) {\n            addCriterion(\"icon >\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconGreaterThanOrEqualTo(String value) {\n            addCriterion(\"icon >=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThan(String value) {\n            addCriterion(\"icon <\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLessThanOrEqualTo(String value) {\n            addCriterion(\"icon <=\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconLike(String value) {\n            addCriterion(\"icon like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotLike(String value) {\n            addCriterion(\"icon not like\", value, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconIn(List<String> values) {\n            addCriterion(\"icon in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotIn(List<String> values) {\n            addCriterion(\"icon not in\", values, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconBetween(String value1, String value2) {\n            addCriterion(\"icon between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIconNotBetween(String value1, String value2) {\n            addCriterion(\"icon not between\", value1, value2, \"icon\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNull() {\n            addCriterion(\"type is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIsNotNull() {\n            addCriterion(\"type is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeEqualTo(Integer value) {\n            addCriterion(\"type =\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotEqualTo(Integer value) {\n            addCriterion(\"type <>\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThan(Integer value) {\n            addCriterion(\"type >\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"type >=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThan(Integer value) {\n            addCriterion(\"type <\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeLessThanOrEqualTo(Integer value) {\n            addCriterion(\"type <=\", value, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeIn(List<Integer> values) {\n            addCriterion(\"type in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotIn(List<Integer> values) {\n            addCriterion(\"type not in\", values, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeBetween(Integer value1, Integer value2) {\n            addCriterion(\"type between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andTypeNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"type not between\", value1, value2, \"type\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriIsNull() {\n            addCriterion(\"uri is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriIsNotNull() {\n            addCriterion(\"uri is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriEqualTo(String value) {\n            addCriterion(\"uri =\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriNotEqualTo(String value) {\n            addCriterion(\"uri <>\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriGreaterThan(String value) {\n            addCriterion(\"uri >\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriGreaterThanOrEqualTo(String value) {\n            addCriterion(\"uri >=\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriLessThan(String value) {\n            addCriterion(\"uri <\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriLessThanOrEqualTo(String value) {\n            addCriterion(\"uri <=\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriLike(String value) {\n            addCriterion(\"uri like\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriNotLike(String value) {\n            addCriterion(\"uri not like\", value, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriIn(List<String> values) {\n            addCriterion(\"uri in\", values, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriNotIn(List<String> values) {\n            addCriterion(\"uri not in\", values, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriBetween(String value1, String value2) {\n            addCriterion(\"uri between\", value1, value2, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUriNotBetween(String value1, String value2) {\n            addCriterion(\"uri not between\", value1, value2, \"uri\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsResource.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsResource implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"资源名称\")\n    private String name;\n\n    @ApiModelProperty(value = \"资源URL\")\n    private String url;\n\n    @ApiModelProperty(value = \"描述\")\n    private String description;\n\n    @ApiModelProperty(value = \"资源分类ID\")\n    private Long categoryId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getUrl() {\n        return url;\n    }\n\n    public void setUrl(String url) {\n        this.url = url;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public Long getCategoryId() {\n        return categoryId;\n    }\n\n    public void setCategoryId(Long categoryId) {\n        this.categoryId = categoryId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", name=\").append(name);\n        sb.append(\", url=\").append(url);\n        sb.append(\", description=\").append(description);\n        sb.append(\", categoryId=\").append(categoryId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsResourceCategory.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsResourceCategory implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"分类名称\")\n    private String name;\n\n    @ApiModelProperty(value = \"排序\")\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", name=\").append(name);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsResourceCategoryExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsResourceCategoryExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsResourceCategoryExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsResourceExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsResourceExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsResourceExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlIsNull() {\n            addCriterion(\"url is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlIsNotNull() {\n            addCriterion(\"url is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlEqualTo(String value) {\n            addCriterion(\"url =\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotEqualTo(String value) {\n            addCriterion(\"url <>\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlGreaterThan(String value) {\n            addCriterion(\"url >\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlGreaterThanOrEqualTo(String value) {\n            addCriterion(\"url >=\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlLessThan(String value) {\n            addCriterion(\"url <\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlLessThanOrEqualTo(String value) {\n            addCriterion(\"url <=\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlLike(String value) {\n            addCriterion(\"url like\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotLike(String value) {\n            addCriterion(\"url not like\", value, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlIn(List<String> values) {\n            addCriterion(\"url in\", values, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotIn(List<String> values) {\n            addCriterion(\"url not in\", values, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlBetween(String value1, String value2) {\n            addCriterion(\"url between\", value1, value2, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andUrlNotBetween(String value1, String value2) {\n            addCriterion(\"url not between\", value1, value2, \"url\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNull() {\n            addCriterion(\"description is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNotNull() {\n            addCriterion(\"description is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionEqualTo(String value) {\n            addCriterion(\"description =\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotEqualTo(String value) {\n            addCriterion(\"description <>\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThan(String value) {\n            addCriterion(\"description >\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"description >=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThan(String value) {\n            addCriterion(\"description <\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThanOrEqualTo(String value) {\n            addCriterion(\"description <=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLike(String value) {\n            addCriterion(\"description like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotLike(String value) {\n            addCriterion(\"description not like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIn(List<String> values) {\n            addCriterion(\"description in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotIn(List<String> values) {\n            addCriterion(\"description not in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionBetween(String value1, String value2) {\n            addCriterion(\"description between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotBetween(String value1, String value2) {\n            addCriterion(\"description not between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNull() {\n            addCriterion(\"category_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIsNotNull() {\n            addCriterion(\"category_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdEqualTo(Long value) {\n            addCriterion(\"category_id =\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotEqualTo(Long value) {\n            addCriterion(\"category_id <>\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThan(Long value) {\n            addCriterion(\"category_id >\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"category_id >=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThan(Long value) {\n            addCriterion(\"category_id <\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"category_id <=\", value, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdIn(List<Long> values) {\n            addCriterion(\"category_id in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotIn(List<Long> values) {\n            addCriterion(\"category_id not in\", values, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdBetween(Long value1, Long value2) {\n            addCriterion(\"category_id between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCategoryIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"category_id not between\", value1, value2, \"categoryId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRole.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n\npublic class UmsRole implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"名称\")\n    private String name;\n\n    @ApiModelProperty(value = \"描述\")\n    private String description;\n\n    @ApiModelProperty(value = \"后台用户数量\")\n    private Integer adminCount;\n\n    @ApiModelProperty(value = \"创建时间\")\n    private Date createTime;\n\n    @ApiModelProperty(value = \"启用状态：0->禁用；1->启用\")\n    private Integer status;\n\n    private Integer sort;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public Integer getAdminCount() {\n        return adminCount;\n    }\n\n    public void setAdminCount(Integer adminCount) {\n        this.adminCount = adminCount;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    public Integer getSort() {\n        return sort;\n    }\n\n    public void setSort(Integer sort) {\n        this.sort = sort;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", name=\").append(name);\n        sb.append(\", description=\").append(description);\n        sb.append(\", adminCount=\").append(adminCount);\n        sb.append(\", createTime=\").append(createTime);\n        sb.append(\", status=\").append(status);\n        sb.append(\", sort=\").append(sort);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRoleExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class UmsRoleExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsRoleExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNull() {\n            addCriterion(\"name is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIsNotNull() {\n            addCriterion(\"name is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameEqualTo(String value) {\n            addCriterion(\"name =\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotEqualTo(String value) {\n            addCriterion(\"name <>\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThan(String value) {\n            addCriterion(\"name >\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameGreaterThanOrEqualTo(String value) {\n            addCriterion(\"name >=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThan(String value) {\n            addCriterion(\"name <\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLessThanOrEqualTo(String value) {\n            addCriterion(\"name <=\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameLike(String value) {\n            addCriterion(\"name like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotLike(String value) {\n            addCriterion(\"name not like\", value, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameIn(List<String> values) {\n            addCriterion(\"name in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotIn(List<String> values) {\n            addCriterion(\"name not in\", values, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameBetween(String value1, String value2) {\n            addCriterion(\"name between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andNameNotBetween(String value1, String value2) {\n            addCriterion(\"name not between\", value1, value2, \"name\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNull() {\n            addCriterion(\"description is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIsNotNull() {\n            addCriterion(\"description is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionEqualTo(String value) {\n            addCriterion(\"description =\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotEqualTo(String value) {\n            addCriterion(\"description <>\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThan(String value) {\n            addCriterion(\"description >\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {\n            addCriterion(\"description >=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThan(String value) {\n            addCriterion(\"description <\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLessThanOrEqualTo(String value) {\n            addCriterion(\"description <=\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionLike(String value) {\n            addCriterion(\"description like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotLike(String value) {\n            addCriterion(\"description not like\", value, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionIn(List<String> values) {\n            addCriterion(\"description in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotIn(List<String> values) {\n            addCriterion(\"description not in\", values, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionBetween(String value1, String value2) {\n            addCriterion(\"description between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andDescriptionNotBetween(String value1, String value2) {\n            addCriterion(\"description not between\", value1, value2, \"description\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountIsNull() {\n            addCriterion(\"admin_count is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountIsNotNull() {\n            addCriterion(\"admin_count is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountEqualTo(Integer value) {\n            addCriterion(\"admin_count =\", value, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountNotEqualTo(Integer value) {\n            addCriterion(\"admin_count <>\", value, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountGreaterThan(Integer value) {\n            addCriterion(\"admin_count >\", value, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"admin_count >=\", value, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountLessThan(Integer value) {\n            addCriterion(\"admin_count <\", value, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountLessThanOrEqualTo(Integer value) {\n            addCriterion(\"admin_count <=\", value, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountIn(List<Integer> values) {\n            addCriterion(\"admin_count in\", values, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountNotIn(List<Integer> values) {\n            addCriterion(\"admin_count not in\", values, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountBetween(Integer value1, Integer value2) {\n            addCriterion(\"admin_count between\", value1, value2, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andAdminCountNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"admin_count not between\", value1, value2, \"adminCount\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNull() {\n            addCriterion(\"create_time is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIsNotNull() {\n            addCriterion(\"create_time is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeEqualTo(Date value) {\n            addCriterion(\"create_time =\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotEqualTo(Date value) {\n            addCriterion(\"create_time <>\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThan(Date value) {\n            addCriterion(\"create_time >\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {\n            addCriterion(\"create_time >=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThan(Date value) {\n            addCriterion(\"create_time <\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {\n            addCriterion(\"create_time <=\", value, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeIn(List<Date> values) {\n            addCriterion(\"create_time in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotIn(List<Date> values) {\n            addCriterion(\"create_time not in\", values, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeBetween(Date value1, Date value2) {\n            addCriterion(\"create_time between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {\n            addCriterion(\"create_time not between\", value1, value2, \"createTime\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNull() {\n            addCriterion(\"status is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIsNotNull() {\n            addCriterion(\"status is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusEqualTo(Integer value) {\n            addCriterion(\"status =\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotEqualTo(Integer value) {\n            addCriterion(\"status <>\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThan(Integer value) {\n            addCriterion(\"status >\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"status >=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThan(Integer value) {\n            addCriterion(\"status <\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusLessThanOrEqualTo(Integer value) {\n            addCriterion(\"status <=\", value, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusIn(List<Integer> values) {\n            addCriterion(\"status in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotIn(List<Integer> values) {\n            addCriterion(\"status not in\", values, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusBetween(Integer value1, Integer value2) {\n            addCriterion(\"status between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andStatusNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"status not between\", value1, value2, \"status\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNull() {\n            addCriterion(\"sort is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIsNotNull() {\n            addCriterion(\"sort is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortEqualTo(Integer value) {\n            addCriterion(\"sort =\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotEqualTo(Integer value) {\n            addCriterion(\"sort <>\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThan(Integer value) {\n            addCriterion(\"sort >\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortGreaterThanOrEqualTo(Integer value) {\n            addCriterion(\"sort >=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThan(Integer value) {\n            addCriterion(\"sort <\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortLessThanOrEqualTo(Integer value) {\n            addCriterion(\"sort <=\", value, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortIn(List<Integer> values) {\n            addCriterion(\"sort in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotIn(List<Integer> values) {\n            addCriterion(\"sort not in\", values, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n\n        public Criteria andSortNotBetween(Integer value1, Integer value2) {\n            addCriterion(\"sort not between\", value1, value2, \"sort\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRoleMenuRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsRoleMenuRelation implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"角色ID\")\n    private Long roleId;\n\n    @ApiModelProperty(value = \"菜单ID\")\n    private Long menuId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getRoleId() {\n        return roleId;\n    }\n\n    public void setRoleId(Long roleId) {\n        this.roleId = roleId;\n    }\n\n    public Long getMenuId() {\n        return menuId;\n    }\n\n    public void setMenuId(Long menuId) {\n        this.menuId = menuId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", roleId=\").append(roleId);\n        sb.append(\", menuId=\").append(menuId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRoleMenuRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsRoleMenuRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsRoleMenuRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNull() {\n            addCriterion(\"role_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNotNull() {\n            addCriterion(\"role_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdEqualTo(Long value) {\n            addCriterion(\"role_id =\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotEqualTo(Long value) {\n            addCriterion(\"role_id <>\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThan(Long value) {\n            addCriterion(\"role_id >\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"role_id >=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThan(Long value) {\n            addCriterion(\"role_id <\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"role_id <=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIn(List<Long> values) {\n            addCriterion(\"role_id in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotIn(List<Long> values) {\n            addCriterion(\"role_id not in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdBetween(Long value1, Long value2) {\n            addCriterion(\"role_id between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"role_id not between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdIsNull() {\n            addCriterion(\"menu_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdIsNotNull() {\n            addCriterion(\"menu_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdEqualTo(Long value) {\n            addCriterion(\"menu_id =\", value, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdNotEqualTo(Long value) {\n            addCriterion(\"menu_id <>\", value, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdGreaterThan(Long value) {\n            addCriterion(\"menu_id >\", value, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"menu_id >=\", value, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdLessThan(Long value) {\n            addCriterion(\"menu_id <\", value, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"menu_id <=\", value, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdIn(List<Long> values) {\n            addCriterion(\"menu_id in\", values, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdNotIn(List<Long> values) {\n            addCriterion(\"menu_id not in\", values, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdBetween(Long value1, Long value2) {\n            addCriterion(\"menu_id between\", value1, value2, \"menuId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andMenuIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"menu_id not between\", value1, value2, \"menuId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRolePermissionRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsRolePermissionRelation implements Serializable {\n    private Long id;\n\n    private Long roleId;\n\n    private Long permissionId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getRoleId() {\n        return roleId;\n    }\n\n    public void setRoleId(Long roleId) {\n        this.roleId = roleId;\n    }\n\n    public Long getPermissionId() {\n        return permissionId;\n    }\n\n    public void setPermissionId(Long permissionId) {\n        this.permissionId = permissionId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", roleId=\").append(roleId);\n        sb.append(\", permissionId=\").append(permissionId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRolePermissionRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsRolePermissionRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsRolePermissionRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNull() {\n            addCriterion(\"role_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNotNull() {\n            addCriterion(\"role_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdEqualTo(Long value) {\n            addCriterion(\"role_id =\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotEqualTo(Long value) {\n            addCriterion(\"role_id <>\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThan(Long value) {\n            addCriterion(\"role_id >\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"role_id >=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThan(Long value) {\n            addCriterion(\"role_id <\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"role_id <=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIn(List<Long> values) {\n            addCriterion(\"role_id in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotIn(List<Long> values) {\n            addCriterion(\"role_id not in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdBetween(Long value1, Long value2) {\n            addCriterion(\"role_id between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"role_id not between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdIsNull() {\n            addCriterion(\"permission_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdIsNotNull() {\n            addCriterion(\"permission_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdEqualTo(Long value) {\n            addCriterion(\"permission_id =\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdNotEqualTo(Long value) {\n            addCriterion(\"permission_id <>\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdGreaterThan(Long value) {\n            addCriterion(\"permission_id >\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"permission_id >=\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdLessThan(Long value) {\n            addCriterion(\"permission_id <\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"permission_id <=\", value, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdIn(List<Long> values) {\n            addCriterion(\"permission_id in\", values, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdNotIn(List<Long> values) {\n            addCriterion(\"permission_id not in\", values, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdBetween(Long value1, Long value2) {\n            addCriterion(\"permission_id between\", value1, value2, \"permissionId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andPermissionIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"permission_id not between\", value1, value2, \"permissionId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRoleResourceRelation.java",
    "content": "package com.macro.mall.model;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\n\npublic class UmsRoleResourceRelation implements Serializable {\n    private Long id;\n\n    @ApiModelProperty(value = \"角色ID\")\n    private Long roleId;\n\n    @ApiModelProperty(value = \"资源ID\")\n    private Long resourceId;\n\n    private static final long serialVersionUID = 1L;\n\n    public Long getId() {\n        return id;\n    }\n\n    public void setId(Long id) {\n        this.id = id;\n    }\n\n    public Long getRoleId() {\n        return roleId;\n    }\n\n    public void setRoleId(Long roleId) {\n        this.roleId = roleId;\n    }\n\n    public Long getResourceId() {\n        return resourceId;\n    }\n\n    public void setResourceId(Long resourceId) {\n        this.resourceId = resourceId;\n    }\n\n    @Override\n    public String toString() {\n        StringBuilder sb = new StringBuilder();\n        sb.append(getClass().getSimpleName());\n        sb.append(\" [\");\n        sb.append(\"Hash = \").append(hashCode());\n        sb.append(\", id=\").append(id);\n        sb.append(\", roleId=\").append(roleId);\n        sb.append(\", resourceId=\").append(resourceId);\n        sb.append(\", serialVersionUID=\").append(serialVersionUID);\n        sb.append(\"]\");\n        return sb.toString();\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/java/com/macro/mall/model/UmsRoleResourceRelationExample.java",
    "content": "package com.macro.mall.model;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class UmsRoleResourceRelationExample {\n    protected String orderByClause;\n\n    protected boolean distinct;\n\n    protected List<Criteria> oredCriteria;\n\n    public UmsRoleResourceRelationExample() {\n        oredCriteria = new ArrayList<>();\n    }\n\n    public void setOrderByClause(String orderByClause) {\n        this.orderByClause = orderByClause;\n    }\n\n    public String getOrderByClause() {\n        return orderByClause;\n    }\n\n    public void setDistinct(boolean distinct) {\n        this.distinct = distinct;\n    }\n\n    public boolean isDistinct() {\n        return distinct;\n    }\n\n    public List<Criteria> getOredCriteria() {\n        return oredCriteria;\n    }\n\n    public void or(Criteria criteria) {\n        oredCriteria.add(criteria);\n    }\n\n    public Criteria or() {\n        Criteria criteria = createCriteriaInternal();\n        oredCriteria.add(criteria);\n        return criteria;\n    }\n\n    public Criteria createCriteria() {\n        Criteria criteria = createCriteriaInternal();\n        if (oredCriteria.size() == 0) {\n            oredCriteria.add(criteria);\n        }\n        return criteria;\n    }\n\n    protected Criteria createCriteriaInternal() {\n        Criteria criteria = new Criteria();\n        return criteria;\n    }\n\n    public void clear() {\n        oredCriteria.clear();\n        orderByClause = null;\n        distinct = false;\n    }\n\n    protected abstract static class GeneratedCriteria {\n        protected List<Criterion> criteria;\n\n        protected GeneratedCriteria() {\n            super();\n            criteria = new ArrayList<>();\n        }\n\n        public boolean isValid() {\n            return criteria.size() > 0;\n        }\n\n        public List<Criterion> getAllCriteria() {\n            return criteria;\n        }\n\n        public List<Criterion> getCriteria() {\n            return criteria;\n        }\n\n        protected void addCriterion(String condition) {\n            if (condition == null) {\n                throw new RuntimeException(\"Value for condition cannot be null\");\n            }\n            criteria.add(new Criterion(condition));\n        }\n\n        protected void addCriterion(String condition, Object value, String property) {\n            if (value == null) {\n                throw new RuntimeException(\"Value for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value));\n        }\n\n        protected void addCriterion(String condition, Object value1, Object value2, String property) {\n            if (value1 == null || value2 == null) {\n                throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");\n            }\n            criteria.add(new Criterion(condition, value1, value2));\n        }\n\n        public Criteria andIdIsNull() {\n            addCriterion(\"id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIsNotNull() {\n            addCriterion(\"id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdEqualTo(Long value) {\n            addCriterion(\"id =\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotEqualTo(Long value) {\n            addCriterion(\"id <>\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThan(Long value) {\n            addCriterion(\"id >\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"id >=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThan(Long value) {\n            addCriterion(\"id <\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"id <=\", value, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdIn(List<Long> values) {\n            addCriterion(\"id in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotIn(List<Long> values) {\n            addCriterion(\"id not in\", values, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdBetween(Long value1, Long value2) {\n            addCriterion(\"id between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"id not between\", value1, value2, \"id\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNull() {\n            addCriterion(\"role_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIsNotNull() {\n            addCriterion(\"role_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdEqualTo(Long value) {\n            addCriterion(\"role_id =\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotEqualTo(Long value) {\n            addCriterion(\"role_id <>\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThan(Long value) {\n            addCriterion(\"role_id >\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"role_id >=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThan(Long value) {\n            addCriterion(\"role_id <\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"role_id <=\", value, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdIn(List<Long> values) {\n            addCriterion(\"role_id in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotIn(List<Long> values) {\n            addCriterion(\"role_id not in\", values, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdBetween(Long value1, Long value2) {\n            addCriterion(\"role_id between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andRoleIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"role_id not between\", value1, value2, \"roleId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdIsNull() {\n            addCriterion(\"resource_id is null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdIsNotNull() {\n            addCriterion(\"resource_id is not null\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdEqualTo(Long value) {\n            addCriterion(\"resource_id =\", value, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdNotEqualTo(Long value) {\n            addCriterion(\"resource_id <>\", value, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdGreaterThan(Long value) {\n            addCriterion(\"resource_id >\", value, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdGreaterThanOrEqualTo(Long value) {\n            addCriterion(\"resource_id >=\", value, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdLessThan(Long value) {\n            addCriterion(\"resource_id <\", value, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdLessThanOrEqualTo(Long value) {\n            addCriterion(\"resource_id <=\", value, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdIn(List<Long> values) {\n            addCriterion(\"resource_id in\", values, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdNotIn(List<Long> values) {\n            addCriterion(\"resource_id not in\", values, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdBetween(Long value1, Long value2) {\n            addCriterion(\"resource_id between\", value1, value2, \"resourceId\");\n            return (Criteria) this;\n        }\n\n        public Criteria andResourceIdNotBetween(Long value1, Long value2) {\n            addCriterion(\"resource_id not between\", value1, value2, \"resourceId\");\n            return (Criteria) this;\n        }\n    }\n\n    public static class Criteria extends GeneratedCriteria {\n        protected Criteria() {\n            super();\n        }\n    }\n\n    public static class Criterion {\n        private String condition;\n\n        private Object value;\n\n        private Object secondValue;\n\n        private boolean noValue;\n\n        private boolean singleValue;\n\n        private boolean betweenValue;\n\n        private boolean listValue;\n\n        private String typeHandler;\n\n        public String getCondition() {\n            return condition;\n        }\n\n        public Object getValue() {\n            return value;\n        }\n\n        public Object getSecondValue() {\n            return secondValue;\n        }\n\n        public boolean isNoValue() {\n            return noValue;\n        }\n\n        public boolean isSingleValue() {\n            return singleValue;\n        }\n\n        public boolean isBetweenValue() {\n            return betweenValue;\n        }\n\n        public boolean isListValue() {\n            return listValue;\n        }\n\n        public String getTypeHandler() {\n            return typeHandler;\n        }\n\n        protected Criterion(String condition) {\n            super();\n            this.condition = condition;\n            this.typeHandler = null;\n            this.noValue = true;\n        }\n\n        protected Criterion(String condition, Object value, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.typeHandler = typeHandler;\n            if (value instanceof List<?>) {\n                this.listValue = true;\n            } else {\n                this.singleValue = true;\n            }\n        }\n\n        protected Criterion(String condition, Object value) {\n            this(condition, value, null);\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {\n            super();\n            this.condition = condition;\n            this.value = value;\n            this.secondValue = secondValue;\n            this.typeHandler = typeHandler;\n            this.betweenValue = true;\n        }\n\n        protected Criterion(String condition, Object value, Object secondValue) {\n            this(condition, value, secondValue, null);\n        }\n    }\n}"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsHelpCategoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsHelpCategoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsHelpCategory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"help_count\" jdbcType=\"INTEGER\" property=\"helpCount\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, icon, help_count, show_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsHelpCategoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_help_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_help_category\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_help_category\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsHelpCategoryExample\">\n    delete from cms_help_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsHelpCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_help_category (name, icon, help_count, \n      show_status, sort)\n    values (#{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{helpCount,jdbcType=INTEGER}, \n      #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsHelpCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_help_category\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"helpCount != null\">\n        help_count,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"helpCount != null\">\n        #{helpCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsHelpCategoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_help_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_help_category\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.helpCount != null\">\n        help_count = #{record.helpCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_help_category\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      help_count = #{record.helpCount,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsHelpCategory\">\n    update cms_help_category\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"helpCount != null\">\n        help_count = #{helpCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsHelpCategory\">\n    update cms_help_category\n    set name = #{name,jdbcType=VARCHAR},\n      icon = #{icon,jdbcType=VARCHAR},\n      help_count = #{helpCount,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsHelpMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsHelpMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsHelp\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"category_id\" jdbcType=\"BIGINT\" property=\"categoryId\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"title\" jdbcType=\"VARCHAR\" property=\"title\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"read_count\" jdbcType=\"INTEGER\" property=\"readCount\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.CmsHelp\">\n    <result column=\"content\" jdbcType=\"LONGVARCHAR\" property=\"content\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, category_id, icon, title, show_status, create_time, read_count\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    content\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.CmsHelpExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_help\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsHelpExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_help\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_help\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_help\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsHelpExample\">\n    delete from cms_help\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsHelp\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_help (category_id, icon, title, \n      show_status, create_time, read_count, \n      content)\n    values (#{categoryId,jdbcType=BIGINT}, #{icon,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, \n      #{showStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{readCount,jdbcType=INTEGER}, \n      #{content,jdbcType=LONGVARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsHelp\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_help\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"categoryId != null\">\n        category_id,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"title != null\">\n        title,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"readCount != null\">\n        read_count,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"categoryId != null\">\n        #{categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"title != null\">\n        #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"readCount != null\">\n        #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsHelpExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_help\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_help\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.categoryId != null\">\n        category_id = #{record.categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.title != null\">\n        title = #{record.title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.readCount != null\">\n        read_count = #{record.readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update cms_help\n    set id = #{record.id,jdbcType=BIGINT},\n      category_id = #{record.categoryId,jdbcType=BIGINT},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      title = #{record.title,jdbcType=VARCHAR},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      content = #{record.content,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_help\n    set id = #{record.id,jdbcType=BIGINT},\n      category_id = #{record.categoryId,jdbcType=BIGINT},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      title = #{record.title,jdbcType=VARCHAR},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      read_count = #{record.readCount,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsHelp\">\n    update cms_help\n    <set>\n      <if test=\"categoryId != null\">\n        category_id = #{categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"title != null\">\n        title = #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"readCount != null\">\n        read_count = #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.CmsHelp\">\n    update cms_help\n    set category_id = #{categoryId,jdbcType=BIGINT},\n      icon = #{icon,jdbcType=VARCHAR},\n      title = #{title,jdbcType=VARCHAR},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      read_count = #{readCount,jdbcType=INTEGER},\n      content = #{content,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsHelp\">\n    update cms_help\n    set category_id = #{categoryId,jdbcType=BIGINT},\n      icon = #{icon,jdbcType=VARCHAR},\n      title = #{title,jdbcType=VARCHAR},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      read_count = #{readCount,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsMemberReportMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsMemberReportMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsMemberReport\">\n    <result column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"report_type\" jdbcType=\"INTEGER\" property=\"reportType\" />\n    <result column=\"report_member_name\" jdbcType=\"VARCHAR\" property=\"reportMemberName\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"report_object\" jdbcType=\"VARCHAR\" property=\"reportObject\" />\n    <result column=\"report_status\" jdbcType=\"INTEGER\" property=\"reportStatus\" />\n    <result column=\"handle_status\" jdbcType=\"INTEGER\" property=\"handleStatus\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, report_type, report_member_name, create_time, report_object, report_status, handle_status, \n    note\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsMemberReportExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_member_report\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsMemberReportExample\">\n    delete from cms_member_report\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsMemberReport\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_member_report (report_type, report_member_name, create_time, \n      report_object, report_status, handle_status, \n      note)\n    values (#{reportType,jdbcType=INTEGER}, #{reportMemberName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, \n      #{reportObject,jdbcType=VARCHAR}, #{reportStatus,jdbcType=INTEGER}, #{handleStatus,jdbcType=INTEGER}, \n      #{note,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsMemberReport\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_member_report\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"reportType != null\">\n        report_type,\n      </if>\n      <if test=\"reportMemberName != null\">\n        report_member_name,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"reportObject != null\">\n        report_object,\n      </if>\n      <if test=\"reportStatus != null\">\n        report_status,\n      </if>\n      <if test=\"handleStatus != null\">\n        handle_status,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"reportType != null\">\n        #{reportType,jdbcType=INTEGER},\n      </if>\n      <if test=\"reportMemberName != null\">\n        #{reportMemberName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"reportObject != null\">\n        #{reportObject,jdbcType=VARCHAR},\n      </if>\n      <if test=\"reportStatus != null\">\n        #{reportStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"handleStatus != null\">\n        #{handleStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsMemberReportExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_member_report\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_member_report\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.reportType != null\">\n        report_type = #{record.reportType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.reportMemberName != null\">\n        report_member_name = #{record.reportMemberName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.reportObject != null\">\n        report_object = #{record.reportObject,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.reportStatus != null\">\n        report_status = #{record.reportStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.handleStatus != null\">\n        handle_status = #{record.handleStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_member_report\n    set id = #{record.id,jdbcType=BIGINT},\n      report_type = #{record.reportType,jdbcType=INTEGER},\n      report_member_name = #{record.reportMemberName,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      report_object = #{record.reportObject,jdbcType=VARCHAR},\n      report_status = #{record.reportStatus,jdbcType=INTEGER},\n      handle_status = #{record.handleStatus,jdbcType=INTEGER},\n      note = #{record.note,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsPrefrenceAreaMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsPrefrenceAreaMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsPrefrenceArea\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"sub_title\" jdbcType=\"VARCHAR\" property=\"subTitle\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.CmsPrefrenceArea\">\n    <result column=\"pic\" jdbcType=\"VARBINARY\" property=\"pic\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, sub_title, sort, show_status\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    pic\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_prefrence_area\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_prefrence_area\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_prefrence_area\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_prefrence_area\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaExample\">\n    delete from cms_prefrence_area\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsPrefrenceArea\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_prefrence_area (name, sub_title, sort, \n      show_status, pic)\n    values (#{name,jdbcType=VARCHAR}, #{subTitle,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, \n      #{showStatus,jdbcType=INTEGER}, #{pic,jdbcType=VARBINARY})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsPrefrenceArea\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_prefrence_area\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"subTitle != null\">\n        sub_title,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"pic != null\">\n        pic,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subTitle != null\">\n        #{subTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"pic != null\">\n        #{pic,jdbcType=VARBINARY},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_prefrence_area\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_prefrence_area\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.subTitle != null\">\n        sub_title = #{record.subTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.pic != null\">\n        pic = #{record.pic,jdbcType=VARBINARY},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update cms_prefrence_area\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      sub_title = #{record.subTitle,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      pic = #{record.pic,jdbcType=VARBINARY}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_prefrence_area\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      sub_title = #{record.subTitle,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsPrefrenceArea\">\n    update cms_prefrence_area\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subTitle != null\">\n        sub_title = #{subTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"pic != null\">\n        pic = #{pic,jdbcType=VARBINARY},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.CmsPrefrenceArea\">\n    update cms_prefrence_area\n    set name = #{name,jdbcType=VARCHAR},\n      sub_title = #{subTitle,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      pic = #{pic,jdbcType=VARBINARY}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsPrefrenceArea\">\n    update cms_prefrence_area\n    set name = #{name,jdbcType=VARCHAR},\n      sub_title = #{subTitle,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsPrefrenceAreaProductRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsPrefrenceAreaProductRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsPrefrenceAreaProductRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"prefrence_area_id\" jdbcType=\"BIGINT\" property=\"prefrenceAreaId\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, prefrence_area_id, product_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_prefrence_area_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_prefrence_area_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_prefrence_area_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelationExample\">\n    delete from cms_prefrence_area_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_prefrence_area_product_relation (prefrence_area_id, product_id)\n    values (#{prefrenceAreaId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_prefrence_area_product_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"prefrenceAreaId != null\">\n        prefrence_area_id,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"prefrenceAreaId != null\">\n        #{prefrenceAreaId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_prefrence_area_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_prefrence_area_product_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.prefrenceAreaId != null\">\n        prefrence_area_id = #{record.prefrenceAreaId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_prefrence_area_product_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      prefrence_area_id = #{record.prefrenceAreaId,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelation\">\n    update cms_prefrence_area_product_relation\n    <set>\n      <if test=\"prefrenceAreaId != null\">\n        prefrence_area_id = #{prefrenceAreaId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsPrefrenceAreaProductRelation\">\n    update cms_prefrence_area_product_relation\n    set prefrence_area_id = #{prefrenceAreaId,jdbcType=BIGINT},\n      product_id = #{productId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectCategoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsSubjectCategoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsSubjectCategory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"subject_count\" jdbcType=\"INTEGER\" property=\"subjectCount\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, icon, subject_count, show_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsSubjectCategoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_subject_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_subject_category\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_subject_category\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsSubjectCategoryExample\">\n    delete from cms_subject_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsSubjectCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject_category (name, icon, subject_count, \n      show_status, sort)\n    values (#{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{subjectCount,jdbcType=INTEGER}, \n      #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsSubjectCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject_category\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"subjectCount != null\">\n        subject_count,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subjectCount != null\">\n        #{subjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsSubjectCategoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_subject_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_subject_category\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.subjectCount != null\">\n        subject_count = #{record.subjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_subject_category\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      subject_count = #{record.subjectCount,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsSubjectCategory\">\n    update cms_subject_category\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subjectCount != null\">\n        subject_count = #{subjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsSubjectCategory\">\n    update cms_subject_category\n    set name = #{name,jdbcType=VARCHAR},\n      icon = #{icon,jdbcType=VARCHAR},\n      subject_count = #{subjectCount,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectCommentMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsSubjectCommentMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsSubjectComment\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"subject_id\" jdbcType=\"BIGINT\" property=\"subjectId\" />\n    <result column=\"member_nick_name\" jdbcType=\"VARCHAR\" property=\"memberNickName\" />\n    <result column=\"member_icon\" jdbcType=\"VARCHAR\" property=\"memberIcon\" />\n    <result column=\"content\" jdbcType=\"VARCHAR\" property=\"content\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, subject_id, member_nick_name, member_icon, content, create_time, show_status\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsSubjectCommentExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_subject_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_subject_comment\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_subject_comment\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsSubjectCommentExample\">\n    delete from cms_subject_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsSubjectComment\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject_comment (subject_id, member_nick_name, member_icon, \n      content, create_time, show_status\n      )\n    values (#{subjectId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, \n      #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsSubjectComment\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject_comment\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"subjectId != null\">\n        subject_id,\n      </if>\n      <if test=\"memberNickName != null\">\n        member_nick_name,\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"subjectId != null\">\n        #{subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberNickName != null\">\n        #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberIcon != null\">\n        #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsSubjectCommentExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_subject_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_subject_comment\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.subjectId != null\">\n        subject_id = #{record.subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberNickName != null\">\n        member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.memberIcon != null\">\n        member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_subject_comment\n    set id = #{record.id,jdbcType=BIGINT},\n      subject_id = #{record.subjectId,jdbcType=BIGINT},\n      member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      content = #{record.content,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      show_status = #{record.showStatus,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsSubjectComment\">\n    update cms_subject_comment\n    <set>\n      <if test=\"subjectId != null\">\n        subject_id = #{subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberNickName != null\">\n        member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon = #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsSubjectComment\">\n    update cms_subject_comment\n    set subject_id = #{subjectId,jdbcType=BIGINT},\n      member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      member_icon = #{memberIcon,jdbcType=VARCHAR},\n      content = #{content,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      show_status = #{showStatus,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsSubjectMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsSubject\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"category_id\" jdbcType=\"BIGINT\" property=\"categoryId\" />\n    <result column=\"title\" jdbcType=\"VARCHAR\" property=\"title\" />\n    <result column=\"pic\" jdbcType=\"VARCHAR\" property=\"pic\" />\n    <result column=\"product_count\" jdbcType=\"INTEGER\" property=\"productCount\" />\n    <result column=\"recommend_status\" jdbcType=\"INTEGER\" property=\"recommendStatus\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"collect_count\" jdbcType=\"INTEGER\" property=\"collectCount\" />\n    <result column=\"read_count\" jdbcType=\"INTEGER\" property=\"readCount\" />\n    <result column=\"comment_count\" jdbcType=\"INTEGER\" property=\"commentCount\" />\n    <result column=\"album_pics\" jdbcType=\"VARCHAR\" property=\"albumPics\" />\n    <result column=\"description\" jdbcType=\"VARCHAR\" property=\"description\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"forward_count\" jdbcType=\"INTEGER\" property=\"forwardCount\" />\n    <result column=\"category_name\" jdbcType=\"VARCHAR\" property=\"categoryName\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.CmsSubject\">\n    <result column=\"content\" jdbcType=\"LONGVARCHAR\" property=\"content\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, category_id, title, pic, product_count, recommend_status, create_time, collect_count, \n    read_count, comment_count, album_pics, description, show_status, forward_count, category_name\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    content\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.CmsSubjectExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsSubjectExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_subject\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_subject\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsSubjectExample\">\n    delete from cms_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsSubject\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject (category_id, title, pic, \n      product_count, recommend_status, create_time, \n      collect_count, read_count, comment_count, \n      album_pics, description, show_status, \n      forward_count, category_name, content\n      )\n    values (#{categoryId,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, \n      #{productCount,jdbcType=INTEGER}, #{recommendStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, \n      #{collectCount,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{commentCount,jdbcType=INTEGER}, \n      #{albumPics,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{showStatus,jdbcType=INTEGER}, \n      #{forwardCount,jdbcType=INTEGER}, #{categoryName,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsSubject\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"categoryId != null\">\n        category_id,\n      </if>\n      <if test=\"title != null\">\n        title,\n      </if>\n      <if test=\"pic != null\">\n        pic,\n      </if>\n      <if test=\"productCount != null\">\n        product_count,\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"collectCount != null\">\n        collect_count,\n      </if>\n      <if test=\"readCount != null\">\n        read_count,\n      </if>\n      <if test=\"commentCount != null\">\n        comment_count,\n      </if>\n      <if test=\"albumPics != null\">\n        album_pics,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"forwardCount != null\">\n        forward_count,\n      </if>\n      <if test=\"categoryName != null\">\n        category_name,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"categoryId != null\">\n        #{categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"title != null\">\n        #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"pic != null\">\n        #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCount != null\">\n        #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"recommendStatus != null\">\n        #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"collectCount != null\">\n        #{collectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"readCount != null\">\n        #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"commentCount != null\">\n        #{commentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"albumPics != null\">\n        #{albumPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"forwardCount != null\">\n        #{forwardCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"categoryName != null\">\n        #{categoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsSubjectExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_subject\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.categoryId != null\">\n        category_id = #{record.categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.title != null\">\n        title = #{record.title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.pic != null\">\n        pic = #{record.pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productCount != null\">\n        product_count = #{record.productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.recommendStatus != null\">\n        recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.collectCount != null\">\n        collect_count = #{record.collectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.readCount != null\">\n        read_count = #{record.readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.commentCount != null\">\n        comment_count = #{record.commentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.albumPics != null\">\n        album_pics = #{record.albumPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.forwardCount != null\">\n        forward_count = #{record.forwardCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.categoryName != null\">\n        category_name = #{record.categoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update cms_subject\n    set id = #{record.id,jdbcType=BIGINT},\n      category_id = #{record.categoryId,jdbcType=BIGINT},\n      title = #{record.title,jdbcType=VARCHAR},\n      pic = #{record.pic,jdbcType=VARCHAR},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      collect_count = #{record.collectCount,jdbcType=INTEGER},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      comment_count = #{record.commentCount,jdbcType=INTEGER},\n      album_pics = #{record.albumPics,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=VARCHAR},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      forward_count = #{record.forwardCount,jdbcType=INTEGER},\n      category_name = #{record.categoryName,jdbcType=VARCHAR},\n      content = #{record.content,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_subject\n    set id = #{record.id,jdbcType=BIGINT},\n      category_id = #{record.categoryId,jdbcType=BIGINT},\n      title = #{record.title,jdbcType=VARCHAR},\n      pic = #{record.pic,jdbcType=VARCHAR},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      collect_count = #{record.collectCount,jdbcType=INTEGER},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      comment_count = #{record.commentCount,jdbcType=INTEGER},\n      album_pics = #{record.albumPics,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=VARCHAR},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      forward_count = #{record.forwardCount,jdbcType=INTEGER},\n      category_name = #{record.categoryName,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsSubject\">\n    update cms_subject\n    <set>\n      <if test=\"categoryId != null\">\n        category_id = #{categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"title != null\">\n        title = #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"pic != null\">\n        pic = #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCount != null\">\n        product_count = #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"collectCount != null\">\n        collect_count = #{collectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"readCount != null\">\n        read_count = #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"commentCount != null\">\n        comment_count = #{commentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"albumPics != null\">\n        album_pics = #{albumPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"forwardCount != null\">\n        forward_count = #{forwardCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"categoryName != null\">\n        category_name = #{categoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.CmsSubject\">\n    update cms_subject\n    set category_id = #{categoryId,jdbcType=BIGINT},\n      title = #{title,jdbcType=VARCHAR},\n      pic = #{pic,jdbcType=VARCHAR},\n      product_count = #{productCount,jdbcType=INTEGER},\n      recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      collect_count = #{collectCount,jdbcType=INTEGER},\n      read_count = #{readCount,jdbcType=INTEGER},\n      comment_count = #{commentCount,jdbcType=INTEGER},\n      album_pics = #{albumPics,jdbcType=VARCHAR},\n      description = #{description,jdbcType=VARCHAR},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      forward_count = #{forwardCount,jdbcType=INTEGER},\n      category_name = #{categoryName,jdbcType=VARCHAR},\n      content = #{content,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsSubject\">\n    update cms_subject\n    set category_id = #{categoryId,jdbcType=BIGINT},\n      title = #{title,jdbcType=VARCHAR},\n      pic = #{pic,jdbcType=VARCHAR},\n      product_count = #{productCount,jdbcType=INTEGER},\n      recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      collect_count = #{collectCount,jdbcType=INTEGER},\n      read_count = #{readCount,jdbcType=INTEGER},\n      comment_count = #{commentCount,jdbcType=INTEGER},\n      album_pics = #{albumPics,jdbcType=VARCHAR},\n      description = #{description,jdbcType=VARCHAR},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      forward_count = #{forwardCount,jdbcType=INTEGER},\n      category_name = #{categoryName,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectProductRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsSubjectProductRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsSubjectProductRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"subject_id\" jdbcType=\"BIGINT\" property=\"subjectId\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, subject_id, product_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_subject_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_subject_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_subject_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelationExample\">\n    delete from cms_subject_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject_product_relation (subject_id, product_id)\n    values (#{subjectId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_subject_product_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"subjectId != null\">\n        subject_id,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"subjectId != null\">\n        #{subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_subject_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_subject_product_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.subjectId != null\">\n        subject_id = #{record.subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_subject_product_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      subject_id = #{record.subjectId,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelation\">\n    update cms_subject_product_relation\n    <set>\n      <if test=\"subjectId != null\">\n        subject_id = #{subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsSubjectProductRelation\">\n    update cms_subject_product_relation\n    set subject_id = #{subjectId,jdbcType=BIGINT},\n      product_id = #{productId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsTopicCategoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsTopicCategoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsTopicCategory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"subject_count\" jdbcType=\"INTEGER\" property=\"subjectCount\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, icon, subject_count, show_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsTopicCategoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_topic_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_topic_category\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_topic_category\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsTopicCategoryExample\">\n    delete from cms_topic_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsTopicCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_topic_category (name, icon, subject_count, \n      show_status, sort)\n    values (#{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{subjectCount,jdbcType=INTEGER}, \n      #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsTopicCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_topic_category\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"subjectCount != null\">\n        subject_count,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subjectCount != null\">\n        #{subjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsTopicCategoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_topic_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_topic_category\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.subjectCount != null\">\n        subject_count = #{record.subjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_topic_category\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      subject_count = #{record.subjectCount,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsTopicCategory\">\n    update cms_topic_category\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subjectCount != null\">\n        subject_count = #{subjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsTopicCategory\">\n    update cms_topic_category\n    set name = #{name,jdbcType=VARCHAR},\n      icon = #{icon,jdbcType=VARCHAR},\n      subject_count = #{subjectCount,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsTopicCommentMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsTopicCommentMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsTopicComment\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_nick_name\" jdbcType=\"VARCHAR\" property=\"memberNickName\" />\n    <result column=\"topic_id\" jdbcType=\"BIGINT\" property=\"topicId\" />\n    <result column=\"member_icon\" jdbcType=\"VARCHAR\" property=\"memberIcon\" />\n    <result column=\"content\" jdbcType=\"VARCHAR\" property=\"content\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_nick_name, topic_id, member_icon, content, create_time, show_status\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsTopicCommentExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_topic_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from cms_topic_comment\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_topic_comment\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsTopicCommentExample\">\n    delete from cms_topic_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsTopicComment\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_topic_comment (member_nick_name, topic_id, member_icon, \n      content, create_time, show_status\n      )\n    values (#{memberNickName,jdbcType=VARCHAR}, #{topicId,jdbcType=BIGINT}, #{memberIcon,jdbcType=VARCHAR}, \n      #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsTopicComment\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_topic_comment\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberNickName != null\">\n        member_nick_name,\n      </if>\n      <if test=\"topicId != null\">\n        topic_id,\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberNickName != null\">\n        #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"topicId != null\">\n        #{topicId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberIcon != null\">\n        #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsTopicCommentExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_topic_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_topic_comment\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberNickName != null\">\n        member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.topicId != null\">\n        topic_id = #{record.topicId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberIcon != null\">\n        member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_topic_comment\n    set id = #{record.id,jdbcType=BIGINT},\n      member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      topic_id = #{record.topicId,jdbcType=BIGINT},\n      member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      content = #{record.content,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      show_status = #{record.showStatus,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsTopicComment\">\n    update cms_topic_comment\n    <set>\n      <if test=\"memberNickName != null\">\n        member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"topicId != null\">\n        topic_id = #{topicId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon = #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsTopicComment\">\n    update cms_topic_comment\n    set member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      topic_id = #{topicId,jdbcType=BIGINT},\n      member_icon = #{memberIcon,jdbcType=VARCHAR},\n      content = #{content,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      show_status = #{showStatus,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/CmsTopicMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.CmsTopicMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.CmsTopic\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"category_id\" jdbcType=\"BIGINT\" property=\"categoryId\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"start_time\" jdbcType=\"TIMESTAMP\" property=\"startTime\" />\n    <result column=\"end_time\" jdbcType=\"TIMESTAMP\" property=\"endTime\" />\n    <result column=\"attend_count\" jdbcType=\"INTEGER\" property=\"attendCount\" />\n    <result column=\"attention_count\" jdbcType=\"INTEGER\" property=\"attentionCount\" />\n    <result column=\"read_count\" jdbcType=\"INTEGER\" property=\"readCount\" />\n    <result column=\"award_name\" jdbcType=\"VARCHAR\" property=\"awardName\" />\n    <result column=\"attend_type\" jdbcType=\"VARCHAR\" property=\"attendType\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.CmsTopic\">\n    <result column=\"content\" jdbcType=\"LONGVARCHAR\" property=\"content\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, category_id, name, create_time, start_time, end_time, attend_count, attention_count, \n    read_count, award_name, attend_type\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    content\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.CmsTopicExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_topic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.CmsTopicExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from cms_topic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from cms_topic\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from cms_topic\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.CmsTopicExample\">\n    delete from cms_topic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.CmsTopic\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_topic (category_id, name, create_time, \n      start_time, end_time, attend_count, \n      attention_count, read_count, award_name, \n      attend_type, content)\n    values (#{categoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, \n      #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{attendCount,jdbcType=INTEGER}, \n      #{attentionCount,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{awardName,jdbcType=VARCHAR}, \n      #{attendType,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.CmsTopic\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into cms_topic\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"categoryId != null\">\n        category_id,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"startTime != null\">\n        start_time,\n      </if>\n      <if test=\"endTime != null\">\n        end_time,\n      </if>\n      <if test=\"attendCount != null\">\n        attend_count,\n      </if>\n      <if test=\"attentionCount != null\">\n        attention_count,\n      </if>\n      <if test=\"readCount != null\">\n        read_count,\n      </if>\n      <if test=\"awardName != null\">\n        award_name,\n      </if>\n      <if test=\"attendType != null\">\n        attend_type,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"categoryId != null\">\n        #{categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"startTime != null\">\n        #{startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"endTime != null\">\n        #{endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"attendCount != null\">\n        #{attendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"attentionCount != null\">\n        #{attentionCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"readCount != null\">\n        #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"awardName != null\">\n        #{awardName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"attendType != null\">\n        #{attendType,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.CmsTopicExample\" resultType=\"java.lang.Long\">\n    select count(*) from cms_topic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update cms_topic\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.categoryId != null\">\n        category_id = #{record.categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.startTime != null\">\n        start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.endTime != null\">\n        end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.attendCount != null\">\n        attend_count = #{record.attendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.attentionCount != null\">\n        attention_count = #{record.attentionCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.readCount != null\">\n        read_count = #{record.readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.awardName != null\">\n        award_name = #{record.awardName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.attendType != null\">\n        attend_type = #{record.attendType,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update cms_topic\n    set id = #{record.id,jdbcType=BIGINT},\n      category_id = #{record.categoryId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      attend_count = #{record.attendCount,jdbcType=INTEGER},\n      attention_count = #{record.attentionCount,jdbcType=INTEGER},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      award_name = #{record.awardName,jdbcType=VARCHAR},\n      attend_type = #{record.attendType,jdbcType=VARCHAR},\n      content = #{record.content,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update cms_topic\n    set id = #{record.id,jdbcType=BIGINT},\n      category_id = #{record.categoryId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      attend_count = #{record.attendCount,jdbcType=INTEGER},\n      attention_count = #{record.attentionCount,jdbcType=INTEGER},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      award_name = #{record.awardName,jdbcType=VARCHAR},\n      attend_type = #{record.attendType,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.CmsTopic\">\n    update cms_topic\n    <set>\n      <if test=\"categoryId != null\">\n        category_id = #{categoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"startTime != null\">\n        start_time = #{startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"endTime != null\">\n        end_time = #{endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"attendCount != null\">\n        attend_count = #{attendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"attentionCount != null\">\n        attention_count = #{attentionCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"readCount != null\">\n        read_count = #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"awardName != null\">\n        award_name = #{awardName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"attendType != null\">\n        attend_type = #{attendType,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.CmsTopic\">\n    update cms_topic\n    set category_id = #{categoryId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      start_time = #{startTime,jdbcType=TIMESTAMP},\n      end_time = #{endTime,jdbcType=TIMESTAMP},\n      attend_count = #{attendCount,jdbcType=INTEGER},\n      attention_count = #{attentionCount,jdbcType=INTEGER},\n      read_count = #{readCount,jdbcType=INTEGER},\n      award_name = #{awardName,jdbcType=VARCHAR},\n      attend_type = #{attendType,jdbcType=VARCHAR},\n      content = #{content,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.CmsTopic\">\n    update cms_topic\n    set category_id = #{categoryId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      start_time = #{startTime,jdbcType=TIMESTAMP},\n      end_time = #{endTime,jdbcType=TIMESTAMP},\n      attend_count = #{attendCount,jdbcType=INTEGER},\n      attention_count = #{attentionCount,jdbcType=INTEGER},\n      read_count = #{readCount,jdbcType=INTEGER},\n      award_name = #{awardName,jdbcType=VARCHAR},\n      attend_type = #{attendType,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsCartItemMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsCartItemMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsCartItem\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"product_sku_id\" jdbcType=\"BIGINT\" property=\"productSkuId\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"quantity\" jdbcType=\"INTEGER\" property=\"quantity\" />\n    <result column=\"price\" jdbcType=\"DECIMAL\" property=\"price\" />\n    <result column=\"product_pic\" jdbcType=\"VARCHAR\" property=\"productPic\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"product_sub_title\" jdbcType=\"VARCHAR\" property=\"productSubTitle\" />\n    <result column=\"product_sku_code\" jdbcType=\"VARCHAR\" property=\"productSkuCode\" />\n    <result column=\"member_nickname\" jdbcType=\"VARCHAR\" property=\"memberNickname\" />\n    <result column=\"create_date\" jdbcType=\"TIMESTAMP\" property=\"createDate\" />\n    <result column=\"modify_date\" jdbcType=\"TIMESTAMP\" property=\"modifyDate\" />\n    <result column=\"delete_status\" jdbcType=\"INTEGER\" property=\"deleteStatus\" />\n    <result column=\"product_category_id\" jdbcType=\"BIGINT\" property=\"productCategoryId\" />\n    <result column=\"product_brand\" jdbcType=\"VARCHAR\" property=\"productBrand\" />\n    <result column=\"product_sn\" jdbcType=\"VARCHAR\" property=\"productSn\" />\n    <result column=\"product_attr\" jdbcType=\"VARCHAR\" property=\"productAttr\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, product_sku_id, member_id, quantity, price, product_pic, product_name, \n    product_sub_title, product_sku_code, member_nickname, create_date, modify_date, delete_status, \n    product_category_id, product_brand, product_sn, product_attr\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsCartItemExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_cart_item\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_cart_item\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_cart_item\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsCartItemExample\">\n    delete from oms_cart_item\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsCartItem\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_cart_item (product_id, product_sku_id, member_id, \n      quantity, price, product_pic, \n      product_name, product_sub_title, product_sku_code, \n      member_nickname, create_date, modify_date, \n      delete_status, product_category_id, product_brand, \n      product_sn, product_attr)\n    values (#{productId,jdbcType=BIGINT}, #{productSkuId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, \n      #{quantity,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL}, #{productPic,jdbcType=VARCHAR}, \n      #{productName,jdbcType=VARCHAR}, #{productSubTitle,jdbcType=VARCHAR}, #{productSkuCode,jdbcType=VARCHAR}, \n      #{memberNickname,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{modifyDate,jdbcType=TIMESTAMP}, \n      #{deleteStatus,jdbcType=INTEGER}, #{productCategoryId,jdbcType=BIGINT}, #{productBrand,jdbcType=VARCHAR}, \n      #{productSn,jdbcType=VARCHAR}, #{productAttr,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsCartItem\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_cart_item\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"productSkuId != null\">\n        product_sku_id,\n      </if>\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"quantity != null\">\n        quantity,\n      </if>\n      <if test=\"price != null\">\n        price,\n      </if>\n      <if test=\"productPic != null\">\n        product_pic,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"productSubTitle != null\">\n        product_sub_title,\n      </if>\n      <if test=\"productSkuCode != null\">\n        product_sku_code,\n      </if>\n      <if test=\"memberNickname != null\">\n        member_nickname,\n      </if>\n      <if test=\"createDate != null\">\n        create_date,\n      </if>\n      <if test=\"modifyDate != null\">\n        modify_date,\n      </if>\n      <if test=\"deleteStatus != null\">\n        delete_status,\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id,\n      </if>\n      <if test=\"productBrand != null\">\n        product_brand,\n      </if>\n      <if test=\"productSn != null\">\n        product_sn,\n      </if>\n      <if test=\"productAttr != null\">\n        product_attr,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productSkuId != null\">\n        #{productSkuId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"quantity != null\">\n        #{quantity,jdbcType=INTEGER},\n      </if>\n      <if test=\"price != null\">\n        #{price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"productPic != null\">\n        #{productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSubTitle != null\">\n        #{productSubTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSkuCode != null\">\n        #{productSkuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberNickname != null\">\n        #{memberNickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createDate != null\">\n        #{createDate,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"modifyDate != null\">\n        #{modifyDate,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"deleteStatus != null\">\n        #{deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCategoryId != null\">\n        #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productBrand != null\">\n        #{productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        #{productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productAttr != null\">\n        #{productAttr,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsCartItemExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_cart_item\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_cart_item\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productSkuId != null\">\n        product_sku_id = #{record.productSkuId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.quantity != null\">\n        quantity = #{record.quantity,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.price != null\">\n        price = #{record.price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.productPic != null\">\n        product_pic = #{record.productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productSubTitle != null\">\n        product_sub_title = #{record.productSubTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productSkuCode != null\">\n        product_sku_code = #{record.productSkuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.memberNickname != null\">\n        member_nickname = #{record.memberNickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createDate != null\">\n        create_date = #{record.createDate,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.modifyDate != null\">\n        modify_date = #{record.modifyDate,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.deleteStatus != null\">\n        delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productCategoryId != null\">\n        product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productBrand != null\">\n        product_brand = #{record.productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productSn != null\">\n        product_sn = #{record.productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productAttr != null\">\n        product_attr = #{record.productAttr,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_cart_item\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      product_sku_id = #{record.productSkuId,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      quantity = #{record.quantity,jdbcType=INTEGER},\n      price = #{record.price,jdbcType=DECIMAL},\n      product_pic = #{record.productPic,jdbcType=VARCHAR},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      product_sub_title = #{record.productSubTitle,jdbcType=VARCHAR},\n      product_sku_code = #{record.productSkuCode,jdbcType=VARCHAR},\n      member_nickname = #{record.memberNickname,jdbcType=VARCHAR},\n      create_date = #{record.createDate,jdbcType=TIMESTAMP},\n      modify_date = #{record.modifyDate,jdbcType=TIMESTAMP},\n      delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      product_brand = #{record.productBrand,jdbcType=VARCHAR},\n      product_sn = #{record.productSn,jdbcType=VARCHAR},\n      product_attr = #{record.productAttr,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsCartItem\">\n    update oms_cart_item\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productSkuId != null\">\n        product_sku_id = #{productSkuId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"quantity != null\">\n        quantity = #{quantity,jdbcType=INTEGER},\n      </if>\n      <if test=\"price != null\">\n        price = #{price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"productPic != null\">\n        product_pic = #{productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSubTitle != null\">\n        product_sub_title = #{productSubTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSkuCode != null\">\n        product_sku_code = #{productSkuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberNickname != null\">\n        member_nickname = #{memberNickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createDate != null\">\n        create_date = #{createDate,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"modifyDate != null\">\n        modify_date = #{modifyDate,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"deleteStatus != null\">\n        delete_status = #{deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productBrand != null\">\n        product_brand = #{productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        product_sn = #{productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productAttr != null\">\n        product_attr = #{productAttr,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsCartItem\">\n    update oms_cart_item\n    set product_id = #{productId,jdbcType=BIGINT},\n      product_sku_id = #{productSkuId,jdbcType=BIGINT},\n      member_id = #{memberId,jdbcType=BIGINT},\n      quantity = #{quantity,jdbcType=INTEGER},\n      price = #{price,jdbcType=DECIMAL},\n      product_pic = #{productPic,jdbcType=VARCHAR},\n      product_name = #{productName,jdbcType=VARCHAR},\n      product_sub_title = #{productSubTitle,jdbcType=VARCHAR},\n      product_sku_code = #{productSkuCode,jdbcType=VARCHAR},\n      member_nickname = #{memberNickname,jdbcType=VARCHAR},\n      create_date = #{createDate,jdbcType=TIMESTAMP},\n      modify_date = #{modifyDate,jdbcType=TIMESTAMP},\n      delete_status = #{deleteStatus,jdbcType=INTEGER},\n      product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      product_brand = #{productBrand,jdbcType=VARCHAR},\n      product_sn = #{productSn,jdbcType=VARCHAR},\n      product_attr = #{productAttr,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsCompanyAddressMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsCompanyAddressMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsCompanyAddress\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"address_name\" jdbcType=\"VARCHAR\" property=\"addressName\" />\n    <result column=\"send_status\" jdbcType=\"INTEGER\" property=\"sendStatus\" />\n    <result column=\"receive_status\" jdbcType=\"INTEGER\" property=\"receiveStatus\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"phone\" jdbcType=\"VARCHAR\" property=\"phone\" />\n    <result column=\"province\" jdbcType=\"VARCHAR\" property=\"province\" />\n    <result column=\"city\" jdbcType=\"VARCHAR\" property=\"city\" />\n    <result column=\"region\" jdbcType=\"VARCHAR\" property=\"region\" />\n    <result column=\"detail_address\" jdbcType=\"VARCHAR\" property=\"detailAddress\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, address_name, send_status, receive_status, name, phone, province, city, region, \n    detail_address\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsCompanyAddressExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_company_address\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_company_address\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_company_address\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsCompanyAddressExample\">\n    delete from oms_company_address\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsCompanyAddress\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_company_address (address_name, send_status, receive_status, \n      name, phone, province, \n      city, region, detail_address\n      )\n    values (#{addressName,jdbcType=VARCHAR}, #{sendStatus,jdbcType=INTEGER}, #{receiveStatus,jdbcType=INTEGER}, \n      #{name,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{province,jdbcType=VARCHAR}, \n      #{city,jdbcType=VARCHAR}, #{region,jdbcType=VARCHAR}, #{detailAddress,jdbcType=VARCHAR}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsCompanyAddress\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_company_address\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"addressName != null\">\n        address_name,\n      </if>\n      <if test=\"sendStatus != null\">\n        send_status,\n      </if>\n      <if test=\"receiveStatus != null\">\n        receive_status,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"phone != null\">\n        phone,\n      </if>\n      <if test=\"province != null\">\n        province,\n      </if>\n      <if test=\"city != null\">\n        city,\n      </if>\n      <if test=\"region != null\">\n        region,\n      </if>\n      <if test=\"detailAddress != null\">\n        detail_address,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"addressName != null\">\n        #{addressName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sendStatus != null\">\n        #{sendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"receiveStatus != null\">\n        #{receiveStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"phone != null\">\n        #{phone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"province != null\">\n        #{province,jdbcType=VARCHAR},\n      </if>\n      <if test=\"city != null\">\n        #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"region != null\">\n        #{region,jdbcType=VARCHAR},\n      </if>\n      <if test=\"detailAddress != null\">\n        #{detailAddress,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsCompanyAddressExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_company_address\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_company_address\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.addressName != null\">\n        address_name = #{record.addressName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sendStatus != null\">\n        send_status = #{record.sendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.receiveStatus != null\">\n        receive_status = #{record.receiveStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.phone != null\">\n        phone = #{record.phone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.province != null\">\n        province = #{record.province,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.city != null\">\n        city = #{record.city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.region != null\">\n        region = #{record.region,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.detailAddress != null\">\n        detail_address = #{record.detailAddress,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_company_address\n    set id = #{record.id,jdbcType=BIGINT},\n      address_name = #{record.addressName,jdbcType=VARCHAR},\n      send_status = #{record.sendStatus,jdbcType=INTEGER},\n      receive_status = #{record.receiveStatus,jdbcType=INTEGER},\n      name = #{record.name,jdbcType=VARCHAR},\n      phone = #{record.phone,jdbcType=VARCHAR},\n      province = #{record.province,jdbcType=VARCHAR},\n      city = #{record.city,jdbcType=VARCHAR},\n      region = #{record.region,jdbcType=VARCHAR},\n      detail_address = #{record.detailAddress,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsCompanyAddress\">\n    update oms_company_address\n    <set>\n      <if test=\"addressName != null\">\n        address_name = #{addressName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sendStatus != null\">\n        send_status = #{sendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"receiveStatus != null\">\n        receive_status = #{receiveStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"phone != null\">\n        phone = #{phone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"province != null\">\n        province = #{province,jdbcType=VARCHAR},\n      </if>\n      <if test=\"city != null\">\n        city = #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"region != null\">\n        region = #{region,jdbcType=VARCHAR},\n      </if>\n      <if test=\"detailAddress != null\">\n        detail_address = #{detailAddress,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsCompanyAddress\">\n    update oms_company_address\n    set address_name = #{addressName,jdbcType=VARCHAR},\n      send_status = #{sendStatus,jdbcType=INTEGER},\n      receive_status = #{receiveStatus,jdbcType=INTEGER},\n      name = #{name,jdbcType=VARCHAR},\n      phone = #{phone,jdbcType=VARCHAR},\n      province = #{province,jdbcType=VARCHAR},\n      city = #{city,jdbcType=VARCHAR},\n      region = #{region,jdbcType=VARCHAR},\n      detail_address = #{detailAddress,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderItemMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsOrderItemMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsOrderItem\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"order_id\" jdbcType=\"BIGINT\" property=\"orderId\" />\n    <result column=\"order_sn\" jdbcType=\"VARCHAR\" property=\"orderSn\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"product_pic\" jdbcType=\"VARCHAR\" property=\"productPic\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"product_brand\" jdbcType=\"VARCHAR\" property=\"productBrand\" />\n    <result column=\"product_sn\" jdbcType=\"VARCHAR\" property=\"productSn\" />\n    <result column=\"product_price\" jdbcType=\"DECIMAL\" property=\"productPrice\" />\n    <result column=\"product_quantity\" jdbcType=\"INTEGER\" property=\"productQuantity\" />\n    <result column=\"product_sku_id\" jdbcType=\"BIGINT\" property=\"productSkuId\" />\n    <result column=\"product_sku_code\" jdbcType=\"VARCHAR\" property=\"productSkuCode\" />\n    <result column=\"product_category_id\" jdbcType=\"BIGINT\" property=\"productCategoryId\" />\n    <result column=\"promotion_name\" jdbcType=\"VARCHAR\" property=\"promotionName\" />\n    <result column=\"promotion_amount\" jdbcType=\"DECIMAL\" property=\"promotionAmount\" />\n    <result column=\"coupon_amount\" jdbcType=\"DECIMAL\" property=\"couponAmount\" />\n    <result column=\"integration_amount\" jdbcType=\"DECIMAL\" property=\"integrationAmount\" />\n    <result column=\"real_amount\" jdbcType=\"DECIMAL\" property=\"realAmount\" />\n    <result column=\"gift_integration\" jdbcType=\"INTEGER\" property=\"giftIntegration\" />\n    <result column=\"gift_growth\" jdbcType=\"INTEGER\" property=\"giftGrowth\" />\n    <result column=\"product_attr\" jdbcType=\"VARCHAR\" property=\"productAttr\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, order_id, order_sn, product_id, product_pic, product_name, product_brand, product_sn, \n    product_price, product_quantity, product_sku_id, product_sku_code, product_category_id, \n    promotion_name, promotion_amount, coupon_amount, integration_amount, real_amount, \n    gift_integration, gift_growth, product_attr\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsOrderItemExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_order_item\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_order_item\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_order_item\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsOrderItemExample\">\n    delete from oms_order_item\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsOrderItem\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_item (order_id, order_sn, product_id, \n      product_pic, product_name, product_brand, \n      product_sn, product_price, product_quantity, \n      product_sku_id, product_sku_code, product_category_id, \n      promotion_name, promotion_amount, coupon_amount, \n      integration_amount, real_amount, gift_integration, \n      gift_growth, product_attr)\n    values (#{orderId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{productId,jdbcType=BIGINT}, \n      #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productBrand,jdbcType=VARCHAR}, \n      #{productSn,jdbcType=VARCHAR}, #{productPrice,jdbcType=DECIMAL}, #{productQuantity,jdbcType=INTEGER}, \n      #{productSkuId,jdbcType=BIGINT}, #{productSkuCode,jdbcType=VARCHAR}, #{productCategoryId,jdbcType=BIGINT}, \n      #{promotionName,jdbcType=VARCHAR}, #{promotionAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, \n      #{integrationAmount,jdbcType=DECIMAL}, #{realAmount,jdbcType=DECIMAL}, #{giftIntegration,jdbcType=INTEGER}, \n      #{giftGrowth,jdbcType=INTEGER}, #{productAttr,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsOrderItem\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_item\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"orderId != null\">\n        order_id,\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"productPic != null\">\n        product_pic,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"productBrand != null\">\n        product_brand,\n      </if>\n      <if test=\"productSn != null\">\n        product_sn,\n      </if>\n      <if test=\"productPrice != null\">\n        product_price,\n      </if>\n      <if test=\"productQuantity != null\">\n        product_quantity,\n      </if>\n      <if test=\"productSkuId != null\">\n        product_sku_id,\n      </if>\n      <if test=\"productSkuCode != null\">\n        product_sku_code,\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id,\n      </if>\n      <if test=\"promotionName != null\">\n        promotion_name,\n      </if>\n      <if test=\"promotionAmount != null\">\n        promotion_amount,\n      </if>\n      <if test=\"couponAmount != null\">\n        coupon_amount,\n      </if>\n      <if test=\"integrationAmount != null\">\n        integration_amount,\n      </if>\n      <if test=\"realAmount != null\">\n        real_amount,\n      </if>\n      <if test=\"giftIntegration != null\">\n        gift_integration,\n      </if>\n      <if test=\"giftGrowth != null\">\n        gift_growth,\n      </if>\n      <if test=\"productAttr != null\">\n        product_attr,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"orderId != null\">\n        #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        #{orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productPic != null\">\n        #{productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productBrand != null\">\n        #{productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        #{productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productPrice != null\">\n        #{productPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"productQuantity != null\">\n        #{productQuantity,jdbcType=INTEGER},\n      </if>\n      <if test=\"productSkuId != null\">\n        #{productSkuId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productSkuCode != null\">\n        #{productSkuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCategoryId != null\">\n        #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"promotionName != null\">\n        #{promotionName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"promotionAmount != null\">\n        #{promotionAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"couponAmount != null\">\n        #{couponAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"integrationAmount != null\">\n        #{integrationAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"realAmount != null\">\n        #{realAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"giftIntegration != null\">\n        #{giftIntegration,jdbcType=INTEGER},\n      </if>\n      <if test=\"giftGrowth != null\">\n        #{giftGrowth,jdbcType=INTEGER},\n      </if>\n      <if test=\"productAttr != null\">\n        #{productAttr,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsOrderItemExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_order_item\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_order_item\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderId != null\">\n        order_id = #{record.orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderSn != null\">\n        order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productPic != null\">\n        product_pic = #{record.productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productBrand != null\">\n        product_brand = #{record.productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productSn != null\">\n        product_sn = #{record.productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productPrice != null\">\n        product_price = #{record.productPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.productQuantity != null\">\n        product_quantity = #{record.productQuantity,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productSkuId != null\">\n        product_sku_id = #{record.productSkuId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productSkuCode != null\">\n        product_sku_code = #{record.productSkuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productCategoryId != null\">\n        product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.promotionName != null\">\n        promotion_name = #{record.promotionName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.promotionAmount != null\">\n        promotion_amount = #{record.promotionAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.couponAmount != null\">\n        coupon_amount = #{record.couponAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.integrationAmount != null\">\n        integration_amount = #{record.integrationAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.realAmount != null\">\n        real_amount = #{record.realAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.giftIntegration != null\">\n        gift_integration = #{record.giftIntegration,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.giftGrowth != null\">\n        gift_growth = #{record.giftGrowth,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productAttr != null\">\n        product_attr = #{record.productAttr,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_order_item\n    set id = #{record.id,jdbcType=BIGINT},\n      order_id = #{record.orderId,jdbcType=BIGINT},\n      order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      product_pic = #{record.productPic,jdbcType=VARCHAR},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      product_brand = #{record.productBrand,jdbcType=VARCHAR},\n      product_sn = #{record.productSn,jdbcType=VARCHAR},\n      product_price = #{record.productPrice,jdbcType=DECIMAL},\n      product_quantity = #{record.productQuantity,jdbcType=INTEGER},\n      product_sku_id = #{record.productSkuId,jdbcType=BIGINT},\n      product_sku_code = #{record.productSkuCode,jdbcType=VARCHAR},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      promotion_name = #{record.promotionName,jdbcType=VARCHAR},\n      promotion_amount = #{record.promotionAmount,jdbcType=DECIMAL},\n      coupon_amount = #{record.couponAmount,jdbcType=DECIMAL},\n      integration_amount = #{record.integrationAmount,jdbcType=DECIMAL},\n      real_amount = #{record.realAmount,jdbcType=DECIMAL},\n      gift_integration = #{record.giftIntegration,jdbcType=INTEGER},\n      gift_growth = #{record.giftGrowth,jdbcType=INTEGER},\n      product_attr = #{record.productAttr,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsOrderItem\">\n    update oms_order_item\n    <set>\n      <if test=\"orderId != null\">\n        order_id = #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn = #{orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productPic != null\">\n        product_pic = #{productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productBrand != null\">\n        product_brand = #{productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        product_sn = #{productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productPrice != null\">\n        product_price = #{productPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"productQuantity != null\">\n        product_quantity = #{productQuantity,jdbcType=INTEGER},\n      </if>\n      <if test=\"productSkuId != null\">\n        product_sku_id = #{productSkuId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productSkuCode != null\">\n        product_sku_code = #{productSkuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"promotionName != null\">\n        promotion_name = #{promotionName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"promotionAmount != null\">\n        promotion_amount = #{promotionAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"couponAmount != null\">\n        coupon_amount = #{couponAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"integrationAmount != null\">\n        integration_amount = #{integrationAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"realAmount != null\">\n        real_amount = #{realAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"giftIntegration != null\">\n        gift_integration = #{giftIntegration,jdbcType=INTEGER},\n      </if>\n      <if test=\"giftGrowth != null\">\n        gift_growth = #{giftGrowth,jdbcType=INTEGER},\n      </if>\n      <if test=\"productAttr != null\">\n        product_attr = #{productAttr,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsOrderItem\">\n    update oms_order_item\n    set order_id = #{orderId,jdbcType=BIGINT},\n      order_sn = #{orderSn,jdbcType=VARCHAR},\n      product_id = #{productId,jdbcType=BIGINT},\n      product_pic = #{productPic,jdbcType=VARCHAR},\n      product_name = #{productName,jdbcType=VARCHAR},\n      product_brand = #{productBrand,jdbcType=VARCHAR},\n      product_sn = #{productSn,jdbcType=VARCHAR},\n      product_price = #{productPrice,jdbcType=DECIMAL},\n      product_quantity = #{productQuantity,jdbcType=INTEGER},\n      product_sku_id = #{productSkuId,jdbcType=BIGINT},\n      product_sku_code = #{productSkuCode,jdbcType=VARCHAR},\n      product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      promotion_name = #{promotionName,jdbcType=VARCHAR},\n      promotion_amount = #{promotionAmount,jdbcType=DECIMAL},\n      coupon_amount = #{couponAmount,jdbcType=DECIMAL},\n      integration_amount = #{integrationAmount,jdbcType=DECIMAL},\n      real_amount = #{realAmount,jdbcType=DECIMAL},\n      gift_integration = #{giftIntegration,jdbcType=INTEGER},\n      gift_growth = #{giftGrowth,jdbcType=INTEGER},\n      product_attr = #{productAttr,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsOrderMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsOrder\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"coupon_id\" jdbcType=\"BIGINT\" property=\"couponId\" />\n    <result column=\"order_sn\" jdbcType=\"VARCHAR\" property=\"orderSn\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"member_username\" jdbcType=\"VARCHAR\" property=\"memberUsername\" />\n    <result column=\"total_amount\" jdbcType=\"DECIMAL\" property=\"totalAmount\" />\n    <result column=\"pay_amount\" jdbcType=\"DECIMAL\" property=\"payAmount\" />\n    <result column=\"freight_amount\" jdbcType=\"DECIMAL\" property=\"freightAmount\" />\n    <result column=\"promotion_amount\" jdbcType=\"DECIMAL\" property=\"promotionAmount\" />\n    <result column=\"integration_amount\" jdbcType=\"DECIMAL\" property=\"integrationAmount\" />\n    <result column=\"coupon_amount\" jdbcType=\"DECIMAL\" property=\"couponAmount\" />\n    <result column=\"discount_amount\" jdbcType=\"DECIMAL\" property=\"discountAmount\" />\n    <result column=\"pay_type\" jdbcType=\"INTEGER\" property=\"payType\" />\n    <result column=\"source_type\" jdbcType=\"INTEGER\" property=\"sourceType\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"order_type\" jdbcType=\"INTEGER\" property=\"orderType\" />\n    <result column=\"delivery_company\" jdbcType=\"VARCHAR\" property=\"deliveryCompany\" />\n    <result column=\"delivery_sn\" jdbcType=\"VARCHAR\" property=\"deliverySn\" />\n    <result column=\"auto_confirm_day\" jdbcType=\"INTEGER\" property=\"autoConfirmDay\" />\n    <result column=\"integration\" jdbcType=\"INTEGER\" property=\"integration\" />\n    <result column=\"growth\" jdbcType=\"INTEGER\" property=\"growth\" />\n    <result column=\"promotion_info\" jdbcType=\"VARCHAR\" property=\"promotionInfo\" />\n    <result column=\"bill_type\" jdbcType=\"INTEGER\" property=\"billType\" />\n    <result column=\"bill_header\" jdbcType=\"VARCHAR\" property=\"billHeader\" />\n    <result column=\"bill_content\" jdbcType=\"VARCHAR\" property=\"billContent\" />\n    <result column=\"bill_receiver_phone\" jdbcType=\"VARCHAR\" property=\"billReceiverPhone\" />\n    <result column=\"bill_receiver_email\" jdbcType=\"VARCHAR\" property=\"billReceiverEmail\" />\n    <result column=\"receiver_name\" jdbcType=\"VARCHAR\" property=\"receiverName\" />\n    <result column=\"receiver_phone\" jdbcType=\"VARCHAR\" property=\"receiverPhone\" />\n    <result column=\"receiver_post_code\" jdbcType=\"VARCHAR\" property=\"receiverPostCode\" />\n    <result column=\"receiver_province\" jdbcType=\"VARCHAR\" property=\"receiverProvince\" />\n    <result column=\"receiver_city\" jdbcType=\"VARCHAR\" property=\"receiverCity\" />\n    <result column=\"receiver_region\" jdbcType=\"VARCHAR\" property=\"receiverRegion\" />\n    <result column=\"receiver_detail_address\" jdbcType=\"VARCHAR\" property=\"receiverDetailAddress\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n    <result column=\"confirm_status\" jdbcType=\"INTEGER\" property=\"confirmStatus\" />\n    <result column=\"delete_status\" jdbcType=\"INTEGER\" property=\"deleteStatus\" />\n    <result column=\"use_integration\" jdbcType=\"INTEGER\" property=\"useIntegration\" />\n    <result column=\"payment_time\" jdbcType=\"TIMESTAMP\" property=\"paymentTime\" />\n    <result column=\"delivery_time\" jdbcType=\"TIMESTAMP\" property=\"deliveryTime\" />\n    <result column=\"receive_time\" jdbcType=\"TIMESTAMP\" property=\"receiveTime\" />\n    <result column=\"comment_time\" jdbcType=\"TIMESTAMP\" property=\"commentTime\" />\n    <result column=\"modify_time\" jdbcType=\"TIMESTAMP\" property=\"modifyTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, coupon_id, order_sn, create_time, member_username, total_amount, pay_amount, \n    freight_amount, promotion_amount, integration_amount, coupon_amount, discount_amount, \n    pay_type, source_type, status, order_type, delivery_company, delivery_sn, auto_confirm_day, \n    integration, growth, promotion_info, bill_type, bill_header, bill_content, bill_receiver_phone, \n    bill_receiver_email, receiver_name, receiver_phone, receiver_post_code, receiver_province, \n    receiver_city, receiver_region, receiver_detail_address, note, confirm_status, delete_status, \n    use_integration, payment_time, delivery_time, receive_time, comment_time, modify_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsOrderExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_order\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_order\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_order\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsOrderExample\">\n    delete from oms_order\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsOrder\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order (member_id, coupon_id, order_sn, \n      create_time, member_username, total_amount, \n      pay_amount, freight_amount, promotion_amount, \n      integration_amount, coupon_amount, discount_amount, \n      pay_type, source_type, status, \n      order_type, delivery_company, delivery_sn, \n      auto_confirm_day, integration, growth, \n      promotion_info, bill_type, bill_header, \n      bill_content, bill_receiver_phone, bill_receiver_email, \n      receiver_name, receiver_phone, receiver_post_code, \n      receiver_province, receiver_city, receiver_region, \n      receiver_detail_address, note, confirm_status, \n      delete_status, use_integration, payment_time, \n      delivery_time, receive_time, comment_time, \n      modify_time)\n    values (#{memberId,jdbcType=BIGINT}, #{couponId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, \n      #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL}, \n      #{payAmount,jdbcType=DECIMAL}, #{freightAmount,jdbcType=DECIMAL}, #{promotionAmount,jdbcType=DECIMAL}, \n      #{integrationAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, #{discountAmount,jdbcType=DECIMAL}, \n      #{payType,jdbcType=INTEGER}, #{sourceType,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, \n      #{orderType,jdbcType=INTEGER}, #{deliveryCompany,jdbcType=VARCHAR}, #{deliverySn,jdbcType=VARCHAR}, \n      #{autoConfirmDay,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, \n      #{promotionInfo,jdbcType=VARCHAR}, #{billType,jdbcType=INTEGER}, #{billHeader,jdbcType=VARCHAR}, \n      #{billContent,jdbcType=VARCHAR}, #{billReceiverPhone,jdbcType=VARCHAR}, #{billReceiverEmail,jdbcType=VARCHAR}, \n      #{receiverName,jdbcType=VARCHAR}, #{receiverPhone,jdbcType=VARCHAR}, #{receiverPostCode,jdbcType=VARCHAR}, \n      #{receiverProvince,jdbcType=VARCHAR}, #{receiverCity,jdbcType=VARCHAR}, #{receiverRegion,jdbcType=VARCHAR}, \n      #{receiverDetailAddress,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{confirmStatus,jdbcType=INTEGER}, \n      #{deleteStatus,jdbcType=INTEGER}, #{useIntegration,jdbcType=INTEGER}, #{paymentTime,jdbcType=TIMESTAMP}, \n      #{deliveryTime,jdbcType=TIMESTAMP}, #{receiveTime,jdbcType=TIMESTAMP}, #{commentTime,jdbcType=TIMESTAMP}, \n      #{modifyTime,jdbcType=TIMESTAMP})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsOrder\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"couponId != null\">\n        coupon_id,\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"memberUsername != null\">\n        member_username,\n      </if>\n      <if test=\"totalAmount != null\">\n        total_amount,\n      </if>\n      <if test=\"payAmount != null\">\n        pay_amount,\n      </if>\n      <if test=\"freightAmount != null\">\n        freight_amount,\n      </if>\n      <if test=\"promotionAmount != null\">\n        promotion_amount,\n      </if>\n      <if test=\"integrationAmount != null\">\n        integration_amount,\n      </if>\n      <if test=\"couponAmount != null\">\n        coupon_amount,\n      </if>\n      <if test=\"discountAmount != null\">\n        discount_amount,\n      </if>\n      <if test=\"payType != null\">\n        pay_type,\n      </if>\n      <if test=\"sourceType != null\">\n        source_type,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"orderType != null\">\n        order_type,\n      </if>\n      <if test=\"deliveryCompany != null\">\n        delivery_company,\n      </if>\n      <if test=\"deliverySn != null\">\n        delivery_sn,\n      </if>\n      <if test=\"autoConfirmDay != null\">\n        auto_confirm_day,\n      </if>\n      <if test=\"integration != null\">\n        integration,\n      </if>\n      <if test=\"growth != null\">\n        growth,\n      </if>\n      <if test=\"promotionInfo != null\">\n        promotion_info,\n      </if>\n      <if test=\"billType != null\">\n        bill_type,\n      </if>\n      <if test=\"billHeader != null\">\n        bill_header,\n      </if>\n      <if test=\"billContent != null\">\n        bill_content,\n      </if>\n      <if test=\"billReceiverPhone != null\">\n        bill_receiver_phone,\n      </if>\n      <if test=\"billReceiverEmail != null\">\n        bill_receiver_email,\n      </if>\n      <if test=\"receiverName != null\">\n        receiver_name,\n      </if>\n      <if test=\"receiverPhone != null\">\n        receiver_phone,\n      </if>\n      <if test=\"receiverPostCode != null\">\n        receiver_post_code,\n      </if>\n      <if test=\"receiverProvince != null\">\n        receiver_province,\n      </if>\n      <if test=\"receiverCity != null\">\n        receiver_city,\n      </if>\n      <if test=\"receiverRegion != null\">\n        receiver_region,\n      </if>\n      <if test=\"receiverDetailAddress != null\">\n        receiver_detail_address,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n      <if test=\"confirmStatus != null\">\n        confirm_status,\n      </if>\n      <if test=\"deleteStatus != null\">\n        delete_status,\n      </if>\n      <if test=\"useIntegration != null\">\n        use_integration,\n      </if>\n      <if test=\"paymentTime != null\">\n        payment_time,\n      </if>\n      <if test=\"deliveryTime != null\">\n        delivery_time,\n      </if>\n      <if test=\"receiveTime != null\">\n        receive_time,\n      </if>\n      <if test=\"commentTime != null\">\n        comment_time,\n      </if>\n      <if test=\"modifyTime != null\">\n        modify_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"couponId != null\">\n        #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        #{orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"memberUsername != null\">\n        #{memberUsername,jdbcType=VARCHAR},\n      </if>\n      <if test=\"totalAmount != null\">\n        #{totalAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"payAmount != null\">\n        #{payAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"freightAmount != null\">\n        #{freightAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"promotionAmount != null\">\n        #{promotionAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"integrationAmount != null\">\n        #{integrationAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"couponAmount != null\">\n        #{couponAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"discountAmount != null\">\n        #{discountAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"payType != null\">\n        #{payType,jdbcType=INTEGER},\n      </if>\n      <if test=\"sourceType != null\">\n        #{sourceType,jdbcType=INTEGER},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"orderType != null\">\n        #{orderType,jdbcType=INTEGER},\n      </if>\n      <if test=\"deliveryCompany != null\">\n        #{deliveryCompany,jdbcType=VARCHAR},\n      </if>\n      <if test=\"deliverySn != null\">\n        #{deliverySn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"autoConfirmDay != null\">\n        #{autoConfirmDay,jdbcType=INTEGER},\n      </if>\n      <if test=\"integration != null\">\n        #{integration,jdbcType=INTEGER},\n      </if>\n      <if test=\"growth != null\">\n        #{growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"promotionInfo != null\">\n        #{promotionInfo,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billType != null\">\n        #{billType,jdbcType=INTEGER},\n      </if>\n      <if test=\"billHeader != null\">\n        #{billHeader,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billContent != null\">\n        #{billContent,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billReceiverPhone != null\">\n        #{billReceiverPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billReceiverEmail != null\">\n        #{billReceiverEmail,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverName != null\">\n        #{receiverName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverPhone != null\">\n        #{receiverPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverPostCode != null\">\n        #{receiverPostCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverProvince != null\">\n        #{receiverProvince,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverCity != null\">\n        #{receiverCity,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverRegion != null\">\n        #{receiverRegion,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverDetailAddress != null\">\n        #{receiverDetailAddress,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"confirmStatus != null\">\n        #{confirmStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"deleteStatus != null\">\n        #{deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"useIntegration != null\">\n        #{useIntegration,jdbcType=INTEGER},\n      </if>\n      <if test=\"paymentTime != null\">\n        #{paymentTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"deliveryTime != null\">\n        #{deliveryTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"receiveTime != null\">\n        #{receiveTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"commentTime != null\">\n        #{commentTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"modifyTime != null\">\n        #{modifyTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsOrderExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_order\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_order\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.couponId != null\">\n        coupon_id = #{record.couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderSn != null\">\n        order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.memberUsername != null\">\n        member_username = #{record.memberUsername,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.totalAmount != null\">\n        total_amount = #{record.totalAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.payAmount != null\">\n        pay_amount = #{record.payAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.freightAmount != null\">\n        freight_amount = #{record.freightAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.promotionAmount != null\">\n        promotion_amount = #{record.promotionAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.integrationAmount != null\">\n        integration_amount = #{record.integrationAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.couponAmount != null\">\n        coupon_amount = #{record.couponAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.discountAmount != null\">\n        discount_amount = #{record.discountAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.payType != null\">\n        pay_type = #{record.payType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sourceType != null\">\n        source_type = #{record.sourceType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.orderType != null\">\n        order_type = #{record.orderType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.deliveryCompany != null\">\n        delivery_company = #{record.deliveryCompany,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.deliverySn != null\">\n        delivery_sn = #{record.deliverySn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.autoConfirmDay != null\">\n        auto_confirm_day = #{record.autoConfirmDay,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.integration != null\">\n        integration = #{record.integration,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.growth != null\">\n        growth = #{record.growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.promotionInfo != null\">\n        promotion_info = #{record.promotionInfo,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.billType != null\">\n        bill_type = #{record.billType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.billHeader != null\">\n        bill_header = #{record.billHeader,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.billContent != null\">\n        bill_content = #{record.billContent,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.billReceiverPhone != null\">\n        bill_receiver_phone = #{record.billReceiverPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.billReceiverEmail != null\">\n        bill_receiver_email = #{record.billReceiverEmail,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverName != null\">\n        receiver_name = #{record.receiverName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverPhone != null\">\n        receiver_phone = #{record.receiverPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverPostCode != null\">\n        receiver_post_code = #{record.receiverPostCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverProvince != null\">\n        receiver_province = #{record.receiverProvince,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverCity != null\">\n        receiver_city = #{record.receiverCity,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverRegion != null\">\n        receiver_region = #{record.receiverRegion,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiverDetailAddress != null\">\n        receiver_detail_address = #{record.receiverDetailAddress,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.confirmStatus != null\">\n        confirm_status = #{record.confirmStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.deleteStatus != null\">\n        delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.useIntegration != null\">\n        use_integration = #{record.useIntegration,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.paymentTime != null\">\n        payment_time = #{record.paymentTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.deliveryTime != null\">\n        delivery_time = #{record.deliveryTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.receiveTime != null\">\n        receive_time = #{record.receiveTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.commentTime != null\">\n        comment_time = #{record.commentTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.modifyTime != null\">\n        modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_order\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      coupon_id = #{record.couponId,jdbcType=BIGINT},\n      order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      member_username = #{record.memberUsername,jdbcType=VARCHAR},\n      total_amount = #{record.totalAmount,jdbcType=DECIMAL},\n      pay_amount = #{record.payAmount,jdbcType=DECIMAL},\n      freight_amount = #{record.freightAmount,jdbcType=DECIMAL},\n      promotion_amount = #{record.promotionAmount,jdbcType=DECIMAL},\n      integration_amount = #{record.integrationAmount,jdbcType=DECIMAL},\n      coupon_amount = #{record.couponAmount,jdbcType=DECIMAL},\n      discount_amount = #{record.discountAmount,jdbcType=DECIMAL},\n      pay_type = #{record.payType,jdbcType=INTEGER},\n      source_type = #{record.sourceType,jdbcType=INTEGER},\n      status = #{record.status,jdbcType=INTEGER},\n      order_type = #{record.orderType,jdbcType=INTEGER},\n      delivery_company = #{record.deliveryCompany,jdbcType=VARCHAR},\n      delivery_sn = #{record.deliverySn,jdbcType=VARCHAR},\n      auto_confirm_day = #{record.autoConfirmDay,jdbcType=INTEGER},\n      integration = #{record.integration,jdbcType=INTEGER},\n      growth = #{record.growth,jdbcType=INTEGER},\n      promotion_info = #{record.promotionInfo,jdbcType=VARCHAR},\n      bill_type = #{record.billType,jdbcType=INTEGER},\n      bill_header = #{record.billHeader,jdbcType=VARCHAR},\n      bill_content = #{record.billContent,jdbcType=VARCHAR},\n      bill_receiver_phone = #{record.billReceiverPhone,jdbcType=VARCHAR},\n      bill_receiver_email = #{record.billReceiverEmail,jdbcType=VARCHAR},\n      receiver_name = #{record.receiverName,jdbcType=VARCHAR},\n      receiver_phone = #{record.receiverPhone,jdbcType=VARCHAR},\n      receiver_post_code = #{record.receiverPostCode,jdbcType=VARCHAR},\n      receiver_province = #{record.receiverProvince,jdbcType=VARCHAR},\n      receiver_city = #{record.receiverCity,jdbcType=VARCHAR},\n      receiver_region = #{record.receiverRegion,jdbcType=VARCHAR},\n      receiver_detail_address = #{record.receiverDetailAddress,jdbcType=VARCHAR},\n      note = #{record.note,jdbcType=VARCHAR},\n      confirm_status = #{record.confirmStatus,jdbcType=INTEGER},\n      delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      use_integration = #{record.useIntegration,jdbcType=INTEGER},\n      payment_time = #{record.paymentTime,jdbcType=TIMESTAMP},\n      delivery_time = #{record.deliveryTime,jdbcType=TIMESTAMP},\n      receive_time = #{record.receiveTime,jdbcType=TIMESTAMP},\n      comment_time = #{record.commentTime,jdbcType=TIMESTAMP},\n      modify_time = #{record.modifyTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsOrder\">\n    update oms_order\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"couponId != null\">\n        coupon_id = #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn = #{orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"memberUsername != null\">\n        member_username = #{memberUsername,jdbcType=VARCHAR},\n      </if>\n      <if test=\"totalAmount != null\">\n        total_amount = #{totalAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"payAmount != null\">\n        pay_amount = #{payAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"freightAmount != null\">\n        freight_amount = #{freightAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"promotionAmount != null\">\n        promotion_amount = #{promotionAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"integrationAmount != null\">\n        integration_amount = #{integrationAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"couponAmount != null\">\n        coupon_amount = #{couponAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"discountAmount != null\">\n        discount_amount = #{discountAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"payType != null\">\n        pay_type = #{payType,jdbcType=INTEGER},\n      </if>\n      <if test=\"sourceType != null\">\n        source_type = #{sourceType,jdbcType=INTEGER},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"orderType != null\">\n        order_type = #{orderType,jdbcType=INTEGER},\n      </if>\n      <if test=\"deliveryCompany != null\">\n        delivery_company = #{deliveryCompany,jdbcType=VARCHAR},\n      </if>\n      <if test=\"deliverySn != null\">\n        delivery_sn = #{deliverySn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"autoConfirmDay != null\">\n        auto_confirm_day = #{autoConfirmDay,jdbcType=INTEGER},\n      </if>\n      <if test=\"integration != null\">\n        integration = #{integration,jdbcType=INTEGER},\n      </if>\n      <if test=\"growth != null\">\n        growth = #{growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"promotionInfo != null\">\n        promotion_info = #{promotionInfo,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billType != null\">\n        bill_type = #{billType,jdbcType=INTEGER},\n      </if>\n      <if test=\"billHeader != null\">\n        bill_header = #{billHeader,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billContent != null\">\n        bill_content = #{billContent,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billReceiverPhone != null\">\n        bill_receiver_phone = #{billReceiverPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"billReceiverEmail != null\">\n        bill_receiver_email = #{billReceiverEmail,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverName != null\">\n        receiver_name = #{receiverName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverPhone != null\">\n        receiver_phone = #{receiverPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverPostCode != null\">\n        receiver_post_code = #{receiverPostCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverProvince != null\">\n        receiver_province = #{receiverProvince,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverCity != null\">\n        receiver_city = #{receiverCity,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverRegion != null\">\n        receiver_region = #{receiverRegion,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiverDetailAddress != null\">\n        receiver_detail_address = #{receiverDetailAddress,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"confirmStatus != null\">\n        confirm_status = #{confirmStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"deleteStatus != null\">\n        delete_status = #{deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"useIntegration != null\">\n        use_integration = #{useIntegration,jdbcType=INTEGER},\n      </if>\n      <if test=\"paymentTime != null\">\n        payment_time = #{paymentTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"deliveryTime != null\">\n        delivery_time = #{deliveryTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"receiveTime != null\">\n        receive_time = #{receiveTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"commentTime != null\">\n        comment_time = #{commentTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"modifyTime != null\">\n        modify_time = #{modifyTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsOrder\">\n    update oms_order\n    set member_id = #{memberId,jdbcType=BIGINT},\n      coupon_id = #{couponId,jdbcType=BIGINT},\n      order_sn = #{orderSn,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      member_username = #{memberUsername,jdbcType=VARCHAR},\n      total_amount = #{totalAmount,jdbcType=DECIMAL},\n      pay_amount = #{payAmount,jdbcType=DECIMAL},\n      freight_amount = #{freightAmount,jdbcType=DECIMAL},\n      promotion_amount = #{promotionAmount,jdbcType=DECIMAL},\n      integration_amount = #{integrationAmount,jdbcType=DECIMAL},\n      coupon_amount = #{couponAmount,jdbcType=DECIMAL},\n      discount_amount = #{discountAmount,jdbcType=DECIMAL},\n      pay_type = #{payType,jdbcType=INTEGER},\n      source_type = #{sourceType,jdbcType=INTEGER},\n      status = #{status,jdbcType=INTEGER},\n      order_type = #{orderType,jdbcType=INTEGER},\n      delivery_company = #{deliveryCompany,jdbcType=VARCHAR},\n      delivery_sn = #{deliverySn,jdbcType=VARCHAR},\n      auto_confirm_day = #{autoConfirmDay,jdbcType=INTEGER},\n      integration = #{integration,jdbcType=INTEGER},\n      growth = #{growth,jdbcType=INTEGER},\n      promotion_info = #{promotionInfo,jdbcType=VARCHAR},\n      bill_type = #{billType,jdbcType=INTEGER},\n      bill_header = #{billHeader,jdbcType=VARCHAR},\n      bill_content = #{billContent,jdbcType=VARCHAR},\n      bill_receiver_phone = #{billReceiverPhone,jdbcType=VARCHAR},\n      bill_receiver_email = #{billReceiverEmail,jdbcType=VARCHAR},\n      receiver_name = #{receiverName,jdbcType=VARCHAR},\n      receiver_phone = #{receiverPhone,jdbcType=VARCHAR},\n      receiver_post_code = #{receiverPostCode,jdbcType=VARCHAR},\n      receiver_province = #{receiverProvince,jdbcType=VARCHAR},\n      receiver_city = #{receiverCity,jdbcType=VARCHAR},\n      receiver_region = #{receiverRegion,jdbcType=VARCHAR},\n      receiver_detail_address = #{receiverDetailAddress,jdbcType=VARCHAR},\n      note = #{note,jdbcType=VARCHAR},\n      confirm_status = #{confirmStatus,jdbcType=INTEGER},\n      delete_status = #{deleteStatus,jdbcType=INTEGER},\n      use_integration = #{useIntegration,jdbcType=INTEGER},\n      payment_time = #{paymentTime,jdbcType=TIMESTAMP},\n      delivery_time = #{deliveryTime,jdbcType=TIMESTAMP},\n      receive_time = #{receiveTime,jdbcType=TIMESTAMP},\n      comment_time = #{commentTime,jdbcType=TIMESTAMP},\n      modify_time = #{modifyTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderOperateHistoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsOrderOperateHistoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsOrderOperateHistory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"order_id\" jdbcType=\"BIGINT\" property=\"orderId\" />\n    <result column=\"operate_man\" jdbcType=\"VARCHAR\" property=\"operateMan\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"order_status\" jdbcType=\"INTEGER\" property=\"orderStatus\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, order_id, operate_man, create_time, order_status, note\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_order_operate_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_order_operate_history\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_order_operate_history\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistoryExample\">\n    delete from oms_order_operate_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_operate_history (order_id, operate_man, create_time, \n      order_status, note)\n    values (#{orderId,jdbcType=BIGINT}, #{operateMan,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, \n      #{orderStatus,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_operate_history\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"orderId != null\">\n        order_id,\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"orderStatus != null\">\n        order_status,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"orderId != null\">\n        #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"operateMan != null\">\n        #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"orderStatus != null\">\n        #{orderStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_order_operate_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_order_operate_history\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderId != null\">\n        order_id = #{record.orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.operateMan != null\">\n        operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.orderStatus != null\">\n        order_status = #{record.orderStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_order_operate_history\n    set id = #{record.id,jdbcType=BIGINT},\n      order_id = #{record.orderId,jdbcType=BIGINT},\n      operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      order_status = #{record.orderStatus,jdbcType=INTEGER},\n      note = #{record.note,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistory\">\n    update oms_order_operate_history\n    <set>\n      <if test=\"orderId != null\">\n        order_id = #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man = #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"orderStatus != null\">\n        order_status = #{orderStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsOrderOperateHistory\">\n    update oms_order_operate_history\n    set order_id = #{orderId,jdbcType=BIGINT},\n      operate_man = #{operateMan,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      order_status = #{orderStatus,jdbcType=INTEGER},\n      note = #{note,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderReturnApplyMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsOrderReturnApplyMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsOrderReturnApply\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"order_id\" jdbcType=\"BIGINT\" property=\"orderId\" />\n    <result column=\"company_address_id\" jdbcType=\"BIGINT\" property=\"companyAddressId\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"order_sn\" jdbcType=\"VARCHAR\" property=\"orderSn\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"member_username\" jdbcType=\"VARCHAR\" property=\"memberUsername\" />\n    <result column=\"return_amount\" jdbcType=\"DECIMAL\" property=\"returnAmount\" />\n    <result column=\"return_name\" jdbcType=\"VARCHAR\" property=\"returnName\" />\n    <result column=\"return_phone\" jdbcType=\"VARCHAR\" property=\"returnPhone\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"handle_time\" jdbcType=\"TIMESTAMP\" property=\"handleTime\" />\n    <result column=\"product_pic\" jdbcType=\"VARCHAR\" property=\"productPic\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"product_brand\" jdbcType=\"VARCHAR\" property=\"productBrand\" />\n    <result column=\"product_attr\" jdbcType=\"VARCHAR\" property=\"productAttr\" />\n    <result column=\"product_count\" jdbcType=\"INTEGER\" property=\"productCount\" />\n    <result column=\"product_price\" jdbcType=\"DECIMAL\" property=\"productPrice\" />\n    <result column=\"product_real_price\" jdbcType=\"DECIMAL\" property=\"productRealPrice\" />\n    <result column=\"reason\" jdbcType=\"VARCHAR\" property=\"reason\" />\n    <result column=\"description\" jdbcType=\"VARCHAR\" property=\"description\" />\n    <result column=\"proof_pics\" jdbcType=\"VARCHAR\" property=\"proofPics\" />\n    <result column=\"handle_note\" jdbcType=\"VARCHAR\" property=\"handleNote\" />\n    <result column=\"handle_man\" jdbcType=\"VARCHAR\" property=\"handleMan\" />\n    <result column=\"receive_man\" jdbcType=\"VARCHAR\" property=\"receiveMan\" />\n    <result column=\"receive_time\" jdbcType=\"TIMESTAMP\" property=\"receiveTime\" />\n    <result column=\"receive_note\" jdbcType=\"VARCHAR\" property=\"receiveNote\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, order_id, company_address_id, product_id, order_sn, create_time, member_username, \n    return_amount, return_name, return_phone, status, handle_time, product_pic, product_name, \n    product_brand, product_attr, product_count, product_price, product_real_price, reason, \n    description, proof_pics, handle_note, handle_man, receive_man, receive_time, receive_note\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsOrderReturnApplyExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_order_return_apply\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_order_return_apply\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_order_return_apply\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsOrderReturnApplyExample\">\n    delete from oms_order_return_apply\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsOrderReturnApply\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_return_apply (order_id, company_address_id, product_id, \n      order_sn, create_time, member_username, \n      return_amount, return_name, return_phone, \n      status, handle_time, product_pic, \n      product_name, product_brand, product_attr, \n      product_count, product_price, product_real_price, \n      reason, description, proof_pics, \n      handle_note, handle_man, receive_man, \n      receive_time, receive_note)\n    values (#{orderId,jdbcType=BIGINT}, #{companyAddressId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, \n      #{orderSn,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, \n      #{returnAmount,jdbcType=DECIMAL}, #{returnName,jdbcType=VARCHAR}, #{returnPhone,jdbcType=VARCHAR}, \n      #{status,jdbcType=INTEGER}, #{handleTime,jdbcType=TIMESTAMP}, #{productPic,jdbcType=VARCHAR}, \n      #{productName,jdbcType=VARCHAR}, #{productBrand,jdbcType=VARCHAR}, #{productAttr,jdbcType=VARCHAR}, \n      #{productCount,jdbcType=INTEGER}, #{productPrice,jdbcType=DECIMAL}, #{productRealPrice,jdbcType=DECIMAL}, \n      #{reason,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{proofPics,jdbcType=VARCHAR}, \n      #{handleNote,jdbcType=VARCHAR}, #{handleMan,jdbcType=VARCHAR}, #{receiveMan,jdbcType=VARCHAR}, \n      #{receiveTime,jdbcType=TIMESTAMP}, #{receiveNote,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsOrderReturnApply\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_return_apply\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"orderId != null\">\n        order_id,\n      </if>\n      <if test=\"companyAddressId != null\">\n        company_address_id,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"memberUsername != null\">\n        member_username,\n      </if>\n      <if test=\"returnAmount != null\">\n        return_amount,\n      </if>\n      <if test=\"returnName != null\">\n        return_name,\n      </if>\n      <if test=\"returnPhone != null\">\n        return_phone,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"handleTime != null\">\n        handle_time,\n      </if>\n      <if test=\"productPic != null\">\n        product_pic,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"productBrand != null\">\n        product_brand,\n      </if>\n      <if test=\"productAttr != null\">\n        product_attr,\n      </if>\n      <if test=\"productCount != null\">\n        product_count,\n      </if>\n      <if test=\"productPrice != null\">\n        product_price,\n      </if>\n      <if test=\"productRealPrice != null\">\n        product_real_price,\n      </if>\n      <if test=\"reason != null\">\n        reason,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n      <if test=\"proofPics != null\">\n        proof_pics,\n      </if>\n      <if test=\"handleNote != null\">\n        handle_note,\n      </if>\n      <if test=\"handleMan != null\">\n        handle_man,\n      </if>\n      <if test=\"receiveMan != null\">\n        receive_man,\n      </if>\n      <if test=\"receiveTime != null\">\n        receive_time,\n      </if>\n      <if test=\"receiveNote != null\">\n        receive_note,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"orderId != null\">\n        #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"companyAddressId != null\">\n        #{companyAddressId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        #{orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"memberUsername != null\">\n        #{memberUsername,jdbcType=VARCHAR},\n      </if>\n      <if test=\"returnAmount != null\">\n        #{returnAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"returnName != null\">\n        #{returnName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"returnPhone != null\">\n        #{returnPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"handleTime != null\">\n        #{handleTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"productPic != null\">\n        #{productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productBrand != null\">\n        #{productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productAttr != null\">\n        #{productAttr,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCount != null\">\n        #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"productPrice != null\">\n        #{productPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"productRealPrice != null\">\n        #{productRealPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"reason != null\">\n        #{reason,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"proofPics != null\">\n        #{proofPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"handleNote != null\">\n        #{handleNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"handleMan != null\">\n        #{handleMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiveMan != null\">\n        #{receiveMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiveTime != null\">\n        #{receiveTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"receiveNote != null\">\n        #{receiveNote,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsOrderReturnApplyExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_order_return_apply\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_order_return_apply\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderId != null\">\n        order_id = #{record.orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.companyAddressId != null\">\n        company_address_id = #{record.companyAddressId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderSn != null\">\n        order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.memberUsername != null\">\n        member_username = #{record.memberUsername,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.returnAmount != null\">\n        return_amount = #{record.returnAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.returnName != null\">\n        return_name = #{record.returnName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.returnPhone != null\">\n        return_phone = #{record.returnPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.handleTime != null\">\n        handle_time = #{record.handleTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.productPic != null\">\n        product_pic = #{record.productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productBrand != null\">\n        product_brand = #{record.productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productAttr != null\">\n        product_attr = #{record.productAttr,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productCount != null\">\n        product_count = #{record.productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productPrice != null\">\n        product_price = #{record.productPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.productRealPrice != null\">\n        product_real_price = #{record.productRealPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.reason != null\">\n        reason = #{record.reason,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.proofPics != null\">\n        proof_pics = #{record.proofPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.handleNote != null\">\n        handle_note = #{record.handleNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.handleMan != null\">\n        handle_man = #{record.handleMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiveMan != null\">\n        receive_man = #{record.receiveMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.receiveTime != null\">\n        receive_time = #{record.receiveTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.receiveNote != null\">\n        receive_note = #{record.receiveNote,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_order_return_apply\n    set id = #{record.id,jdbcType=BIGINT},\n      order_id = #{record.orderId,jdbcType=BIGINT},\n      company_address_id = #{record.companyAddressId,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      member_username = #{record.memberUsername,jdbcType=VARCHAR},\n      return_amount = #{record.returnAmount,jdbcType=DECIMAL},\n      return_name = #{record.returnName,jdbcType=VARCHAR},\n      return_phone = #{record.returnPhone,jdbcType=VARCHAR},\n      status = #{record.status,jdbcType=INTEGER},\n      handle_time = #{record.handleTime,jdbcType=TIMESTAMP},\n      product_pic = #{record.productPic,jdbcType=VARCHAR},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      product_brand = #{record.productBrand,jdbcType=VARCHAR},\n      product_attr = #{record.productAttr,jdbcType=VARCHAR},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      product_price = #{record.productPrice,jdbcType=DECIMAL},\n      product_real_price = #{record.productRealPrice,jdbcType=DECIMAL},\n      reason = #{record.reason,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=VARCHAR},\n      proof_pics = #{record.proofPics,jdbcType=VARCHAR},\n      handle_note = #{record.handleNote,jdbcType=VARCHAR},\n      handle_man = #{record.handleMan,jdbcType=VARCHAR},\n      receive_man = #{record.receiveMan,jdbcType=VARCHAR},\n      receive_time = #{record.receiveTime,jdbcType=TIMESTAMP},\n      receive_note = #{record.receiveNote,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsOrderReturnApply\">\n    update oms_order_return_apply\n    <set>\n      <if test=\"orderId != null\">\n        order_id = #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"companyAddressId != null\">\n        company_address_id = #{companyAddressId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn = #{orderSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"memberUsername != null\">\n        member_username = #{memberUsername,jdbcType=VARCHAR},\n      </if>\n      <if test=\"returnAmount != null\">\n        return_amount = #{returnAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"returnName != null\">\n        return_name = #{returnName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"returnPhone != null\">\n        return_phone = #{returnPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"handleTime != null\">\n        handle_time = #{handleTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"productPic != null\">\n        product_pic = #{productPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productBrand != null\">\n        product_brand = #{productBrand,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productAttr != null\">\n        product_attr = #{productAttr,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCount != null\">\n        product_count = #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"productPrice != null\">\n        product_price = #{productPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"productRealPrice != null\">\n        product_real_price = #{productRealPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"reason != null\">\n        reason = #{reason,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"proofPics != null\">\n        proof_pics = #{proofPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"handleNote != null\">\n        handle_note = #{handleNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"handleMan != null\">\n        handle_man = #{handleMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiveMan != null\">\n        receive_man = #{receiveMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"receiveTime != null\">\n        receive_time = #{receiveTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"receiveNote != null\">\n        receive_note = #{receiveNote,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsOrderReturnApply\">\n    update oms_order_return_apply\n    set order_id = #{orderId,jdbcType=BIGINT},\n      company_address_id = #{companyAddressId,jdbcType=BIGINT},\n      product_id = #{productId,jdbcType=BIGINT},\n      order_sn = #{orderSn,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      member_username = #{memberUsername,jdbcType=VARCHAR},\n      return_amount = #{returnAmount,jdbcType=DECIMAL},\n      return_name = #{returnName,jdbcType=VARCHAR},\n      return_phone = #{returnPhone,jdbcType=VARCHAR},\n      status = #{status,jdbcType=INTEGER},\n      handle_time = #{handleTime,jdbcType=TIMESTAMP},\n      product_pic = #{productPic,jdbcType=VARCHAR},\n      product_name = #{productName,jdbcType=VARCHAR},\n      product_brand = #{productBrand,jdbcType=VARCHAR},\n      product_attr = #{productAttr,jdbcType=VARCHAR},\n      product_count = #{productCount,jdbcType=INTEGER},\n      product_price = #{productPrice,jdbcType=DECIMAL},\n      product_real_price = #{productRealPrice,jdbcType=DECIMAL},\n      reason = #{reason,jdbcType=VARCHAR},\n      description = #{description,jdbcType=VARCHAR},\n      proof_pics = #{proofPics,jdbcType=VARCHAR},\n      handle_note = #{handleNote,jdbcType=VARCHAR},\n      handle_man = #{handleMan,jdbcType=VARCHAR},\n      receive_man = #{receiveMan,jdbcType=VARCHAR},\n      receive_time = #{receiveTime,jdbcType=TIMESTAMP},\n      receive_note = #{receiveNote,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderReturnReasonMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsOrderReturnReasonMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsOrderReturnReason\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, sort, status, create_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsOrderReturnReasonExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_order_return_reason\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_order_return_reason\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_order_return_reason\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsOrderReturnReasonExample\">\n    delete from oms_order_return_reason\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsOrderReturnReason\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_return_reason (name, sort, status, \n      create_time)\n    values (#{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, \n      #{createTime,jdbcType=TIMESTAMP})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsOrderReturnReason\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_return_reason\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsOrderReturnReasonExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_order_return_reason\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_order_return_reason\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_order_return_reason\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER},\n      status = #{record.status,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsOrderReturnReason\">\n    update oms_order_return_reason\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsOrderReturnReason\">\n    update oms_order_return_reason\n    set name = #{name,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER},\n      status = #{status,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderSettingMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.OmsOrderSettingMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.OmsOrderSetting\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"flash_order_overtime\" jdbcType=\"INTEGER\" property=\"flashOrderOvertime\" />\n    <result column=\"normal_order_overtime\" jdbcType=\"INTEGER\" property=\"normalOrderOvertime\" />\n    <result column=\"confirm_overtime\" jdbcType=\"INTEGER\" property=\"confirmOvertime\" />\n    <result column=\"finish_overtime\" jdbcType=\"INTEGER\" property=\"finishOvertime\" />\n    <result column=\"comment_overtime\" jdbcType=\"INTEGER\" property=\"commentOvertime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, flash_order_overtime, normal_order_overtime, confirm_overtime, finish_overtime, \n    comment_overtime\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.OmsOrderSettingExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from oms_order_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from oms_order_setting\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from oms_order_setting\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.OmsOrderSettingExample\">\n    delete from oms_order_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.OmsOrderSetting\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_setting (flash_order_overtime, normal_order_overtime, \n      confirm_overtime, finish_overtime, comment_overtime\n      )\n    values (#{flashOrderOvertime,jdbcType=INTEGER}, #{normalOrderOvertime,jdbcType=INTEGER}, \n      #{confirmOvertime,jdbcType=INTEGER}, #{finishOvertime,jdbcType=INTEGER}, #{commentOvertime,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.OmsOrderSetting\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into oms_order_setting\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"flashOrderOvertime != null\">\n        flash_order_overtime,\n      </if>\n      <if test=\"normalOrderOvertime != null\">\n        normal_order_overtime,\n      </if>\n      <if test=\"confirmOvertime != null\">\n        confirm_overtime,\n      </if>\n      <if test=\"finishOvertime != null\">\n        finish_overtime,\n      </if>\n      <if test=\"commentOvertime != null\">\n        comment_overtime,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"flashOrderOvertime != null\">\n        #{flashOrderOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"normalOrderOvertime != null\">\n        #{normalOrderOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"confirmOvertime != null\">\n        #{confirmOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"finishOvertime != null\">\n        #{finishOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"commentOvertime != null\">\n        #{commentOvertime,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.OmsOrderSettingExample\" resultType=\"java.lang.Long\">\n    select count(*) from oms_order_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update oms_order_setting\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.flashOrderOvertime != null\">\n        flash_order_overtime = #{record.flashOrderOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.normalOrderOvertime != null\">\n        normal_order_overtime = #{record.normalOrderOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.confirmOvertime != null\">\n        confirm_overtime = #{record.confirmOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.finishOvertime != null\">\n        finish_overtime = #{record.finishOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.commentOvertime != null\">\n        comment_overtime = #{record.commentOvertime,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update oms_order_setting\n    set id = #{record.id,jdbcType=BIGINT},\n      flash_order_overtime = #{record.flashOrderOvertime,jdbcType=INTEGER},\n      normal_order_overtime = #{record.normalOrderOvertime,jdbcType=INTEGER},\n      confirm_overtime = #{record.confirmOvertime,jdbcType=INTEGER},\n      finish_overtime = #{record.finishOvertime,jdbcType=INTEGER},\n      comment_overtime = #{record.commentOvertime,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.OmsOrderSetting\">\n    update oms_order_setting\n    <set>\n      <if test=\"flashOrderOvertime != null\">\n        flash_order_overtime = #{flashOrderOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"normalOrderOvertime != null\">\n        normal_order_overtime = #{normalOrderOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"confirmOvertime != null\">\n        confirm_overtime = #{confirmOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"finishOvertime != null\">\n        finish_overtime = #{finishOvertime,jdbcType=INTEGER},\n      </if>\n      <if test=\"commentOvertime != null\">\n        comment_overtime = #{commentOvertime,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.OmsOrderSetting\">\n    update oms_order_setting\n    set flash_order_overtime = #{flashOrderOvertime,jdbcType=INTEGER},\n      normal_order_overtime = #{normalOrderOvertime,jdbcType=INTEGER},\n      confirm_overtime = #{confirmOvertime,jdbcType=INTEGER},\n      finish_overtime = #{finishOvertime,jdbcType=INTEGER},\n      comment_overtime = #{commentOvertime,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsAlbumMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsAlbumMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsAlbum\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"cover_pic\" jdbcType=\"VARCHAR\" property=\"coverPic\" />\n    <result column=\"pic_count\" jdbcType=\"INTEGER\" property=\"picCount\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"description\" jdbcType=\"VARCHAR\" property=\"description\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, cover_pic, pic_count, sort, description\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsAlbumExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_album\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_album\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_album\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsAlbumExample\">\n    delete from pms_album\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsAlbum\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_album (name, cover_pic, pic_count, \n      sort, description)\n    values (#{name,jdbcType=VARCHAR}, #{coverPic,jdbcType=VARCHAR}, #{picCount,jdbcType=INTEGER}, \n      #{sort,jdbcType=INTEGER}, #{description,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsAlbum\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_album\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"coverPic != null\">\n        cover_pic,\n      </if>\n      <if test=\"picCount != null\">\n        pic_count,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"coverPic != null\">\n        #{coverPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"picCount != null\">\n        #{picCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsAlbumExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_album\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_album\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.coverPic != null\">\n        cover_pic = #{record.coverPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.picCount != null\">\n        pic_count = #{record.picCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_album\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      cover_pic = #{record.coverPic,jdbcType=VARCHAR},\n      pic_count = #{record.picCount,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER},\n      description = #{record.description,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsAlbum\">\n    update pms_album\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"coverPic != null\">\n        cover_pic = #{coverPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"picCount != null\">\n        pic_count = #{picCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsAlbum\">\n    update pms_album\n    set name = #{name,jdbcType=VARCHAR},\n      cover_pic = #{coverPic,jdbcType=VARCHAR},\n      pic_count = #{picCount,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER},\n      description = #{description,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsAlbumPicMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsAlbumPicMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsAlbumPic\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"album_id\" jdbcType=\"BIGINT\" property=\"albumId\" />\n    <result column=\"pic\" jdbcType=\"VARCHAR\" property=\"pic\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, album_id, pic\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsAlbumPicExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_album_pic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_album_pic\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_album_pic\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsAlbumPicExample\">\n    delete from pms_album_pic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsAlbumPic\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_album_pic (album_id, pic)\n    values (#{albumId,jdbcType=BIGINT}, #{pic,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsAlbumPic\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_album_pic\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"albumId != null\">\n        album_id,\n      </if>\n      <if test=\"pic != null\">\n        pic,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"albumId != null\">\n        #{albumId,jdbcType=BIGINT},\n      </if>\n      <if test=\"pic != null\">\n        #{pic,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsAlbumPicExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_album_pic\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_album_pic\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.albumId != null\">\n        album_id = #{record.albumId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.pic != null\">\n        pic = #{record.pic,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_album_pic\n    set id = #{record.id,jdbcType=BIGINT},\n      album_id = #{record.albumId,jdbcType=BIGINT},\n      pic = #{record.pic,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsAlbumPic\">\n    update pms_album_pic\n    <set>\n      <if test=\"albumId != null\">\n        album_id = #{albumId,jdbcType=BIGINT},\n      </if>\n      <if test=\"pic != null\">\n        pic = #{pic,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsAlbumPic\">\n    update pms_album_pic\n    set album_id = #{albumId,jdbcType=BIGINT},\n      pic = #{pic,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsBrandMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsBrandMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsBrand\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"first_letter\" jdbcType=\"VARCHAR\" property=\"firstLetter\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"factory_status\" jdbcType=\"INTEGER\" property=\"factoryStatus\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"product_count\" jdbcType=\"INTEGER\" property=\"productCount\" />\n    <result column=\"product_comment_count\" jdbcType=\"INTEGER\" property=\"productCommentCount\" />\n    <result column=\"logo\" jdbcType=\"VARCHAR\" property=\"logo\" />\n    <result column=\"big_pic\" jdbcType=\"VARCHAR\" property=\"bigPic\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.PmsBrand\">\n    <result column=\"brand_story\" jdbcType=\"LONGVARCHAR\" property=\"brandStory\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, first_letter, sort, factory_status, show_status, product_count, product_comment_count, \n    logo, big_pic\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    brand_story\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.PmsBrandExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsBrandExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_brand\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_brand\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsBrandExample\">\n    delete from pms_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsBrand\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_brand (name, first_letter, sort, \n      factory_status, show_status, product_count, \n      product_comment_count, logo, big_pic, \n      brand_story)\n    values (#{name,jdbcType=VARCHAR}, #{firstLetter,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, \n      #{factoryStatus,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{productCount,jdbcType=INTEGER}, \n      #{productCommentCount,jdbcType=INTEGER}, #{logo,jdbcType=VARCHAR}, #{bigPic,jdbcType=VARCHAR}, \n      #{brandStory,jdbcType=LONGVARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsBrand\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_brand\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"firstLetter != null\">\n        first_letter,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"factoryStatus != null\">\n        factory_status,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"productCount != null\">\n        product_count,\n      </if>\n      <if test=\"productCommentCount != null\">\n        product_comment_count,\n      </if>\n      <if test=\"logo != null\">\n        logo,\n      </if>\n      <if test=\"bigPic != null\">\n        big_pic,\n      </if>\n      <if test=\"brandStory != null\">\n        brand_story,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"firstLetter != null\">\n        #{firstLetter,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"factoryStatus != null\">\n        #{factoryStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCount != null\">\n        #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCommentCount != null\">\n        #{productCommentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"logo != null\">\n        #{logo,jdbcType=VARCHAR},\n      </if>\n      <if test=\"bigPic != null\">\n        #{bigPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"brandStory != null\">\n        #{brandStory,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsBrandExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_brand\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.firstLetter != null\">\n        first_letter = #{record.firstLetter,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.factoryStatus != null\">\n        factory_status = #{record.factoryStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productCount != null\">\n        product_count = #{record.productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productCommentCount != null\">\n        product_comment_count = #{record.productCommentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.logo != null\">\n        logo = #{record.logo,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.bigPic != null\">\n        big_pic = #{record.bigPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.brandStory != null\">\n        brand_story = #{record.brandStory,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update pms_brand\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      first_letter = #{record.firstLetter,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER},\n      factory_status = #{record.factoryStatus,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      product_comment_count = #{record.productCommentCount,jdbcType=INTEGER},\n      logo = #{record.logo,jdbcType=VARCHAR},\n      big_pic = #{record.bigPic,jdbcType=VARCHAR},\n      brand_story = #{record.brandStory,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_brand\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      first_letter = #{record.firstLetter,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER},\n      factory_status = #{record.factoryStatus,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      product_comment_count = #{record.productCommentCount,jdbcType=INTEGER},\n      logo = #{record.logo,jdbcType=VARCHAR},\n      big_pic = #{record.bigPic,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsBrand\">\n    update pms_brand\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"firstLetter != null\">\n        first_letter = #{firstLetter,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"factoryStatus != null\">\n        factory_status = #{factoryStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCount != null\">\n        product_count = #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCommentCount != null\">\n        product_comment_count = #{productCommentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"logo != null\">\n        logo = #{logo,jdbcType=VARCHAR},\n      </if>\n      <if test=\"bigPic != null\">\n        big_pic = #{bigPic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"brandStory != null\">\n        brand_story = #{brandStory,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.PmsBrand\">\n    update pms_brand\n    set name = #{name,jdbcType=VARCHAR},\n      first_letter = #{firstLetter,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER},\n      factory_status = #{factoryStatus,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      product_count = #{productCount,jdbcType=INTEGER},\n      product_comment_count = #{productCommentCount,jdbcType=INTEGER},\n      logo = #{logo,jdbcType=VARCHAR},\n      big_pic = #{bigPic,jdbcType=VARCHAR},\n      brand_story = #{brandStory,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsBrand\">\n    update pms_brand\n    set name = #{name,jdbcType=VARCHAR},\n      first_letter = #{firstLetter,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER},\n      factory_status = #{factoryStatus,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      product_count = #{productCount,jdbcType=INTEGER},\n      product_comment_count = #{productCommentCount,jdbcType=INTEGER},\n      logo = #{logo,jdbcType=VARCHAR},\n      big_pic = #{bigPic,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsCommentMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsCommentMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsComment\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"member_nick_name\" jdbcType=\"VARCHAR\" property=\"memberNickName\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"star\" jdbcType=\"INTEGER\" property=\"star\" />\n    <result column=\"member_ip\" jdbcType=\"VARCHAR\" property=\"memberIp\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"product_attribute\" jdbcType=\"VARCHAR\" property=\"productAttribute\" />\n    <result column=\"collect_couont\" jdbcType=\"INTEGER\" property=\"collectCouont\" />\n    <result column=\"read_count\" jdbcType=\"INTEGER\" property=\"readCount\" />\n    <result column=\"pics\" jdbcType=\"VARCHAR\" property=\"pics\" />\n    <result column=\"member_icon\" jdbcType=\"VARCHAR\" property=\"memberIcon\" />\n    <result column=\"replay_count\" jdbcType=\"INTEGER\" property=\"replayCount\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.PmsComment\">\n    <result column=\"content\" jdbcType=\"LONGVARCHAR\" property=\"content\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, member_nick_name, product_name, star, member_ip, create_time, show_status, \n    product_attribute, collect_couont, read_count, pics, member_icon, replay_count\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    content\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.PmsCommentExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsCommentExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_comment\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_comment\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsCommentExample\">\n    delete from pms_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsComment\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_comment (product_id, member_nick_name, product_name, \n      star, member_ip, create_time, \n      show_status, product_attribute, collect_couont, \n      read_count, pics, member_icon, \n      replay_count, content)\n    values (#{productId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, \n      #{star,jdbcType=INTEGER}, #{memberIp,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, \n      #{showStatus,jdbcType=INTEGER}, #{productAttribute,jdbcType=VARCHAR}, #{collectCouont,jdbcType=INTEGER}, \n      #{readCount,jdbcType=INTEGER}, #{pics,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, \n      #{replayCount,jdbcType=INTEGER}, #{content,jdbcType=LONGVARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsComment\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_comment\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"memberNickName != null\">\n        member_nick_name,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"star != null\">\n        star,\n      </if>\n      <if test=\"memberIp != null\">\n        member_ip,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"productAttribute != null\">\n        product_attribute,\n      </if>\n      <if test=\"collectCouont != null\">\n        collect_couont,\n      </if>\n      <if test=\"readCount != null\">\n        read_count,\n      </if>\n      <if test=\"pics != null\">\n        pics,\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon,\n      </if>\n      <if test=\"replayCount != null\">\n        replay_count,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberNickName != null\">\n        #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"star != null\">\n        #{star,jdbcType=INTEGER},\n      </if>\n      <if test=\"memberIp != null\">\n        #{memberIp,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"productAttribute != null\">\n        #{productAttribute,jdbcType=VARCHAR},\n      </if>\n      <if test=\"collectCouont != null\">\n        #{collectCouont,jdbcType=INTEGER},\n      </if>\n      <if test=\"readCount != null\">\n        #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"pics != null\">\n        #{pics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberIcon != null\">\n        #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"replayCount != null\">\n        #{replayCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsCommentExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_comment\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_comment\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberNickName != null\">\n        member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.star != null\">\n        star = #{record.star,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.memberIp != null\">\n        member_ip = #{record.memberIp,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productAttribute != null\">\n        product_attribute = #{record.productAttribute,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.collectCouont != null\">\n        collect_couont = #{record.collectCouont,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.readCount != null\">\n        read_count = #{record.readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.pics != null\">\n        pics = #{record.pics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.memberIcon != null\">\n        member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.replayCount != null\">\n        replay_count = #{record.replayCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update pms_comment\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      star = #{record.star,jdbcType=INTEGER},\n      member_ip = #{record.memberIp,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      product_attribute = #{record.productAttribute,jdbcType=VARCHAR},\n      collect_couont = #{record.collectCouont,jdbcType=INTEGER},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      pics = #{record.pics,jdbcType=VARCHAR},\n      member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      replay_count = #{record.replayCount,jdbcType=INTEGER},\n      content = #{record.content,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_comment\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      star = #{record.star,jdbcType=INTEGER},\n      member_ip = #{record.memberIp,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      product_attribute = #{record.productAttribute,jdbcType=VARCHAR},\n      collect_couont = #{record.collectCouont,jdbcType=INTEGER},\n      read_count = #{record.readCount,jdbcType=INTEGER},\n      pics = #{record.pics,jdbcType=VARCHAR},\n      member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      replay_count = #{record.replayCount,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsComment\">\n    update pms_comment\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberNickName != null\">\n        member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"star != null\">\n        star = #{star,jdbcType=INTEGER},\n      </if>\n      <if test=\"memberIp != null\">\n        member_ip = #{memberIp,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"productAttribute != null\">\n        product_attribute = #{productAttribute,jdbcType=VARCHAR},\n      </if>\n      <if test=\"collectCouont != null\">\n        collect_couont = #{collectCouont,jdbcType=INTEGER},\n      </if>\n      <if test=\"readCount != null\">\n        read_count = #{readCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"pics != null\">\n        pics = #{pics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon = #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"replayCount != null\">\n        replay_count = #{replayCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.PmsComment\">\n    update pms_comment\n    set product_id = #{productId,jdbcType=BIGINT},\n      member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      product_name = #{productName,jdbcType=VARCHAR},\n      star = #{star,jdbcType=INTEGER},\n      member_ip = #{memberIp,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      product_attribute = #{productAttribute,jdbcType=VARCHAR},\n      collect_couont = #{collectCouont,jdbcType=INTEGER},\n      read_count = #{readCount,jdbcType=INTEGER},\n      pics = #{pics,jdbcType=VARCHAR},\n      member_icon = #{memberIcon,jdbcType=VARCHAR},\n      replay_count = #{replayCount,jdbcType=INTEGER},\n      content = #{content,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsComment\">\n    update pms_comment\n    set product_id = #{productId,jdbcType=BIGINT},\n      member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      product_name = #{productName,jdbcType=VARCHAR},\n      star = #{star,jdbcType=INTEGER},\n      member_ip = #{memberIp,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      product_attribute = #{productAttribute,jdbcType=VARCHAR},\n      collect_couont = #{collectCouont,jdbcType=INTEGER},\n      read_count = #{readCount,jdbcType=INTEGER},\n      pics = #{pics,jdbcType=VARCHAR},\n      member_icon = #{memberIcon,jdbcType=VARCHAR},\n      replay_count = #{replayCount,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsCommentReplayMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsCommentReplayMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsCommentReplay\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"comment_id\" jdbcType=\"BIGINT\" property=\"commentId\" />\n    <result column=\"member_nick_name\" jdbcType=\"VARCHAR\" property=\"memberNickName\" />\n    <result column=\"member_icon\" jdbcType=\"VARCHAR\" property=\"memberIcon\" />\n    <result column=\"content\" jdbcType=\"VARCHAR\" property=\"content\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, comment_id, member_nick_name, member_icon, content, create_time, type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsCommentReplayExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_comment_replay\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_comment_replay\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_comment_replay\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsCommentReplayExample\">\n    delete from pms_comment_replay\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsCommentReplay\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_comment_replay (comment_id, member_nick_name, member_icon, \n      content, create_time, type\n      )\n    values (#{commentId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, \n      #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{type,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsCommentReplay\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_comment_replay\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"commentId != null\">\n        comment_id,\n      </if>\n      <if test=\"memberNickName != null\">\n        member_nick_name,\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon,\n      </if>\n      <if test=\"content != null\">\n        content,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"commentId != null\">\n        #{commentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberNickName != null\">\n        #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberIcon != null\">\n        #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        #{content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsCommentReplayExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_comment_replay\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_comment_replay\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.commentId != null\">\n        comment_id = #{record.commentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberNickName != null\">\n        member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.memberIcon != null\">\n        member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.content != null\">\n        content = #{record.content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_comment_replay\n    set id = #{record.id,jdbcType=BIGINT},\n      comment_id = #{record.commentId,jdbcType=BIGINT},\n      member_nick_name = #{record.memberNickName,jdbcType=VARCHAR},\n      member_icon = #{record.memberIcon,jdbcType=VARCHAR},\n      content = #{record.content,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      type = #{record.type,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsCommentReplay\">\n    update pms_comment_replay\n    <set>\n      <if test=\"commentId != null\">\n        comment_id = #{commentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberNickName != null\">\n        member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberIcon != null\">\n        member_icon = #{memberIcon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"content != null\">\n        content = #{content,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsCommentReplay\">\n    update pms_comment_replay\n    set comment_id = #{commentId,jdbcType=BIGINT},\n      member_nick_name = #{memberNickName,jdbcType=VARCHAR},\n      member_icon = #{memberIcon,jdbcType=VARCHAR},\n      content = #{content,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      type = #{type,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsFeightTemplateMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsFeightTemplateMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsFeightTemplate\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"charge_type\" jdbcType=\"INTEGER\" property=\"chargeType\" />\n    <result column=\"first_weight\" jdbcType=\"DECIMAL\" property=\"firstWeight\" />\n    <result column=\"first_fee\" jdbcType=\"DECIMAL\" property=\"firstFee\" />\n    <result column=\"continue_weight\" jdbcType=\"DECIMAL\" property=\"continueWeight\" />\n    <result column=\"continme_fee\" jdbcType=\"DECIMAL\" property=\"continmeFee\" />\n    <result column=\"dest\" jdbcType=\"VARCHAR\" property=\"dest\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, charge_type, first_weight, first_fee, continue_weight, continme_fee, dest\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsFeightTemplateExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_feight_template\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_feight_template\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_feight_template\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsFeightTemplateExample\">\n    delete from pms_feight_template\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsFeightTemplate\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_feight_template (name, charge_type, first_weight, \n      first_fee, continue_weight, continme_fee, \n      dest)\n    values (#{name,jdbcType=VARCHAR}, #{chargeType,jdbcType=INTEGER}, #{firstWeight,jdbcType=DECIMAL}, \n      #{firstFee,jdbcType=DECIMAL}, #{continueWeight,jdbcType=DECIMAL}, #{continmeFee,jdbcType=DECIMAL}, \n      #{dest,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsFeightTemplate\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_feight_template\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"chargeType != null\">\n        charge_type,\n      </if>\n      <if test=\"firstWeight != null\">\n        first_weight,\n      </if>\n      <if test=\"firstFee != null\">\n        first_fee,\n      </if>\n      <if test=\"continueWeight != null\">\n        continue_weight,\n      </if>\n      <if test=\"continmeFee != null\">\n        continme_fee,\n      </if>\n      <if test=\"dest != null\">\n        dest,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"chargeType != null\">\n        #{chargeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"firstWeight != null\">\n        #{firstWeight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"firstFee != null\">\n        #{firstFee,jdbcType=DECIMAL},\n      </if>\n      <if test=\"continueWeight != null\">\n        #{continueWeight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"continmeFee != null\">\n        #{continmeFee,jdbcType=DECIMAL},\n      </if>\n      <if test=\"dest != null\">\n        #{dest,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsFeightTemplateExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_feight_template\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_feight_template\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.chargeType != null\">\n        charge_type = #{record.chargeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.firstWeight != null\">\n        first_weight = #{record.firstWeight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.firstFee != null\">\n        first_fee = #{record.firstFee,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.continueWeight != null\">\n        continue_weight = #{record.continueWeight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.continmeFee != null\">\n        continme_fee = #{record.continmeFee,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.dest != null\">\n        dest = #{record.dest,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_feight_template\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      charge_type = #{record.chargeType,jdbcType=INTEGER},\n      first_weight = #{record.firstWeight,jdbcType=DECIMAL},\n      first_fee = #{record.firstFee,jdbcType=DECIMAL},\n      continue_weight = #{record.continueWeight,jdbcType=DECIMAL},\n      continme_fee = #{record.continmeFee,jdbcType=DECIMAL},\n      dest = #{record.dest,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsFeightTemplate\">\n    update pms_feight_template\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"chargeType != null\">\n        charge_type = #{chargeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"firstWeight != null\">\n        first_weight = #{firstWeight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"firstFee != null\">\n        first_fee = #{firstFee,jdbcType=DECIMAL},\n      </if>\n      <if test=\"continueWeight != null\">\n        continue_weight = #{continueWeight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"continmeFee != null\">\n        continme_fee = #{continmeFee,jdbcType=DECIMAL},\n      </if>\n      <if test=\"dest != null\">\n        dest = #{dest,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsFeightTemplate\">\n    update pms_feight_template\n    set name = #{name,jdbcType=VARCHAR},\n      charge_type = #{chargeType,jdbcType=INTEGER},\n      first_weight = #{firstWeight,jdbcType=DECIMAL},\n      first_fee = #{firstFee,jdbcType=DECIMAL},\n      continue_weight = #{continueWeight,jdbcType=DECIMAL},\n      continme_fee = #{continmeFee,jdbcType=DECIMAL},\n      dest = #{dest,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsMemberPriceMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsMemberPriceMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsMemberPrice\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"member_level_id\" jdbcType=\"BIGINT\" property=\"memberLevelId\" />\n    <result column=\"member_price\" jdbcType=\"DECIMAL\" property=\"memberPrice\" />\n    <result column=\"member_level_name\" jdbcType=\"VARCHAR\" property=\"memberLevelName\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, member_level_id, member_price, member_level_name\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsMemberPriceExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_member_price\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_member_price\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_member_price\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsMemberPriceExample\">\n    delete from pms_member_price\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsMemberPrice\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_member_price (product_id, member_level_id, member_price, \n      member_level_name)\n    values (#{productId,jdbcType=BIGINT}, #{memberLevelId,jdbcType=BIGINT}, #{memberPrice,jdbcType=DECIMAL}, \n      #{memberLevelName,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsMemberPrice\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_member_price\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"memberLevelId != null\">\n        member_level_id,\n      </if>\n      <if test=\"memberPrice != null\">\n        member_price,\n      </if>\n      <if test=\"memberLevelName != null\">\n        member_level_name,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberLevelId != null\">\n        #{memberLevelId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberPrice != null\">\n        #{memberPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"memberLevelName != null\">\n        #{memberLevelName,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsMemberPriceExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_member_price\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_member_price\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberLevelId != null\">\n        member_level_id = #{record.memberLevelId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberPrice != null\">\n        member_price = #{record.memberPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.memberLevelName != null\">\n        member_level_name = #{record.memberLevelName,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_member_price\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      member_level_id = #{record.memberLevelId,jdbcType=BIGINT},\n      member_price = #{record.memberPrice,jdbcType=DECIMAL},\n      member_level_name = #{record.memberLevelName,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsMemberPrice\">\n    update pms_member_price\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberLevelId != null\">\n        member_level_id = #{memberLevelId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberPrice != null\">\n        member_price = #{memberPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"memberLevelName != null\">\n        member_level_name = #{memberLevelName,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsMemberPrice\">\n    update pms_member_price\n    set product_id = #{productId,jdbcType=BIGINT},\n      member_level_id = #{memberLevelId,jdbcType=BIGINT},\n      member_price = #{memberPrice,jdbcType=DECIMAL},\n      member_level_name = #{memberLevelName,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductAttributeCategoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductAttributeCategoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductAttributeCategory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"attribute_count\" jdbcType=\"INTEGER\" property=\"attributeCount\" />\n    <result column=\"param_count\" jdbcType=\"INTEGER\" property=\"paramCount\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, attribute_count, param_count\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_attribute_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_attribute_category\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_attribute_category\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategoryExample\">\n    delete from pms_product_attribute_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_attribute_category (name, attribute_count, param_count\n      )\n    values (#{name,jdbcType=VARCHAR}, #{attributeCount,jdbcType=INTEGER}, #{paramCount,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_attribute_category\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"attributeCount != null\">\n        attribute_count,\n      </if>\n      <if test=\"paramCount != null\">\n        param_count,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"attributeCount != null\">\n        #{attributeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"paramCount != null\">\n        #{paramCount,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_attribute_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_attribute_category\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.attributeCount != null\">\n        attribute_count = #{record.attributeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.paramCount != null\">\n        param_count = #{record.paramCount,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_attribute_category\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      attribute_count = #{record.attributeCount,jdbcType=INTEGER},\n      param_count = #{record.paramCount,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategory\">\n    update pms_product_attribute_category\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"attributeCount != null\">\n        attribute_count = #{attributeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"paramCount != null\">\n        param_count = #{paramCount,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductAttributeCategory\">\n    update pms_product_attribute_category\n    set name = #{name,jdbcType=VARCHAR},\n      attribute_count = #{attributeCount,jdbcType=INTEGER},\n      param_count = #{paramCount,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductAttributeMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductAttributeMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductAttribute\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_attribute_category_id\" jdbcType=\"BIGINT\" property=\"productAttributeCategoryId\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"select_type\" jdbcType=\"INTEGER\" property=\"selectType\" />\n    <result column=\"input_type\" jdbcType=\"INTEGER\" property=\"inputType\" />\n    <result column=\"input_list\" jdbcType=\"VARCHAR\" property=\"inputList\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"filter_type\" jdbcType=\"INTEGER\" property=\"filterType\" />\n    <result column=\"search_type\" jdbcType=\"INTEGER\" property=\"searchType\" />\n    <result column=\"related_status\" jdbcType=\"INTEGER\" property=\"relatedStatus\" />\n    <result column=\"hand_add_status\" jdbcType=\"INTEGER\" property=\"handAddStatus\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_attribute_category_id, name, select_type, input_type, input_list, sort, \n    filter_type, search_type, related_status, hand_add_status, type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_attribute\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_attribute\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_attribute\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeExample\">\n    delete from pms_product_attribute\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductAttribute\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_attribute (product_attribute_category_id, name, \n      select_type, input_type, input_list, \n      sort, filter_type, search_type, \n      related_status, hand_add_status, type\n      )\n    values (#{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, \n      #{selectType,jdbcType=INTEGER}, #{inputType,jdbcType=INTEGER}, #{inputList,jdbcType=VARCHAR}, \n      #{sort,jdbcType=INTEGER}, #{filterType,jdbcType=INTEGER}, #{searchType,jdbcType=INTEGER}, \n      #{relatedStatus,jdbcType=INTEGER}, #{handAddStatus,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductAttribute\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_attribute\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productAttributeCategoryId != null\">\n        product_attribute_category_id,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"selectType != null\">\n        select_type,\n      </if>\n      <if test=\"inputType != null\">\n        input_type,\n      </if>\n      <if test=\"inputList != null\">\n        input_list,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"filterType != null\">\n        filter_type,\n      </if>\n      <if test=\"searchType != null\">\n        search_type,\n      </if>\n      <if test=\"relatedStatus != null\">\n        related_status,\n      </if>\n      <if test=\"handAddStatus != null\">\n        hand_add_status,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productAttributeCategoryId != null\">\n        #{productAttributeCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"selectType != null\">\n        #{selectType,jdbcType=INTEGER},\n      </if>\n      <if test=\"inputType != null\">\n        #{inputType,jdbcType=INTEGER},\n      </if>\n      <if test=\"inputList != null\">\n        #{inputList,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"filterType != null\">\n        #{filterType,jdbcType=INTEGER},\n      </if>\n      <if test=\"searchType != null\">\n        #{searchType,jdbcType=INTEGER},\n      </if>\n      <if test=\"relatedStatus != null\">\n        #{relatedStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"handAddStatus != null\">\n        #{handAddStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_attribute\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_attribute\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productAttributeCategoryId != null\">\n        product_attribute_category_id = #{record.productAttributeCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.selectType != null\">\n        select_type = #{record.selectType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.inputType != null\">\n        input_type = #{record.inputType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.inputList != null\">\n        input_list = #{record.inputList,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.filterType != null\">\n        filter_type = #{record.filterType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.searchType != null\">\n        search_type = #{record.searchType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.relatedStatus != null\">\n        related_status = #{record.relatedStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.handAddStatus != null\">\n        hand_add_status = #{record.handAddStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_attribute\n    set id = #{record.id,jdbcType=BIGINT},\n      product_attribute_category_id = #{record.productAttributeCategoryId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      select_type = #{record.selectType,jdbcType=INTEGER},\n      input_type = #{record.inputType,jdbcType=INTEGER},\n      input_list = #{record.inputList,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER},\n      filter_type = #{record.filterType,jdbcType=INTEGER},\n      search_type = #{record.searchType,jdbcType=INTEGER},\n      related_status = #{record.relatedStatus,jdbcType=INTEGER},\n      hand_add_status = #{record.handAddStatus,jdbcType=INTEGER},\n      type = #{record.type,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductAttribute\">\n    update pms_product_attribute\n    <set>\n      <if test=\"productAttributeCategoryId != null\">\n        product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"selectType != null\">\n        select_type = #{selectType,jdbcType=INTEGER},\n      </if>\n      <if test=\"inputType != null\">\n        input_type = #{inputType,jdbcType=INTEGER},\n      </if>\n      <if test=\"inputList != null\">\n        input_list = #{inputList,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"filterType != null\">\n        filter_type = #{filterType,jdbcType=INTEGER},\n      </if>\n      <if test=\"searchType != null\">\n        search_type = #{searchType,jdbcType=INTEGER},\n      </if>\n      <if test=\"relatedStatus != null\">\n        related_status = #{relatedStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"handAddStatus != null\">\n        hand_add_status = #{handAddStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductAttribute\">\n    update pms_product_attribute\n    set product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      select_type = #{selectType,jdbcType=INTEGER},\n      input_type = #{inputType,jdbcType=INTEGER},\n      input_list = #{inputList,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER},\n      filter_type = #{filterType,jdbcType=INTEGER},\n      search_type = #{searchType,jdbcType=INTEGER},\n      related_status = #{relatedStatus,jdbcType=INTEGER},\n      hand_add_status = #{handAddStatus,jdbcType=INTEGER},\n      type = #{type,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductAttributeValueMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductAttributeValueMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductAttributeValue\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"product_attribute_id\" jdbcType=\"BIGINT\" property=\"productAttributeId\" />\n    <result column=\"value\" jdbcType=\"VARCHAR\" property=\"value\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, product_attribute_id, value\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeValueExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_attribute_value\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_attribute_value\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_attribute_value\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeValueExample\">\n    delete from pms_product_attribute_value\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductAttributeValue\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_attribute_value (product_id, product_attribute_id, value\n      )\n    values (#{productId,jdbcType=BIGINT}, #{productAttributeId,jdbcType=BIGINT}, #{value,jdbcType=VARCHAR}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductAttributeValue\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_attribute_value\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"productAttributeId != null\">\n        product_attribute_id,\n      </if>\n      <if test=\"value != null\">\n        value,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productAttributeId != null\">\n        #{productAttributeId,jdbcType=BIGINT},\n      </if>\n      <if test=\"value != null\">\n        #{value,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductAttributeValueExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_attribute_value\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_attribute_value\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productAttributeId != null\">\n        product_attribute_id = #{record.productAttributeId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.value != null\">\n        value = #{record.value,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_attribute_value\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      product_attribute_id = #{record.productAttributeId,jdbcType=BIGINT},\n      value = #{record.value,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductAttributeValue\">\n    update pms_product_attribute_value\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productAttributeId != null\">\n        product_attribute_id = #{productAttributeId,jdbcType=BIGINT},\n      </if>\n      <if test=\"value != null\">\n        value = #{value,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductAttributeValue\">\n    update pms_product_attribute_value\n    set product_id = #{productId,jdbcType=BIGINT},\n      product_attribute_id = #{productAttributeId,jdbcType=BIGINT},\n      value = #{value,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductCategoryAttributeRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductCategoryAttributeRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductCategoryAttributeRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_category_id\" jdbcType=\"BIGINT\" property=\"productCategoryId\" />\n    <result column=\"product_attribute_id\" jdbcType=\"BIGINT\" property=\"productAttributeId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_category_id, product_attribute_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_category_attribute_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_category_attribute_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_category_attribute_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelationExample\">\n    delete from pms_product_category_attribute_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_category_attribute_relation (product_category_id, product_attribute_id\n      )\n    values (#{productCategoryId,jdbcType=BIGINT}, #{productAttributeId,jdbcType=BIGINT}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_category_attribute_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productCategoryId != null\">\n        product_category_id,\n      </if>\n      <if test=\"productAttributeId != null\">\n        product_attribute_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productCategoryId != null\">\n        #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productAttributeId != null\">\n        #{productAttributeId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_category_attribute_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_category_attribute_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productCategoryId != null\">\n        product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productAttributeId != null\">\n        product_attribute_id = #{record.productAttributeId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_category_attribute_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      product_attribute_id = #{record.productAttributeId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelation\">\n    update pms_product_category_attribute_relation\n    <set>\n      <if test=\"productCategoryId != null\">\n        product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productAttributeId != null\">\n        product_attribute_id = #{productAttributeId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductCategoryAttributeRelation\">\n    update pms_product_category_attribute_relation\n    set product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      product_attribute_id = #{productAttributeId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductCategoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductCategoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductCategory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"parent_id\" jdbcType=\"BIGINT\" property=\"parentId\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"level\" jdbcType=\"INTEGER\" property=\"level\" />\n    <result column=\"product_count\" jdbcType=\"INTEGER\" property=\"productCount\" />\n    <result column=\"product_unit\" jdbcType=\"VARCHAR\" property=\"productUnit\" />\n    <result column=\"nav_status\" jdbcType=\"INTEGER\" property=\"navStatus\" />\n    <result column=\"show_status\" jdbcType=\"INTEGER\" property=\"showStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"keywords\" jdbcType=\"VARCHAR\" property=\"keywords\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.PmsProductCategory\">\n    <result column=\"description\" jdbcType=\"LONGVARCHAR\" property=\"description\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, parent_id, name, level, product_count, product_unit, nav_status, show_status, \n    sort, icon, keywords\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    description\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.PmsProductCategoryExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_product_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductCategoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_product_category\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_category\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductCategoryExample\">\n    delete from pms_product_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_category (parent_id, name, level, \n      product_count, product_unit, nav_status, \n      show_status, sort, icon, \n      keywords, description)\n    values (#{parentId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, \n      #{productCount,jdbcType=INTEGER}, #{productUnit,jdbcType=VARCHAR}, #{navStatus,jdbcType=INTEGER}, \n      #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{icon,jdbcType=VARCHAR}, \n      #{keywords,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_category\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"parentId != null\">\n        parent_id,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"level != null\">\n        level,\n      </if>\n      <if test=\"productCount != null\">\n        product_count,\n      </if>\n      <if test=\"productUnit != null\">\n        product_unit,\n      </if>\n      <if test=\"navStatus != null\">\n        nav_status,\n      </if>\n      <if test=\"showStatus != null\">\n        show_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"keywords != null\">\n        keywords,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"parentId != null\">\n        #{parentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"level != null\">\n        #{level,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCount != null\">\n        #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"productUnit != null\">\n        #{productUnit,jdbcType=VARCHAR},\n      </if>\n      <if test=\"navStatus != null\">\n        #{navStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"keywords != null\">\n        #{keywords,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductCategoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_category\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.parentId != null\">\n        parent_id = #{record.parentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.level != null\">\n        level = #{record.level,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productCount != null\">\n        product_count = #{record.productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productUnit != null\">\n        product_unit = #{record.productUnit,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.navStatus != null\">\n        nav_status = #{record.navStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.showStatus != null\">\n        show_status = #{record.showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.keywords != null\">\n        keywords = #{record.keywords,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update pms_product_category\n    set id = #{record.id,jdbcType=BIGINT},\n      parent_id = #{record.parentId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      level = #{record.level,jdbcType=INTEGER},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      product_unit = #{record.productUnit,jdbcType=VARCHAR},\n      nav_status = #{record.navStatus,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      keywords = #{record.keywords,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_category\n    set id = #{record.id,jdbcType=BIGINT},\n      parent_id = #{record.parentId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      level = #{record.level,jdbcType=INTEGER},\n      product_count = #{record.productCount,jdbcType=INTEGER},\n      product_unit = #{record.productUnit,jdbcType=VARCHAR},\n      nav_status = #{record.navStatus,jdbcType=INTEGER},\n      show_status = #{record.showStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      keywords = #{record.keywords,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductCategory\">\n    update pms_product_category\n    <set>\n      <if test=\"parentId != null\">\n        parent_id = #{parentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"level != null\">\n        level = #{level,jdbcType=INTEGER},\n      </if>\n      <if test=\"productCount != null\">\n        product_count = #{productCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"productUnit != null\">\n        product_unit = #{productUnit,jdbcType=VARCHAR},\n      </if>\n      <if test=\"navStatus != null\">\n        nav_status = #{navStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"showStatus != null\">\n        show_status = #{showStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"keywords != null\">\n        keywords = #{keywords,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.PmsProductCategory\">\n    update pms_product_category\n    set parent_id = #{parentId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      level = #{level,jdbcType=INTEGER},\n      product_count = #{productCount,jdbcType=INTEGER},\n      product_unit = #{productUnit,jdbcType=VARCHAR},\n      nav_status = #{navStatus,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER},\n      icon = #{icon,jdbcType=VARCHAR},\n      keywords = #{keywords,jdbcType=VARCHAR},\n      description = #{description,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductCategory\">\n    update pms_product_category\n    set parent_id = #{parentId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      level = #{level,jdbcType=INTEGER},\n      product_count = #{productCount,jdbcType=INTEGER},\n      product_unit = #{productUnit,jdbcType=VARCHAR},\n      nav_status = #{navStatus,jdbcType=INTEGER},\n      show_status = #{showStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER},\n      icon = #{icon,jdbcType=VARCHAR},\n      keywords = #{keywords,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductFullReductionMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductFullReductionMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductFullReduction\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"full_price\" jdbcType=\"DECIMAL\" property=\"fullPrice\" />\n    <result column=\"reduce_price\" jdbcType=\"DECIMAL\" property=\"reducePrice\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, full_price, reduce_price\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductFullReductionExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_full_reduction\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_full_reduction\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_full_reduction\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductFullReductionExample\">\n    delete from pms_product_full_reduction\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductFullReduction\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_full_reduction (product_id, full_price, reduce_price\n      )\n    values (#{productId,jdbcType=BIGINT}, #{fullPrice,jdbcType=DECIMAL}, #{reducePrice,jdbcType=DECIMAL}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductFullReduction\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_full_reduction\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"fullPrice != null\">\n        full_price,\n      </if>\n      <if test=\"reducePrice != null\">\n        reduce_price,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"fullPrice != null\">\n        #{fullPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"reducePrice != null\">\n        #{reducePrice,jdbcType=DECIMAL},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductFullReductionExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_full_reduction\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_full_reduction\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.fullPrice != null\">\n        full_price = #{record.fullPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.reducePrice != null\">\n        reduce_price = #{record.reducePrice,jdbcType=DECIMAL},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_full_reduction\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      full_price = #{record.fullPrice,jdbcType=DECIMAL},\n      reduce_price = #{record.reducePrice,jdbcType=DECIMAL}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductFullReduction\">\n    update pms_product_full_reduction\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"fullPrice != null\">\n        full_price = #{fullPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"reducePrice != null\">\n        reduce_price = #{reducePrice,jdbcType=DECIMAL},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductFullReduction\">\n    update pms_product_full_reduction\n    set product_id = #{productId,jdbcType=BIGINT},\n      full_price = #{fullPrice,jdbcType=DECIMAL},\n      reduce_price = #{reducePrice,jdbcType=DECIMAL}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductLadderMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductLadderMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductLadder\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"count\" jdbcType=\"INTEGER\" property=\"count\" />\n    <result column=\"discount\" jdbcType=\"DECIMAL\" property=\"discount\" />\n    <result column=\"price\" jdbcType=\"DECIMAL\" property=\"price\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, count, discount, price\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductLadderExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_ladder\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_ladder\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_ladder\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductLadderExample\">\n    delete from pms_product_ladder\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductLadder\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_ladder (product_id, count, discount, \n      price)\n    values (#{productId,jdbcType=BIGINT}, #{count,jdbcType=INTEGER}, #{discount,jdbcType=DECIMAL}, \n      #{price,jdbcType=DECIMAL})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductLadder\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_ladder\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"count != null\">\n        count,\n      </if>\n      <if test=\"discount != null\">\n        discount,\n      </if>\n      <if test=\"price != null\">\n        price,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"count != null\">\n        #{count,jdbcType=INTEGER},\n      </if>\n      <if test=\"discount != null\">\n        #{discount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"price != null\">\n        #{price,jdbcType=DECIMAL},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductLadderExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_ladder\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_ladder\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.count != null\">\n        count = #{record.count,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.discount != null\">\n        discount = #{record.discount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.price != null\">\n        price = #{record.price,jdbcType=DECIMAL},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_ladder\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      count = #{record.count,jdbcType=INTEGER},\n      discount = #{record.discount,jdbcType=DECIMAL},\n      price = #{record.price,jdbcType=DECIMAL}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductLadder\">\n    update pms_product_ladder\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"count != null\">\n        count = #{count,jdbcType=INTEGER},\n      </if>\n      <if test=\"discount != null\">\n        discount = #{discount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"price != null\">\n        price = #{price,jdbcType=DECIMAL},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductLadder\">\n    update pms_product_ladder\n    set product_id = #{productId,jdbcType=BIGINT},\n      count = #{count,jdbcType=INTEGER},\n      discount = #{discount,jdbcType=DECIMAL},\n      price = #{price,jdbcType=DECIMAL}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProduct\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"brand_id\" jdbcType=\"BIGINT\" property=\"brandId\" />\n    <result column=\"product_category_id\" jdbcType=\"BIGINT\" property=\"productCategoryId\" />\n    <result column=\"feight_template_id\" jdbcType=\"BIGINT\" property=\"feightTemplateId\" />\n    <result column=\"product_attribute_category_id\" jdbcType=\"BIGINT\" property=\"productAttributeCategoryId\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"pic\" jdbcType=\"VARCHAR\" property=\"pic\" />\n    <result column=\"product_sn\" jdbcType=\"VARCHAR\" property=\"productSn\" />\n    <result column=\"delete_status\" jdbcType=\"INTEGER\" property=\"deleteStatus\" />\n    <result column=\"publish_status\" jdbcType=\"INTEGER\" property=\"publishStatus\" />\n    <result column=\"new_status\" jdbcType=\"INTEGER\" property=\"newStatus\" />\n    <result column=\"recommand_status\" jdbcType=\"INTEGER\" property=\"recommandStatus\" />\n    <result column=\"verify_status\" jdbcType=\"INTEGER\" property=\"verifyStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"sale\" jdbcType=\"INTEGER\" property=\"sale\" />\n    <result column=\"price\" jdbcType=\"DECIMAL\" property=\"price\" />\n    <result column=\"promotion_price\" jdbcType=\"DECIMAL\" property=\"promotionPrice\" />\n    <result column=\"gift_growth\" jdbcType=\"INTEGER\" property=\"giftGrowth\" />\n    <result column=\"gift_point\" jdbcType=\"INTEGER\" property=\"giftPoint\" />\n    <result column=\"use_point_limit\" jdbcType=\"INTEGER\" property=\"usePointLimit\" />\n    <result column=\"sub_title\" jdbcType=\"VARCHAR\" property=\"subTitle\" />\n    <result column=\"original_price\" jdbcType=\"DECIMAL\" property=\"originalPrice\" />\n    <result column=\"stock\" jdbcType=\"INTEGER\" property=\"stock\" />\n    <result column=\"low_stock\" jdbcType=\"INTEGER\" property=\"lowStock\" />\n    <result column=\"unit\" jdbcType=\"VARCHAR\" property=\"unit\" />\n    <result column=\"weight\" jdbcType=\"DECIMAL\" property=\"weight\" />\n    <result column=\"preview_status\" jdbcType=\"INTEGER\" property=\"previewStatus\" />\n    <result column=\"service_ids\" jdbcType=\"VARCHAR\" property=\"serviceIds\" />\n    <result column=\"keywords\" jdbcType=\"VARCHAR\" property=\"keywords\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n    <result column=\"album_pics\" jdbcType=\"VARCHAR\" property=\"albumPics\" />\n    <result column=\"detail_title\" jdbcType=\"VARCHAR\" property=\"detailTitle\" />\n    <result column=\"promotion_start_time\" jdbcType=\"TIMESTAMP\" property=\"promotionStartTime\" />\n    <result column=\"promotion_end_time\" jdbcType=\"TIMESTAMP\" property=\"promotionEndTime\" />\n    <result column=\"promotion_per_limit\" jdbcType=\"INTEGER\" property=\"promotionPerLimit\" />\n    <result column=\"promotion_type\" jdbcType=\"INTEGER\" property=\"promotionType\" />\n    <result column=\"brand_name\" jdbcType=\"VARCHAR\" property=\"brandName\" />\n    <result column=\"product_category_name\" jdbcType=\"VARCHAR\" property=\"productCategoryName\" />\n  </resultMap>\n  <resultMap extends=\"BaseResultMap\" id=\"ResultMapWithBLOBs\" type=\"com.macro.mall.model.PmsProduct\">\n    <result column=\"description\" jdbcType=\"LONGVARCHAR\" property=\"description\" />\n    <result column=\"detail_desc\" jdbcType=\"LONGVARCHAR\" property=\"detailDesc\" />\n    <result column=\"detail_html\" jdbcType=\"LONGVARCHAR\" property=\"detailHtml\" />\n    <result column=\"detail_mobile_html\" jdbcType=\"LONGVARCHAR\" property=\"detailMobileHtml\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, brand_id, product_category_id, feight_template_id, product_attribute_category_id, \n    name, pic, product_sn, delete_status, publish_status, new_status, recommand_status, \n    verify_status, sort, sale, price, promotion_price, gift_growth, gift_point, use_point_limit, \n    sub_title, original_price, stock, low_stock, unit, weight, preview_status, service_ids, \n    keywords, note, album_pics, detail_title, promotion_start_time, promotion_end_time, \n    promotion_per_limit, promotion_type, brand_name, product_category_name\n  </sql>\n  <sql id=\"Blob_Column_List\">\n    description, detail_desc, detail_html, detail_mobile_html\n  </sql>\n  <select id=\"selectByExampleWithBLOBs\" parameterType=\"com.macro.mall.model.PmsProductExample\" resultMap=\"ResultMapWithBLOBs\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"ResultMapWithBLOBs\">\n    select \n    <include refid=\"Base_Column_List\" />\n    ,\n    <include refid=\"Blob_Column_List\" />\n    from pms_product\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductExample\">\n    delete from pms_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProduct\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product (brand_id, product_category_id, feight_template_id, \n      product_attribute_category_id, name, pic, \n      product_sn, delete_status, publish_status, \n      new_status, recommand_status, verify_status, \n      sort, sale, price, \n      promotion_price, gift_growth, gift_point, \n      use_point_limit, sub_title, original_price, \n      stock, low_stock, unit, \n      weight, preview_status, service_ids, \n      keywords, note, album_pics, \n      detail_title, promotion_start_time, promotion_end_time, \n      promotion_per_limit, promotion_type, brand_name, \n      product_category_name, description, detail_desc, \n      detail_html, detail_mobile_html)\n    values (#{brandId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{feightTemplateId,jdbcType=BIGINT}, \n      #{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, \n      #{productSn,jdbcType=VARCHAR}, #{deleteStatus,jdbcType=INTEGER}, #{publishStatus,jdbcType=INTEGER}, \n      #{newStatus,jdbcType=INTEGER}, #{recommandStatus,jdbcType=INTEGER}, #{verifyStatus,jdbcType=INTEGER}, \n      #{sort,jdbcType=INTEGER}, #{sale,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL}, \n      #{promotionPrice,jdbcType=DECIMAL}, #{giftGrowth,jdbcType=INTEGER}, #{giftPoint,jdbcType=INTEGER}, \n      #{usePointLimit,jdbcType=INTEGER}, #{subTitle,jdbcType=VARCHAR}, #{originalPrice,jdbcType=DECIMAL}, \n      #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{unit,jdbcType=VARCHAR}, \n      #{weight,jdbcType=DECIMAL}, #{previewStatus,jdbcType=INTEGER}, #{serviceIds,jdbcType=VARCHAR}, \n      #{keywords,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{albumPics,jdbcType=VARCHAR}, \n      #{detailTitle,jdbcType=VARCHAR}, #{promotionStartTime,jdbcType=TIMESTAMP}, #{promotionEndTime,jdbcType=TIMESTAMP}, \n      #{promotionPerLimit,jdbcType=INTEGER}, #{promotionType,jdbcType=INTEGER}, #{brandName,jdbcType=VARCHAR}, \n      #{productCategoryName,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}, #{detailDesc,jdbcType=LONGVARCHAR}, \n      #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProduct\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"brandId != null\">\n        brand_id,\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id,\n      </if>\n      <if test=\"feightTemplateId != null\">\n        feight_template_id,\n      </if>\n      <if test=\"productAttributeCategoryId != null\">\n        product_attribute_category_id,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"pic != null\">\n        pic,\n      </if>\n      <if test=\"productSn != null\">\n        product_sn,\n      </if>\n      <if test=\"deleteStatus != null\">\n        delete_status,\n      </if>\n      <if test=\"publishStatus != null\">\n        publish_status,\n      </if>\n      <if test=\"newStatus != null\">\n        new_status,\n      </if>\n      <if test=\"recommandStatus != null\">\n        recommand_status,\n      </if>\n      <if test=\"verifyStatus != null\">\n        verify_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"sale != null\">\n        sale,\n      </if>\n      <if test=\"price != null\">\n        price,\n      </if>\n      <if test=\"promotionPrice != null\">\n        promotion_price,\n      </if>\n      <if test=\"giftGrowth != null\">\n        gift_growth,\n      </if>\n      <if test=\"giftPoint != null\">\n        gift_point,\n      </if>\n      <if test=\"usePointLimit != null\">\n        use_point_limit,\n      </if>\n      <if test=\"subTitle != null\">\n        sub_title,\n      </if>\n      <if test=\"originalPrice != null\">\n        original_price,\n      </if>\n      <if test=\"stock != null\">\n        stock,\n      </if>\n      <if test=\"lowStock != null\">\n        low_stock,\n      </if>\n      <if test=\"unit != null\">\n        unit,\n      </if>\n      <if test=\"weight != null\">\n        weight,\n      </if>\n      <if test=\"previewStatus != null\">\n        preview_status,\n      </if>\n      <if test=\"serviceIds != null\">\n        service_ids,\n      </if>\n      <if test=\"keywords != null\">\n        keywords,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n      <if test=\"albumPics != null\">\n        album_pics,\n      </if>\n      <if test=\"detailTitle != null\">\n        detail_title,\n      </if>\n      <if test=\"promotionStartTime != null\">\n        promotion_start_time,\n      </if>\n      <if test=\"promotionEndTime != null\">\n        promotion_end_time,\n      </if>\n      <if test=\"promotionPerLimit != null\">\n        promotion_per_limit,\n      </if>\n      <if test=\"promotionType != null\">\n        promotion_type,\n      </if>\n      <if test=\"brandName != null\">\n        brand_name,\n      </if>\n      <if test=\"productCategoryName != null\">\n        product_category_name,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n      <if test=\"detailDesc != null\">\n        detail_desc,\n      </if>\n      <if test=\"detailHtml != null\">\n        detail_html,\n      </if>\n      <if test=\"detailMobileHtml != null\">\n        detail_mobile_html,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"brandId != null\">\n        #{brandId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryId != null\">\n        #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"feightTemplateId != null\">\n        #{feightTemplateId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productAttributeCategoryId != null\">\n        #{productAttributeCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"pic != null\">\n        #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        #{productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"deleteStatus != null\">\n        #{deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"publishStatus != null\">\n        #{publishStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"newStatus != null\">\n        #{newStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"recommandStatus != null\">\n        #{recommandStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"verifyStatus != null\">\n        #{verifyStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"sale != null\">\n        #{sale,jdbcType=INTEGER},\n      </if>\n      <if test=\"price != null\">\n        #{price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"promotionPrice != null\">\n        #{promotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"giftGrowth != null\">\n        #{giftGrowth,jdbcType=INTEGER},\n      </if>\n      <if test=\"giftPoint != null\">\n        #{giftPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"usePointLimit != null\">\n        #{usePointLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"subTitle != null\">\n        #{subTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"originalPrice != null\">\n        #{originalPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"stock != null\">\n        #{stock,jdbcType=INTEGER},\n      </if>\n      <if test=\"lowStock != null\">\n        #{lowStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"unit != null\">\n        #{unit,jdbcType=VARCHAR},\n      </if>\n      <if test=\"weight != null\">\n        #{weight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"previewStatus != null\">\n        #{previewStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"serviceIds != null\">\n        #{serviceIds,jdbcType=VARCHAR},\n      </if>\n      <if test=\"keywords != null\">\n        #{keywords,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"albumPics != null\">\n        #{albumPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"detailTitle != null\">\n        #{detailTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"promotionStartTime != null\">\n        #{promotionStartTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"promotionEndTime != null\">\n        #{promotionEndTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"promotionPerLimit != null\">\n        #{promotionPerLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"promotionType != null\">\n        #{promotionType,jdbcType=INTEGER},\n      </if>\n      <if test=\"brandName != null\">\n        #{brandName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCategoryName != null\">\n        #{productCategoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"detailDesc != null\">\n        #{detailDesc,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"detailHtml != null\">\n        #{detailHtml,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"detailMobileHtml != null\">\n        #{detailMobileHtml,jdbcType=LONGVARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.brandId != null\">\n        brand_id = #{record.brandId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productCategoryId != null\">\n        product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.feightTemplateId != null\">\n        feight_template_id = #{record.feightTemplateId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productAttributeCategoryId != null\">\n        product_attribute_category_id = #{record.productAttributeCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.pic != null\">\n        pic = #{record.pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productSn != null\">\n        product_sn = #{record.productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.deleteStatus != null\">\n        delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.publishStatus != null\">\n        publish_status = #{record.publishStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.newStatus != null\">\n        new_status = #{record.newStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.recommandStatus != null\">\n        recommand_status = #{record.recommandStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.verifyStatus != null\">\n        verify_status = #{record.verifyStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sale != null\">\n        sale = #{record.sale,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.price != null\">\n        price = #{record.price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.promotionPrice != null\">\n        promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.giftGrowth != null\">\n        gift_growth = #{record.giftGrowth,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.giftPoint != null\">\n        gift_point = #{record.giftPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.usePointLimit != null\">\n        use_point_limit = #{record.usePointLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.subTitle != null\">\n        sub_title = #{record.subTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.originalPrice != null\">\n        original_price = #{record.originalPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.stock != null\">\n        stock = #{record.stock,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.lowStock != null\">\n        low_stock = #{record.lowStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.unit != null\">\n        unit = #{record.unit,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.weight != null\">\n        weight = #{record.weight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.previewStatus != null\">\n        preview_status = #{record.previewStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.serviceIds != null\">\n        service_ids = #{record.serviceIds,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.keywords != null\">\n        keywords = #{record.keywords,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.albumPics != null\">\n        album_pics = #{record.albumPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.detailTitle != null\">\n        detail_title = #{record.detailTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.promotionStartTime != null\">\n        promotion_start_time = #{record.promotionStartTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.promotionEndTime != null\">\n        promotion_end_time = #{record.promotionEndTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.promotionPerLimit != null\">\n        promotion_per_limit = #{record.promotionPerLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.promotionType != null\">\n        promotion_type = #{record.promotionType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.brandName != null\">\n        brand_name = #{record.brandName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productCategoryName != null\">\n        product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"record.detailDesc != null\">\n        detail_desc = #{record.detailDesc,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"record.detailHtml != null\">\n        detail_html = #{record.detailHtml,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"record.detailMobileHtml != null\">\n        detail_mobile_html = #{record.detailMobileHtml,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExampleWithBLOBs\" parameterType=\"map\">\n    update pms_product\n    set id = #{record.id,jdbcType=BIGINT},\n      brand_id = #{record.brandId,jdbcType=BIGINT},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      feight_template_id = #{record.feightTemplateId,jdbcType=BIGINT},\n      product_attribute_category_id = #{record.productAttributeCategoryId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      pic = #{record.pic,jdbcType=VARCHAR},\n      product_sn = #{record.productSn,jdbcType=VARCHAR},\n      delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      publish_status = #{record.publishStatus,jdbcType=INTEGER},\n      new_status = #{record.newStatus,jdbcType=INTEGER},\n      recommand_status = #{record.recommandStatus,jdbcType=INTEGER},\n      verify_status = #{record.verifyStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER},\n      sale = #{record.sale,jdbcType=INTEGER},\n      price = #{record.price,jdbcType=DECIMAL},\n      promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},\n      gift_growth = #{record.giftGrowth,jdbcType=INTEGER},\n      gift_point = #{record.giftPoint,jdbcType=INTEGER},\n      use_point_limit = #{record.usePointLimit,jdbcType=INTEGER},\n      sub_title = #{record.subTitle,jdbcType=VARCHAR},\n      original_price = #{record.originalPrice,jdbcType=DECIMAL},\n      stock = #{record.stock,jdbcType=INTEGER},\n      low_stock = #{record.lowStock,jdbcType=INTEGER},\n      unit = #{record.unit,jdbcType=VARCHAR},\n      weight = #{record.weight,jdbcType=DECIMAL},\n      preview_status = #{record.previewStatus,jdbcType=INTEGER},\n      service_ids = #{record.serviceIds,jdbcType=VARCHAR},\n      keywords = #{record.keywords,jdbcType=VARCHAR},\n      note = #{record.note,jdbcType=VARCHAR},\n      album_pics = #{record.albumPics,jdbcType=VARCHAR},\n      detail_title = #{record.detailTitle,jdbcType=VARCHAR},\n      promotion_start_time = #{record.promotionStartTime,jdbcType=TIMESTAMP},\n      promotion_end_time = #{record.promotionEndTime,jdbcType=TIMESTAMP},\n      promotion_per_limit = #{record.promotionPerLimit,jdbcType=INTEGER},\n      promotion_type = #{record.promotionType,jdbcType=INTEGER},\n      brand_name = #{record.brandName,jdbcType=VARCHAR},\n      product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=LONGVARCHAR},\n      detail_desc = #{record.detailDesc,jdbcType=LONGVARCHAR},\n      detail_html = #{record.detailHtml,jdbcType=LONGVARCHAR},\n      detail_mobile_html = #{record.detailMobileHtml,jdbcType=LONGVARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product\n    set id = #{record.id,jdbcType=BIGINT},\n      brand_id = #{record.brandId,jdbcType=BIGINT},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      feight_template_id = #{record.feightTemplateId,jdbcType=BIGINT},\n      product_attribute_category_id = #{record.productAttributeCategoryId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      pic = #{record.pic,jdbcType=VARCHAR},\n      product_sn = #{record.productSn,jdbcType=VARCHAR},\n      delete_status = #{record.deleteStatus,jdbcType=INTEGER},\n      publish_status = #{record.publishStatus,jdbcType=INTEGER},\n      new_status = #{record.newStatus,jdbcType=INTEGER},\n      recommand_status = #{record.recommandStatus,jdbcType=INTEGER},\n      verify_status = #{record.verifyStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER},\n      sale = #{record.sale,jdbcType=INTEGER},\n      price = #{record.price,jdbcType=DECIMAL},\n      promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},\n      gift_growth = #{record.giftGrowth,jdbcType=INTEGER},\n      gift_point = #{record.giftPoint,jdbcType=INTEGER},\n      use_point_limit = #{record.usePointLimit,jdbcType=INTEGER},\n      sub_title = #{record.subTitle,jdbcType=VARCHAR},\n      original_price = #{record.originalPrice,jdbcType=DECIMAL},\n      stock = #{record.stock,jdbcType=INTEGER},\n      low_stock = #{record.lowStock,jdbcType=INTEGER},\n      unit = #{record.unit,jdbcType=VARCHAR},\n      weight = #{record.weight,jdbcType=DECIMAL},\n      preview_status = #{record.previewStatus,jdbcType=INTEGER},\n      service_ids = #{record.serviceIds,jdbcType=VARCHAR},\n      keywords = #{record.keywords,jdbcType=VARCHAR},\n      note = #{record.note,jdbcType=VARCHAR},\n      album_pics = #{record.albumPics,jdbcType=VARCHAR},\n      detail_title = #{record.detailTitle,jdbcType=VARCHAR},\n      promotion_start_time = #{record.promotionStartTime,jdbcType=TIMESTAMP},\n      promotion_end_time = #{record.promotionEndTime,jdbcType=TIMESTAMP},\n      promotion_per_limit = #{record.promotionPerLimit,jdbcType=INTEGER},\n      promotion_type = #{record.promotionType,jdbcType=INTEGER},\n      brand_name = #{record.brandName,jdbcType=VARCHAR},\n      product_category_name = #{record.productCategoryName,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProduct\">\n    update pms_product\n    <set>\n      <if test=\"brandId != null\">\n        brand_id = #{brandId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"feightTemplateId != null\">\n        feight_template_id = #{feightTemplateId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productAttributeCategoryId != null\">\n        product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"pic != null\">\n        pic = #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        product_sn = #{productSn,jdbcType=VARCHAR},\n      </if>\n      <if test=\"deleteStatus != null\">\n        delete_status = #{deleteStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"publishStatus != null\">\n        publish_status = #{publishStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"newStatus != null\">\n        new_status = #{newStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"recommandStatus != null\">\n        recommand_status = #{recommandStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"verifyStatus != null\">\n        verify_status = #{verifyStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"sale != null\">\n        sale = #{sale,jdbcType=INTEGER},\n      </if>\n      <if test=\"price != null\">\n        price = #{price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"promotionPrice != null\">\n        promotion_price = #{promotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"giftGrowth != null\">\n        gift_growth = #{giftGrowth,jdbcType=INTEGER},\n      </if>\n      <if test=\"giftPoint != null\">\n        gift_point = #{giftPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"usePointLimit != null\">\n        use_point_limit = #{usePointLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"subTitle != null\">\n        sub_title = #{subTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"originalPrice != null\">\n        original_price = #{originalPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"stock != null\">\n        stock = #{stock,jdbcType=INTEGER},\n      </if>\n      <if test=\"lowStock != null\">\n        low_stock = #{lowStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"unit != null\">\n        unit = #{unit,jdbcType=VARCHAR},\n      </if>\n      <if test=\"weight != null\">\n        weight = #{weight,jdbcType=DECIMAL},\n      </if>\n      <if test=\"previewStatus != null\">\n        preview_status = #{previewStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"serviceIds != null\">\n        service_ids = #{serviceIds,jdbcType=VARCHAR},\n      </if>\n      <if test=\"keywords != null\">\n        keywords = #{keywords,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"albumPics != null\">\n        album_pics = #{albumPics,jdbcType=VARCHAR},\n      </if>\n      <if test=\"detailTitle != null\">\n        detail_title = #{detailTitle,jdbcType=VARCHAR},\n      </if>\n      <if test=\"promotionStartTime != null\">\n        promotion_start_time = #{promotionStartTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"promotionEndTime != null\">\n        promotion_end_time = #{promotionEndTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"promotionPerLimit != null\">\n        promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"promotionType != null\">\n        promotion_type = #{promotionType,jdbcType=INTEGER},\n      </if>\n      <if test=\"brandName != null\">\n        brand_name = #{brandName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productCategoryName != null\">\n        product_category_name = #{productCategoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"detailDesc != null\">\n        detail_desc = #{detailDesc,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"detailHtml != null\">\n        detail_html = #{detailHtml,jdbcType=LONGVARCHAR},\n      </if>\n      <if test=\"detailMobileHtml != null\">\n        detail_mobile_html = #{detailMobileHtml,jdbcType=LONGVARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKeyWithBLOBs\" parameterType=\"com.macro.mall.model.PmsProduct\">\n    update pms_product\n    set brand_id = #{brandId,jdbcType=BIGINT},\n      product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      feight_template_id = #{feightTemplateId,jdbcType=BIGINT},\n      product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      pic = #{pic,jdbcType=VARCHAR},\n      product_sn = #{productSn,jdbcType=VARCHAR},\n      delete_status = #{deleteStatus,jdbcType=INTEGER},\n      publish_status = #{publishStatus,jdbcType=INTEGER},\n      new_status = #{newStatus,jdbcType=INTEGER},\n      recommand_status = #{recommandStatus,jdbcType=INTEGER},\n      verify_status = #{verifyStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER},\n      sale = #{sale,jdbcType=INTEGER},\n      price = #{price,jdbcType=DECIMAL},\n      promotion_price = #{promotionPrice,jdbcType=DECIMAL},\n      gift_growth = #{giftGrowth,jdbcType=INTEGER},\n      gift_point = #{giftPoint,jdbcType=INTEGER},\n      use_point_limit = #{usePointLimit,jdbcType=INTEGER},\n      sub_title = #{subTitle,jdbcType=VARCHAR},\n      original_price = #{originalPrice,jdbcType=DECIMAL},\n      stock = #{stock,jdbcType=INTEGER},\n      low_stock = #{lowStock,jdbcType=INTEGER},\n      unit = #{unit,jdbcType=VARCHAR},\n      weight = #{weight,jdbcType=DECIMAL},\n      preview_status = #{previewStatus,jdbcType=INTEGER},\n      service_ids = #{serviceIds,jdbcType=VARCHAR},\n      keywords = #{keywords,jdbcType=VARCHAR},\n      note = #{note,jdbcType=VARCHAR},\n      album_pics = #{albumPics,jdbcType=VARCHAR},\n      detail_title = #{detailTitle,jdbcType=VARCHAR},\n      promotion_start_time = #{promotionStartTime,jdbcType=TIMESTAMP},\n      promotion_end_time = #{promotionEndTime,jdbcType=TIMESTAMP},\n      promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER},\n      promotion_type = #{promotionType,jdbcType=INTEGER},\n      brand_name = #{brandName,jdbcType=VARCHAR},\n      product_category_name = #{productCategoryName,jdbcType=VARCHAR},\n      description = #{description,jdbcType=LONGVARCHAR},\n      detail_desc = #{detailDesc,jdbcType=LONGVARCHAR},\n      detail_html = #{detailHtml,jdbcType=LONGVARCHAR},\n      detail_mobile_html = #{detailMobileHtml,jdbcType=LONGVARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProduct\">\n    update pms_product\n    set brand_id = #{brandId,jdbcType=BIGINT},\n      product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      feight_template_id = #{feightTemplateId,jdbcType=BIGINT},\n      product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      pic = #{pic,jdbcType=VARCHAR},\n      product_sn = #{productSn,jdbcType=VARCHAR},\n      delete_status = #{deleteStatus,jdbcType=INTEGER},\n      publish_status = #{publishStatus,jdbcType=INTEGER},\n      new_status = #{newStatus,jdbcType=INTEGER},\n      recommand_status = #{recommandStatus,jdbcType=INTEGER},\n      verify_status = #{verifyStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER},\n      sale = #{sale,jdbcType=INTEGER},\n      price = #{price,jdbcType=DECIMAL},\n      promotion_price = #{promotionPrice,jdbcType=DECIMAL},\n      gift_growth = #{giftGrowth,jdbcType=INTEGER},\n      gift_point = #{giftPoint,jdbcType=INTEGER},\n      use_point_limit = #{usePointLimit,jdbcType=INTEGER},\n      sub_title = #{subTitle,jdbcType=VARCHAR},\n      original_price = #{originalPrice,jdbcType=DECIMAL},\n      stock = #{stock,jdbcType=INTEGER},\n      low_stock = #{lowStock,jdbcType=INTEGER},\n      unit = #{unit,jdbcType=VARCHAR},\n      weight = #{weight,jdbcType=DECIMAL},\n      preview_status = #{previewStatus,jdbcType=INTEGER},\n      service_ids = #{serviceIds,jdbcType=VARCHAR},\n      keywords = #{keywords,jdbcType=VARCHAR},\n      note = #{note,jdbcType=VARCHAR},\n      album_pics = #{albumPics,jdbcType=VARCHAR},\n      detail_title = #{detailTitle,jdbcType=VARCHAR},\n      promotion_start_time = #{promotionStartTime,jdbcType=TIMESTAMP},\n      promotion_end_time = #{promotionEndTime,jdbcType=TIMESTAMP},\n      promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER},\n      promotion_type = #{promotionType,jdbcType=INTEGER},\n      brand_name = #{brandName,jdbcType=VARCHAR},\n      product_category_name = #{productCategoryName,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductOperateLogMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductOperateLogMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductOperateLog\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"price_old\" jdbcType=\"DECIMAL\" property=\"priceOld\" />\n    <result column=\"price_new\" jdbcType=\"DECIMAL\" property=\"priceNew\" />\n    <result column=\"sale_price_old\" jdbcType=\"DECIMAL\" property=\"salePriceOld\" />\n    <result column=\"sale_price_new\" jdbcType=\"DECIMAL\" property=\"salePriceNew\" />\n    <result column=\"gift_point_old\" jdbcType=\"INTEGER\" property=\"giftPointOld\" />\n    <result column=\"gift_point_new\" jdbcType=\"INTEGER\" property=\"giftPointNew\" />\n    <result column=\"use_point_limit_old\" jdbcType=\"INTEGER\" property=\"usePointLimitOld\" />\n    <result column=\"use_point_limit_new\" jdbcType=\"INTEGER\" property=\"usePointLimitNew\" />\n    <result column=\"operate_man\" jdbcType=\"VARCHAR\" property=\"operateMan\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, price_old, price_new, sale_price_old, sale_price_new, gift_point_old, \n    gift_point_new, use_point_limit_old, use_point_limit_new, operate_man, create_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductOperateLogExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_operate_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_operate_log\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_operate_log\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductOperateLogExample\">\n    delete from pms_product_operate_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductOperateLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_operate_log (product_id, price_old, price_new, \n      sale_price_old, sale_price_new, gift_point_old, \n      gift_point_new, use_point_limit_old, use_point_limit_new, \n      operate_man, create_time)\n    values (#{productId,jdbcType=BIGINT}, #{priceOld,jdbcType=DECIMAL}, #{priceNew,jdbcType=DECIMAL}, \n      #{salePriceOld,jdbcType=DECIMAL}, #{salePriceNew,jdbcType=DECIMAL}, #{giftPointOld,jdbcType=INTEGER}, \n      #{giftPointNew,jdbcType=INTEGER}, #{usePointLimitOld,jdbcType=INTEGER}, #{usePointLimitNew,jdbcType=INTEGER}, \n      #{operateMan,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductOperateLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_operate_log\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"priceOld != null\">\n        price_old,\n      </if>\n      <if test=\"priceNew != null\">\n        price_new,\n      </if>\n      <if test=\"salePriceOld != null\">\n        sale_price_old,\n      </if>\n      <if test=\"salePriceNew != null\">\n        sale_price_new,\n      </if>\n      <if test=\"giftPointOld != null\">\n        gift_point_old,\n      </if>\n      <if test=\"giftPointNew != null\">\n        gift_point_new,\n      </if>\n      <if test=\"usePointLimitOld != null\">\n        use_point_limit_old,\n      </if>\n      <if test=\"usePointLimitNew != null\">\n        use_point_limit_new,\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"priceOld != null\">\n        #{priceOld,jdbcType=DECIMAL},\n      </if>\n      <if test=\"priceNew != null\">\n        #{priceNew,jdbcType=DECIMAL},\n      </if>\n      <if test=\"salePriceOld != null\">\n        #{salePriceOld,jdbcType=DECIMAL},\n      </if>\n      <if test=\"salePriceNew != null\">\n        #{salePriceNew,jdbcType=DECIMAL},\n      </if>\n      <if test=\"giftPointOld != null\">\n        #{giftPointOld,jdbcType=INTEGER},\n      </if>\n      <if test=\"giftPointNew != null\">\n        #{giftPointNew,jdbcType=INTEGER},\n      </if>\n      <if test=\"usePointLimitOld != null\">\n        #{usePointLimitOld,jdbcType=INTEGER},\n      </if>\n      <if test=\"usePointLimitNew != null\">\n        #{usePointLimitNew,jdbcType=INTEGER},\n      </if>\n      <if test=\"operateMan != null\">\n        #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductOperateLogExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_operate_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_operate_log\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.priceOld != null\">\n        price_old = #{record.priceOld,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.priceNew != null\">\n        price_new = #{record.priceNew,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.salePriceOld != null\">\n        sale_price_old = #{record.salePriceOld,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.salePriceNew != null\">\n        sale_price_new = #{record.salePriceNew,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.giftPointOld != null\">\n        gift_point_old = #{record.giftPointOld,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.giftPointNew != null\">\n        gift_point_new = #{record.giftPointNew,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.usePointLimitOld != null\">\n        use_point_limit_old = #{record.usePointLimitOld,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.usePointLimitNew != null\">\n        use_point_limit_new = #{record.usePointLimitNew,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.operateMan != null\">\n        operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_operate_log\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      price_old = #{record.priceOld,jdbcType=DECIMAL},\n      price_new = #{record.priceNew,jdbcType=DECIMAL},\n      sale_price_old = #{record.salePriceOld,jdbcType=DECIMAL},\n      sale_price_new = #{record.salePriceNew,jdbcType=DECIMAL},\n      gift_point_old = #{record.giftPointOld,jdbcType=INTEGER},\n      gift_point_new = #{record.giftPointNew,jdbcType=INTEGER},\n      use_point_limit_old = #{record.usePointLimitOld,jdbcType=INTEGER},\n      use_point_limit_new = #{record.usePointLimitNew,jdbcType=INTEGER},\n      operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductOperateLog\">\n    update pms_product_operate_log\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"priceOld != null\">\n        price_old = #{priceOld,jdbcType=DECIMAL},\n      </if>\n      <if test=\"priceNew != null\">\n        price_new = #{priceNew,jdbcType=DECIMAL},\n      </if>\n      <if test=\"salePriceOld != null\">\n        sale_price_old = #{salePriceOld,jdbcType=DECIMAL},\n      </if>\n      <if test=\"salePriceNew != null\">\n        sale_price_new = #{salePriceNew,jdbcType=DECIMAL},\n      </if>\n      <if test=\"giftPointOld != null\">\n        gift_point_old = #{giftPointOld,jdbcType=INTEGER},\n      </if>\n      <if test=\"giftPointNew != null\">\n        gift_point_new = #{giftPointNew,jdbcType=INTEGER},\n      </if>\n      <if test=\"usePointLimitOld != null\">\n        use_point_limit_old = #{usePointLimitOld,jdbcType=INTEGER},\n      </if>\n      <if test=\"usePointLimitNew != null\">\n        use_point_limit_new = #{usePointLimitNew,jdbcType=INTEGER},\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man = #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductOperateLog\">\n    update pms_product_operate_log\n    set product_id = #{productId,jdbcType=BIGINT},\n      price_old = #{priceOld,jdbcType=DECIMAL},\n      price_new = #{priceNew,jdbcType=DECIMAL},\n      sale_price_old = #{salePriceOld,jdbcType=DECIMAL},\n      sale_price_new = #{salePriceNew,jdbcType=DECIMAL},\n      gift_point_old = #{giftPointOld,jdbcType=INTEGER},\n      gift_point_new = #{giftPointNew,jdbcType=INTEGER},\n      use_point_limit_old = #{usePointLimitOld,jdbcType=INTEGER},\n      use_point_limit_new = #{usePointLimitNew,jdbcType=INTEGER},\n      operate_man = #{operateMan,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductVertifyRecordMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsProductVertifyRecordMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsProductVertifyRecord\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"vertify_man\" jdbcType=\"VARCHAR\" property=\"vertifyMan\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"detail\" jdbcType=\"VARCHAR\" property=\"detail\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, create_time, vertify_man, status, detail\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecordExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_product_vertify_record\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_product_vertify_record\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_product_vertify_record\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecordExample\">\n    delete from pms_product_vertify_record\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecord\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_vertify_record (product_id, create_time, vertify_man, \n      status, detail)\n    values (#{productId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{vertifyMan,jdbcType=VARCHAR}, \n      #{status,jdbcType=INTEGER}, #{detail,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecord\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_product_vertify_record\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"vertifyMan != null\">\n        vertify_man,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"detail != null\">\n        detail,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"vertifyMan != null\">\n        #{vertifyMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"detail != null\">\n        #{detail,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecordExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_product_vertify_record\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_product_vertify_record\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.vertifyMan != null\">\n        vertify_man = #{record.vertifyMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.detail != null\">\n        detail = #{record.detail,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_product_vertify_record\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      vertify_man = #{record.vertifyMan,jdbcType=VARCHAR},\n      status = #{record.status,jdbcType=INTEGER},\n      detail = #{record.detail,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecord\">\n    update pms_product_vertify_record\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"vertifyMan != null\">\n        vertify_man = #{vertifyMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"detail != null\">\n        detail = #{detail,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsProductVertifyRecord\">\n    update pms_product_vertify_record\n    set product_id = #{productId,jdbcType=BIGINT},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      vertify_man = #{vertifyMan,jdbcType=VARCHAR},\n      status = #{status,jdbcType=INTEGER},\n      detail = #{detail,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/PmsSkuStockMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.PmsSkuStockMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.PmsSkuStock\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"sku_code\" jdbcType=\"VARCHAR\" property=\"skuCode\" />\n    <result column=\"price\" jdbcType=\"DECIMAL\" property=\"price\" />\n    <result column=\"stock\" jdbcType=\"INTEGER\" property=\"stock\" />\n    <result column=\"low_stock\" jdbcType=\"INTEGER\" property=\"lowStock\" />\n    <result column=\"pic\" jdbcType=\"VARCHAR\" property=\"pic\" />\n    <result column=\"sale\" jdbcType=\"INTEGER\" property=\"sale\" />\n    <result column=\"promotion_price\" jdbcType=\"DECIMAL\" property=\"promotionPrice\" />\n    <result column=\"lock_stock\" jdbcType=\"INTEGER\" property=\"lockStock\" />\n    <result column=\"sp_data\" jdbcType=\"VARCHAR\" property=\"spData\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, sku_code, price, stock, low_stock, pic, sale, promotion_price, lock_stock, \n    sp_data\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.PmsSkuStockExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from pms_sku_stock\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from pms_sku_stock\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from pms_sku_stock\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.PmsSkuStockExample\">\n    delete from pms_sku_stock\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.PmsSkuStock\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_sku_stock (product_id, sku_code, price, \n      stock, low_stock, pic, \n      sale, promotion_price, lock_stock, \n      sp_data)\n    values (#{productId,jdbcType=BIGINT}, #{skuCode,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, \n      #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR}, \n      #{sale,jdbcType=INTEGER}, #{promotionPrice,jdbcType=DECIMAL}, #{lockStock,jdbcType=INTEGER}, \n      #{spData,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.PmsSkuStock\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into pms_sku_stock\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"skuCode != null\">\n        sku_code,\n      </if>\n      <if test=\"price != null\">\n        price,\n      </if>\n      <if test=\"stock != null\">\n        stock,\n      </if>\n      <if test=\"lowStock != null\">\n        low_stock,\n      </if>\n      <if test=\"pic != null\">\n        pic,\n      </if>\n      <if test=\"sale != null\">\n        sale,\n      </if>\n      <if test=\"promotionPrice != null\">\n        promotion_price,\n      </if>\n      <if test=\"lockStock != null\">\n        lock_stock,\n      </if>\n      <if test=\"spData != null\">\n        sp_data,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"skuCode != null\">\n        #{skuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"price != null\">\n        #{price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"stock != null\">\n        #{stock,jdbcType=INTEGER},\n      </if>\n      <if test=\"lowStock != null\">\n        #{lowStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"pic != null\">\n        #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sale != null\">\n        #{sale,jdbcType=INTEGER},\n      </if>\n      <if test=\"promotionPrice != null\">\n        #{promotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"lockStock != null\">\n        #{lockStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"spData != null\">\n        #{spData,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.PmsSkuStockExample\" resultType=\"java.lang.Long\">\n    select count(*) from pms_sku_stock\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update pms_sku_stock\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.skuCode != null\">\n        sku_code = #{record.skuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.price != null\">\n        price = #{record.price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.stock != null\">\n        stock = #{record.stock,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.lowStock != null\">\n        low_stock = #{record.lowStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.pic != null\">\n        pic = #{record.pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sale != null\">\n        sale = #{record.sale,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.promotionPrice != null\">\n        promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.lockStock != null\">\n        lock_stock = #{record.lockStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.spData != null\">\n        sp_data = #{record.spData,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update pms_sku_stock\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      sku_code = #{record.skuCode,jdbcType=VARCHAR},\n      price = #{record.price,jdbcType=DECIMAL},\n      stock = #{record.stock,jdbcType=INTEGER},\n      low_stock = #{record.lowStock,jdbcType=INTEGER},\n      pic = #{record.pic,jdbcType=VARCHAR},\n      sale = #{record.sale,jdbcType=INTEGER},\n      promotion_price = #{record.promotionPrice,jdbcType=DECIMAL},\n      lock_stock = #{record.lockStock,jdbcType=INTEGER},\n      sp_data = #{record.spData,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.PmsSkuStock\">\n    update pms_sku_stock\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"skuCode != null\">\n        sku_code = #{skuCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"price != null\">\n        price = #{price,jdbcType=DECIMAL},\n      </if>\n      <if test=\"stock != null\">\n        stock = #{stock,jdbcType=INTEGER},\n      </if>\n      <if test=\"lowStock != null\">\n        low_stock = #{lowStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"pic != null\">\n        pic = #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sale != null\">\n        sale = #{sale,jdbcType=INTEGER},\n      </if>\n      <if test=\"promotionPrice != null\">\n        promotion_price = #{promotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"lockStock != null\">\n        lock_stock = #{lockStock,jdbcType=INTEGER},\n      </if>\n      <if test=\"spData != null\">\n        sp_data = #{spData,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.PmsSkuStock\">\n    update pms_sku_stock\n    set product_id = #{productId,jdbcType=BIGINT},\n      sku_code = #{skuCode,jdbcType=VARCHAR},\n      price = #{price,jdbcType=DECIMAL},\n      stock = #{stock,jdbcType=INTEGER},\n      low_stock = #{lowStock,jdbcType=INTEGER},\n      pic = #{pic,jdbcType=VARCHAR},\n      sale = #{sale,jdbcType=INTEGER},\n      promotion_price = #{promotionPrice,jdbcType=DECIMAL},\n      lock_stock = #{lockStock,jdbcType=INTEGER},\n      sp_data = #{spData,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponHistoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsCouponHistoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsCouponHistory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"coupon_id\" jdbcType=\"BIGINT\" property=\"couponId\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"coupon_code\" jdbcType=\"VARCHAR\" property=\"couponCode\" />\n    <result column=\"member_nickname\" jdbcType=\"VARCHAR\" property=\"memberNickname\" />\n    <result column=\"get_type\" jdbcType=\"INTEGER\" property=\"getType\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"use_status\" jdbcType=\"INTEGER\" property=\"useStatus\" />\n    <result column=\"use_time\" jdbcType=\"TIMESTAMP\" property=\"useTime\" />\n    <result column=\"order_id\" jdbcType=\"BIGINT\" property=\"orderId\" />\n    <result column=\"order_sn\" jdbcType=\"VARCHAR\" property=\"orderSn\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, coupon_id, member_id, coupon_code, member_nickname, get_type, create_time, use_status, \n    use_time, order_id, order_sn\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsCouponHistoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_coupon_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_coupon_history\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_coupon_history\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsCouponHistoryExample\">\n    delete from sms_coupon_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsCouponHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon_history (coupon_id, member_id, coupon_code, \n      member_nickname, get_type, create_time, \n      use_status, use_time, order_id, \n      order_sn)\n    values (#{couponId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{couponCode,jdbcType=VARCHAR}, \n      #{memberNickname,jdbcType=VARCHAR}, #{getType,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, \n      #{useStatus,jdbcType=INTEGER}, #{useTime,jdbcType=TIMESTAMP}, #{orderId,jdbcType=BIGINT}, \n      #{orderSn,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsCouponHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon_history\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"couponId != null\">\n        coupon_id,\n      </if>\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"couponCode != null\">\n        coupon_code,\n      </if>\n      <if test=\"memberNickname != null\">\n        member_nickname,\n      </if>\n      <if test=\"getType != null\">\n        get_type,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"useStatus != null\">\n        use_status,\n      </if>\n      <if test=\"useTime != null\">\n        use_time,\n      </if>\n      <if test=\"orderId != null\">\n        order_id,\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"couponId != null\">\n        #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"couponCode != null\">\n        #{couponCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberNickname != null\">\n        #{memberNickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"getType != null\">\n        #{getType,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"useStatus != null\">\n        #{useStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"useTime != null\">\n        #{useTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"orderId != null\">\n        #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        #{orderSn,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsCouponHistoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_coupon_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_coupon_history\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.couponId != null\">\n        coupon_id = #{record.couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.couponCode != null\">\n        coupon_code = #{record.couponCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.memberNickname != null\">\n        member_nickname = #{record.memberNickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.getType != null\">\n        get_type = #{record.getType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.useStatus != null\">\n        use_status = #{record.useStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.useTime != null\">\n        use_time = #{record.useTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.orderId != null\">\n        order_id = #{record.orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.orderSn != null\">\n        order_sn = #{record.orderSn,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_coupon_history\n    set id = #{record.id,jdbcType=BIGINT},\n      coupon_id = #{record.couponId,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      coupon_code = #{record.couponCode,jdbcType=VARCHAR},\n      member_nickname = #{record.memberNickname,jdbcType=VARCHAR},\n      get_type = #{record.getType,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      use_status = #{record.useStatus,jdbcType=INTEGER},\n      use_time = #{record.useTime,jdbcType=TIMESTAMP},\n      order_id = #{record.orderId,jdbcType=BIGINT},\n      order_sn = #{record.orderSn,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsCouponHistory\">\n    update sms_coupon_history\n    <set>\n      <if test=\"couponId != null\">\n        coupon_id = #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"couponCode != null\">\n        coupon_code = #{couponCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberNickname != null\">\n        member_nickname = #{memberNickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"getType != null\">\n        get_type = #{getType,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"useStatus != null\">\n        use_status = #{useStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"useTime != null\">\n        use_time = #{useTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"orderId != null\">\n        order_id = #{orderId,jdbcType=BIGINT},\n      </if>\n      <if test=\"orderSn != null\">\n        order_sn = #{orderSn,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsCouponHistory\">\n    update sms_coupon_history\n    set coupon_id = #{couponId,jdbcType=BIGINT},\n      member_id = #{memberId,jdbcType=BIGINT},\n      coupon_code = #{couponCode,jdbcType=VARCHAR},\n      member_nickname = #{memberNickname,jdbcType=VARCHAR},\n      get_type = #{getType,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      use_status = #{useStatus,jdbcType=INTEGER},\n      use_time = #{useTime,jdbcType=TIMESTAMP},\n      order_id = #{orderId,jdbcType=BIGINT},\n      order_sn = #{orderSn,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsCouponMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsCoupon\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"platform\" jdbcType=\"INTEGER\" property=\"platform\" />\n    <result column=\"count\" jdbcType=\"INTEGER\" property=\"count\" />\n    <result column=\"amount\" jdbcType=\"DECIMAL\" property=\"amount\" />\n    <result column=\"per_limit\" jdbcType=\"INTEGER\" property=\"perLimit\" />\n    <result column=\"min_point\" jdbcType=\"DECIMAL\" property=\"minPoint\" />\n    <result column=\"start_time\" jdbcType=\"TIMESTAMP\" property=\"startTime\" />\n    <result column=\"end_time\" jdbcType=\"TIMESTAMP\" property=\"endTime\" />\n    <result column=\"use_type\" jdbcType=\"INTEGER\" property=\"useType\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n    <result column=\"publish_count\" jdbcType=\"INTEGER\" property=\"publishCount\" />\n    <result column=\"use_count\" jdbcType=\"INTEGER\" property=\"useCount\" />\n    <result column=\"receive_count\" jdbcType=\"INTEGER\" property=\"receiveCount\" />\n    <result column=\"enable_time\" jdbcType=\"TIMESTAMP\" property=\"enableTime\" />\n    <result column=\"code\" jdbcType=\"VARCHAR\" property=\"code\" />\n    <result column=\"member_level\" jdbcType=\"INTEGER\" property=\"memberLevel\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, type, name, platform, count, amount, per_limit, min_point, start_time, end_time, \n    use_type, note, publish_count, use_count, receive_count, enable_time, code, member_level\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsCouponExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_coupon\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_coupon\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_coupon\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsCouponExample\">\n    delete from sms_coupon\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsCoupon\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon (type, name, platform, \n      count, amount, per_limit, \n      min_point, start_time, end_time, \n      use_type, note, publish_count, \n      use_count, receive_count, enable_time, \n      code, member_level)\n    values (#{type,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{platform,jdbcType=INTEGER}, \n      #{count,jdbcType=INTEGER}, #{amount,jdbcType=DECIMAL}, #{perLimit,jdbcType=INTEGER}, \n      #{minPoint,jdbcType=DECIMAL}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, \n      #{useType,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}, #{publishCount,jdbcType=INTEGER}, \n      #{useCount,jdbcType=INTEGER}, #{receiveCount,jdbcType=INTEGER}, #{enableTime,jdbcType=TIMESTAMP}, \n      #{code,jdbcType=VARCHAR}, #{memberLevel,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsCoupon\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"type != null\">\n        type,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"platform != null\">\n        platform,\n      </if>\n      <if test=\"count != null\">\n        count,\n      </if>\n      <if test=\"amount != null\">\n        amount,\n      </if>\n      <if test=\"perLimit != null\">\n        per_limit,\n      </if>\n      <if test=\"minPoint != null\">\n        min_point,\n      </if>\n      <if test=\"startTime != null\">\n        start_time,\n      </if>\n      <if test=\"endTime != null\">\n        end_time,\n      </if>\n      <if test=\"useType != null\">\n        use_type,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n      <if test=\"publishCount != null\">\n        publish_count,\n      </if>\n      <if test=\"useCount != null\">\n        use_count,\n      </if>\n      <if test=\"receiveCount != null\">\n        receive_count,\n      </if>\n      <if test=\"enableTime != null\">\n        enable_time,\n      </if>\n      <if test=\"code != null\">\n        code,\n      </if>\n      <if test=\"memberLevel != null\">\n        member_level,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"platform != null\">\n        #{platform,jdbcType=INTEGER},\n      </if>\n      <if test=\"count != null\">\n        #{count,jdbcType=INTEGER},\n      </if>\n      <if test=\"amount != null\">\n        #{amount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"perLimit != null\">\n        #{perLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"minPoint != null\">\n        #{minPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"startTime != null\">\n        #{startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"endTime != null\">\n        #{endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"useType != null\">\n        #{useType,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"publishCount != null\">\n        #{publishCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"useCount != null\">\n        #{useCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"receiveCount != null\">\n        #{receiveCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"enableTime != null\">\n        #{enableTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"code != null\">\n        #{code,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberLevel != null\">\n        #{memberLevel,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsCouponExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_coupon\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_coupon\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.platform != null\">\n        platform = #{record.platform,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.count != null\">\n        count = #{record.count,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.amount != null\">\n        amount = #{record.amount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.perLimit != null\">\n        per_limit = #{record.perLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.minPoint != null\">\n        min_point = #{record.minPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.startTime != null\">\n        start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.endTime != null\">\n        end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.useType != null\">\n        use_type = #{record.useType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.publishCount != null\">\n        publish_count = #{record.publishCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.useCount != null\">\n        use_count = #{record.useCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.receiveCount != null\">\n        receive_count = #{record.receiveCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.enableTime != null\">\n        enable_time = #{record.enableTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.code != null\">\n        code = #{record.code,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.memberLevel != null\">\n        member_level = #{record.memberLevel,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_coupon\n    set id = #{record.id,jdbcType=BIGINT},\n      type = #{record.type,jdbcType=INTEGER},\n      name = #{record.name,jdbcType=VARCHAR},\n      platform = #{record.platform,jdbcType=INTEGER},\n      count = #{record.count,jdbcType=INTEGER},\n      amount = #{record.amount,jdbcType=DECIMAL},\n      per_limit = #{record.perLimit,jdbcType=INTEGER},\n      min_point = #{record.minPoint,jdbcType=DECIMAL},\n      start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      use_type = #{record.useType,jdbcType=INTEGER},\n      note = #{record.note,jdbcType=VARCHAR},\n      publish_count = #{record.publishCount,jdbcType=INTEGER},\n      use_count = #{record.useCount,jdbcType=INTEGER},\n      receive_count = #{record.receiveCount,jdbcType=INTEGER},\n      enable_time = #{record.enableTime,jdbcType=TIMESTAMP},\n      code = #{record.code,jdbcType=VARCHAR},\n      member_level = #{record.memberLevel,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsCoupon\">\n    update sms_coupon\n    <set>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"platform != null\">\n        platform = #{platform,jdbcType=INTEGER},\n      </if>\n      <if test=\"count != null\">\n        count = #{count,jdbcType=INTEGER},\n      </if>\n      <if test=\"amount != null\">\n        amount = #{amount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"perLimit != null\">\n        per_limit = #{perLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"minPoint != null\">\n        min_point = #{minPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"startTime != null\">\n        start_time = #{startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"endTime != null\">\n        end_time = #{endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"useType != null\">\n        use_type = #{useType,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"publishCount != null\">\n        publish_count = #{publishCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"useCount != null\">\n        use_count = #{useCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"receiveCount != null\">\n        receive_count = #{receiveCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"enableTime != null\">\n        enable_time = #{enableTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"code != null\">\n        code = #{code,jdbcType=VARCHAR},\n      </if>\n      <if test=\"memberLevel != null\">\n        member_level = #{memberLevel,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsCoupon\">\n    update sms_coupon\n    set type = #{type,jdbcType=INTEGER},\n      name = #{name,jdbcType=VARCHAR},\n      platform = #{platform,jdbcType=INTEGER},\n      count = #{count,jdbcType=INTEGER},\n      amount = #{amount,jdbcType=DECIMAL},\n      per_limit = #{perLimit,jdbcType=INTEGER},\n      min_point = #{minPoint,jdbcType=DECIMAL},\n      start_time = #{startTime,jdbcType=TIMESTAMP},\n      end_time = #{endTime,jdbcType=TIMESTAMP},\n      use_type = #{useType,jdbcType=INTEGER},\n      note = #{note,jdbcType=VARCHAR},\n      publish_count = #{publishCount,jdbcType=INTEGER},\n      use_count = #{useCount,jdbcType=INTEGER},\n      receive_count = #{receiveCount,jdbcType=INTEGER},\n      enable_time = #{enableTime,jdbcType=TIMESTAMP},\n      code = #{code,jdbcType=VARCHAR},\n      member_level = #{memberLevel,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponProductCategoryRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsCouponProductCategoryRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsCouponProductCategoryRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"coupon_id\" jdbcType=\"BIGINT\" property=\"couponId\" />\n    <result column=\"product_category_id\" jdbcType=\"BIGINT\" property=\"productCategoryId\" />\n    <result column=\"product_category_name\" jdbcType=\"VARCHAR\" property=\"productCategoryName\" />\n    <result column=\"parent_category_name\" jdbcType=\"VARCHAR\" property=\"parentCategoryName\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, coupon_id, product_category_id, product_category_name, parent_category_name\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_coupon_product_category_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_coupon_product_category_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_coupon_product_category_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelationExample\">\n    delete from sms_coupon_product_category_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon_product_category_relation (coupon_id, product_category_id, product_category_name, \n      parent_category_name)\n    values (#{couponId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{productCategoryName,jdbcType=VARCHAR}, \n      #{parentCategoryName,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon_product_category_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"couponId != null\">\n        coupon_id,\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id,\n      </if>\n      <if test=\"productCategoryName != null\">\n        product_category_name,\n      </if>\n      <if test=\"parentCategoryName != null\">\n        parent_category_name,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"couponId != null\">\n        #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryId != null\">\n        #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryName != null\">\n        #{productCategoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"parentCategoryName != null\">\n        #{parentCategoryName,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_coupon_product_category_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_coupon_product_category_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.couponId != null\">\n        coupon_id = #{record.couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productCategoryId != null\">\n        product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productCategoryName != null\">\n        product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.parentCategoryName != null\">\n        parent_category_name = #{record.parentCategoryName,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_coupon_product_category_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      coupon_id = #{record.couponId,jdbcType=BIGINT},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},\n      parent_category_name = #{record.parentCategoryName,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelation\">\n    update sms_coupon_product_category_relation\n    <set>\n      <if test=\"couponId != null\">\n        coupon_id = #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryName != null\">\n        product_category_name = #{productCategoryName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"parentCategoryName != null\">\n        parent_category_name = #{parentCategoryName,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsCouponProductCategoryRelation\">\n    update sms_coupon_product_category_relation\n    set coupon_id = #{couponId,jdbcType=BIGINT},\n      product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      product_category_name = #{productCategoryName,jdbcType=VARCHAR},\n      parent_category_name = #{parentCategoryName,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponProductRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsCouponProductRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsCouponProductRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"coupon_id\" jdbcType=\"BIGINT\" property=\"couponId\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"product_sn\" jdbcType=\"VARCHAR\" property=\"productSn\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, coupon_id, product_id, product_name, product_sn\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsCouponProductRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_coupon_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_coupon_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_coupon_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsCouponProductRelationExample\">\n    delete from sms_coupon_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsCouponProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon_product_relation (coupon_id, product_id, product_name, \n      product_sn)\n    values (#{couponId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, \n      #{productSn,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsCouponProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_coupon_product_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"couponId != null\">\n        coupon_id,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"productSn != null\">\n        product_sn,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"couponId != null\">\n        #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        #{productSn,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsCouponProductRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_coupon_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_coupon_product_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.couponId != null\">\n        coupon_id = #{record.couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productSn != null\">\n        product_sn = #{record.productSn,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_coupon_product_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      coupon_id = #{record.couponId,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      product_sn = #{record.productSn,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsCouponProductRelation\">\n    update sms_coupon_product_relation\n    <set>\n      <if test=\"couponId != null\">\n        coupon_id = #{couponId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productSn != null\">\n        product_sn = #{productSn,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsCouponProductRelation\">\n    update sms_coupon_product_relation\n    set coupon_id = #{couponId,jdbcType=BIGINT},\n      product_id = #{productId,jdbcType=BIGINT},\n      product_name = #{productName,jdbcType=VARCHAR},\n      product_sn = #{productSn,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionLogMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsFlashPromotionLogMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsFlashPromotionLog\">\n    <id column=\"id\" jdbcType=\"INTEGER\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"INTEGER\" property=\"memberId\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"member_phone\" jdbcType=\"VARCHAR\" property=\"memberPhone\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"subscribe_time\" jdbcType=\"TIMESTAMP\" property=\"subscribeTime\" />\n    <result column=\"send_time\" jdbcType=\"TIMESTAMP\" property=\"sendTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, product_id, member_phone, product_name, subscribe_time, send_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLogExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Integer\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion_log\n    where id = #{id,jdbcType=INTEGER}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Integer\">\n    delete from sms_flash_promotion_log\n    where id = #{id,jdbcType=INTEGER}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLogExample\">\n    delete from sms_flash_promotion_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Integer\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion_log (member_id, product_id, member_phone, \n      product_name, subscribe_time, send_time\n      )\n    values (#{memberId,jdbcType=INTEGER}, #{productId,jdbcType=BIGINT}, #{memberPhone,jdbcType=VARCHAR}, \n      #{productName,jdbcType=VARCHAR}, #{subscribeTime,jdbcType=TIMESTAMP}, #{sendTime,jdbcType=TIMESTAMP}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Integer\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion_log\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"memberPhone != null\">\n        member_phone,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"subscribeTime != null\">\n        subscribe_time,\n      </if>\n      <if test=\"sendTime != null\">\n        send_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=INTEGER},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberPhone != null\">\n        #{memberPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subscribeTime != null\">\n        #{subscribeTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"sendTime != null\">\n        #{sendTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLogExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_flash_promotion_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_flash_promotion_log\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberPhone != null\">\n        member_phone = #{record.memberPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.subscribeTime != null\">\n        subscribe_time = #{record.subscribeTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.sendTime != null\">\n        send_time = #{record.sendTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_flash_promotion_log\n    set id = #{record.id,jdbcType=INTEGER},\n      member_id = #{record.memberId,jdbcType=INTEGER},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      member_phone = #{record.memberPhone,jdbcType=VARCHAR},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      subscribe_time = #{record.subscribeTime,jdbcType=TIMESTAMP},\n      send_time = #{record.sendTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLog\">\n    update sms_flash_promotion_log\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=INTEGER},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"memberPhone != null\">\n        member_phone = #{memberPhone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"subscribeTime != null\">\n        subscribe_time = #{subscribeTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"sendTime != null\">\n        send_time = #{sendTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=INTEGER}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsFlashPromotionLog\">\n    update sms_flash_promotion_log\n    set member_id = #{memberId,jdbcType=INTEGER},\n      product_id = #{productId,jdbcType=BIGINT},\n      member_phone = #{memberPhone,jdbcType=VARCHAR},\n      product_name = #{productName,jdbcType=VARCHAR},\n      subscribe_time = #{subscribeTime,jdbcType=TIMESTAMP},\n      send_time = #{sendTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=INTEGER}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsFlashPromotionMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsFlashPromotion\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"title\" jdbcType=\"VARCHAR\" property=\"title\" />\n    <result column=\"start_date\" jdbcType=\"DATE\" property=\"startDate\" />\n    <result column=\"end_date\" jdbcType=\"DATE\" property=\"endDate\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, title, start_date, end_date, status, create_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_flash_promotion\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionExample\">\n    delete from sms_flash_promotion\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsFlashPromotion\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion (title, start_date, end_date, \n      status, create_time)\n    values (#{title,jdbcType=VARCHAR}, #{startDate,jdbcType=DATE}, #{endDate,jdbcType=DATE}, \n      #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotion\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"title != null\">\n        title,\n      </if>\n      <if test=\"startDate != null\">\n        start_date,\n      </if>\n      <if test=\"endDate != null\">\n        end_date,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"title != null\">\n        #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"startDate != null\">\n        #{startDate,jdbcType=DATE},\n      </if>\n      <if test=\"endDate != null\">\n        #{endDate,jdbcType=DATE},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_flash_promotion\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_flash_promotion\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.title != null\">\n        title = #{record.title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.startDate != null\">\n        start_date = #{record.startDate,jdbcType=DATE},\n      </if>\n      <if test=\"record.endDate != null\">\n        end_date = #{record.endDate,jdbcType=DATE},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_flash_promotion\n    set id = #{record.id,jdbcType=BIGINT},\n      title = #{record.title,jdbcType=VARCHAR},\n      start_date = #{record.startDate,jdbcType=DATE},\n      end_date = #{record.endDate,jdbcType=DATE},\n      status = #{record.status,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotion\">\n    update sms_flash_promotion\n    <set>\n      <if test=\"title != null\">\n        title = #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"startDate != null\">\n        start_date = #{startDate,jdbcType=DATE},\n      </if>\n      <if test=\"endDate != null\">\n        end_date = #{endDate,jdbcType=DATE},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsFlashPromotion\">\n    update sms_flash_promotion\n    set title = #{title,jdbcType=VARCHAR},\n      start_date = #{startDate,jdbcType=DATE},\n      end_date = #{endDate,jdbcType=DATE},\n      status = #{status,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionProductRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsFlashPromotionProductRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsFlashPromotionProductRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"flash_promotion_id\" jdbcType=\"BIGINT\" property=\"flashPromotionId\" />\n    <result column=\"flash_promotion_session_id\" jdbcType=\"BIGINT\" property=\"flashPromotionSessionId\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"flash_promotion_price\" jdbcType=\"DECIMAL\" property=\"flashPromotionPrice\" />\n    <result column=\"flash_promotion_count\" jdbcType=\"INTEGER\" property=\"flashPromotionCount\" />\n    <result column=\"flash_promotion_limit\" jdbcType=\"INTEGER\" property=\"flashPromotionLimit\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, flash_promotion_id, flash_promotion_session_id, product_id, flash_promotion_price, \n    flash_promotion_count, flash_promotion_limit, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_flash_promotion_product_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelationExample\">\n    delete from sms_flash_promotion_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion_product_relation (flash_promotion_id, flash_promotion_session_id, \n      product_id, flash_promotion_price, flash_promotion_count, \n      flash_promotion_limit, sort)\n    values (#{flashPromotionId,jdbcType=BIGINT}, #{flashPromotionSessionId,jdbcType=BIGINT}, \n      #{productId,jdbcType=BIGINT}, #{flashPromotionPrice,jdbcType=DECIMAL}, #{flashPromotionCount,jdbcType=INTEGER}, \n      #{flashPromotionLimit,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion_product_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"flashPromotionId != null\">\n        flash_promotion_id,\n      </if>\n      <if test=\"flashPromotionSessionId != null\">\n        flash_promotion_session_id,\n      </if>\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"flashPromotionPrice != null\">\n        flash_promotion_price,\n      </if>\n      <if test=\"flashPromotionCount != null\">\n        flash_promotion_count,\n      </if>\n      <if test=\"flashPromotionLimit != null\">\n        flash_promotion_limit,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"flashPromotionId != null\">\n        #{flashPromotionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"flashPromotionSessionId != null\">\n        #{flashPromotionSessionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"flashPromotionPrice != null\">\n        #{flashPromotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"flashPromotionCount != null\">\n        #{flashPromotionCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"flashPromotionLimit != null\">\n        #{flashPromotionLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_flash_promotion_product_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_flash_promotion_product_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.flashPromotionId != null\">\n        flash_promotion_id = #{record.flashPromotionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.flashPromotionSessionId != null\">\n        flash_promotion_session_id = #{record.flashPromotionSessionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.flashPromotionPrice != null\">\n        flash_promotion_price = #{record.flashPromotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.flashPromotionCount != null\">\n        flash_promotion_count = #{record.flashPromotionCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.flashPromotionLimit != null\">\n        flash_promotion_limit = #{record.flashPromotionLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_flash_promotion_product_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      flash_promotion_id = #{record.flashPromotionId,jdbcType=BIGINT},\n      flash_promotion_session_id = #{record.flashPromotionSessionId,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      flash_promotion_price = #{record.flashPromotionPrice,jdbcType=DECIMAL},\n      flash_promotion_count = #{record.flashPromotionCount,jdbcType=INTEGER},\n      flash_promotion_limit = #{record.flashPromotionLimit,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelation\">\n    update sms_flash_promotion_product_relation\n    <set>\n      <if test=\"flashPromotionId != null\">\n        flash_promotion_id = #{flashPromotionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"flashPromotionSessionId != null\">\n        flash_promotion_session_id = #{flashPromotionSessionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"flashPromotionPrice != null\">\n        flash_promotion_price = #{flashPromotionPrice,jdbcType=DECIMAL},\n      </if>\n      <if test=\"flashPromotionCount != null\">\n        flash_promotion_count = #{flashPromotionCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"flashPromotionLimit != null\">\n        flash_promotion_limit = #{flashPromotionLimit,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsFlashPromotionProductRelation\">\n    update sms_flash_promotion_product_relation\n    set flash_promotion_id = #{flashPromotionId,jdbcType=BIGINT},\n      flash_promotion_session_id = #{flashPromotionSessionId,jdbcType=BIGINT},\n      product_id = #{productId,jdbcType=BIGINT},\n      flash_promotion_price = #{flashPromotionPrice,jdbcType=DECIMAL},\n      flash_promotion_count = #{flashPromotionCount,jdbcType=INTEGER},\n      flash_promotion_limit = #{flashPromotionLimit,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionSessionMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsFlashPromotionSessionMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsFlashPromotionSession\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"start_time\" jdbcType=\"TIME\" property=\"startTime\" />\n    <result column=\"end_time\" jdbcType=\"TIME\" property=\"endTime\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, start_time, end_time, status, create_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSessionExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion_session\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_flash_promotion_session\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_flash_promotion_session\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSessionExample\">\n    delete from sms_flash_promotion_session\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSession\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion_session (name, start_time, end_time, \n      status, create_time)\n    values (#{name,jdbcType=VARCHAR}, #{startTime,jdbcType=TIME}, #{endTime,jdbcType=TIME}, \n      #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSession\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_flash_promotion_session\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"startTime != null\">\n        start_time,\n      </if>\n      <if test=\"endTime != null\">\n        end_time,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"startTime != null\">\n        #{startTime,jdbcType=TIME},\n      </if>\n      <if test=\"endTime != null\">\n        #{endTime,jdbcType=TIME},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSessionExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_flash_promotion_session\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_flash_promotion_session\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.startTime != null\">\n        start_time = #{record.startTime,jdbcType=TIME},\n      </if>\n      <if test=\"record.endTime != null\">\n        end_time = #{record.endTime,jdbcType=TIME},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_flash_promotion_session\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      start_time = #{record.startTime,jdbcType=TIME},\n      end_time = #{record.endTime,jdbcType=TIME},\n      status = #{record.status,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSession\">\n    update sms_flash_promotion_session\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"startTime != null\">\n        start_time = #{startTime,jdbcType=TIME},\n      </if>\n      <if test=\"endTime != null\">\n        end_time = #{endTime,jdbcType=TIME},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsFlashPromotionSession\">\n    update sms_flash_promotion_session\n    set name = #{name,jdbcType=VARCHAR},\n      start_time = #{startTime,jdbcType=TIME},\n      end_time = #{endTime,jdbcType=TIME},\n      status = #{status,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeAdvertiseMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsHomeAdvertiseMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsHomeAdvertise\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n    <result column=\"pic\" jdbcType=\"VARCHAR\" property=\"pic\" />\n    <result column=\"start_time\" jdbcType=\"TIMESTAMP\" property=\"startTime\" />\n    <result column=\"end_time\" jdbcType=\"TIMESTAMP\" property=\"endTime\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"click_count\" jdbcType=\"INTEGER\" property=\"clickCount\" />\n    <result column=\"order_count\" jdbcType=\"INTEGER\" property=\"orderCount\" />\n    <result column=\"url\" jdbcType=\"VARCHAR\" property=\"url\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, type, pic, start_time, end_time, status, click_count, order_count, url, \n    note, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsHomeAdvertiseExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_home_advertise\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_home_advertise\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_home_advertise\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsHomeAdvertiseExample\">\n    delete from sms_home_advertise\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsHomeAdvertise\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_advertise (name, type, pic, \n      start_time, end_time, status, \n      click_count, order_count, url, \n      note, sort)\n    values (#{name,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR}, \n      #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, \n      #{clickCount,jdbcType=INTEGER}, #{orderCount,jdbcType=INTEGER}, #{url,jdbcType=VARCHAR}, \n      #{note,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsHomeAdvertise\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_advertise\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n      <if test=\"pic != null\">\n        pic,\n      </if>\n      <if test=\"startTime != null\">\n        start_time,\n      </if>\n      <if test=\"endTime != null\">\n        end_time,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"clickCount != null\">\n        click_count,\n      </if>\n      <if test=\"orderCount != null\">\n        order_count,\n      </if>\n      <if test=\"url != null\">\n        url,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n      <if test=\"pic != null\">\n        #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"startTime != null\">\n        #{startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"endTime != null\">\n        #{endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"clickCount != null\">\n        #{clickCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"orderCount != null\">\n        #{orderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"url != null\">\n        #{url,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsHomeAdvertiseExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_home_advertise\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_home_advertise\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.pic != null\">\n        pic = #{record.pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.startTime != null\">\n        start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.endTime != null\">\n        end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.clickCount != null\">\n        click_count = #{record.clickCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.orderCount != null\">\n        order_count = #{record.orderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.url != null\">\n        url = #{record.url,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_home_advertise\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      type = #{record.type,jdbcType=INTEGER},\n      pic = #{record.pic,jdbcType=VARCHAR},\n      start_time = #{record.startTime,jdbcType=TIMESTAMP},\n      end_time = #{record.endTime,jdbcType=TIMESTAMP},\n      status = #{record.status,jdbcType=INTEGER},\n      click_count = #{record.clickCount,jdbcType=INTEGER},\n      order_count = #{record.orderCount,jdbcType=INTEGER},\n      url = #{record.url,jdbcType=VARCHAR},\n      note = #{record.note,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsHomeAdvertise\">\n    update sms_home_advertise\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n      <if test=\"pic != null\">\n        pic = #{pic,jdbcType=VARCHAR},\n      </if>\n      <if test=\"startTime != null\">\n        start_time = #{startTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"endTime != null\">\n        end_time = #{endTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"clickCount != null\">\n        click_count = #{clickCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"orderCount != null\">\n        order_count = #{orderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"url != null\">\n        url = #{url,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsHomeAdvertise\">\n    update sms_home_advertise\n    set name = #{name,jdbcType=VARCHAR},\n      type = #{type,jdbcType=INTEGER},\n      pic = #{pic,jdbcType=VARCHAR},\n      start_time = #{startTime,jdbcType=TIMESTAMP},\n      end_time = #{endTime,jdbcType=TIMESTAMP},\n      status = #{status,jdbcType=INTEGER},\n      click_count = #{clickCount,jdbcType=INTEGER},\n      order_count = #{orderCount,jdbcType=INTEGER},\n      url = #{url,jdbcType=VARCHAR},\n      note = #{note,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeBrandMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsHomeBrandMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsHomeBrand\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"brand_id\" jdbcType=\"BIGINT\" property=\"brandId\" />\n    <result column=\"brand_name\" jdbcType=\"VARCHAR\" property=\"brandName\" />\n    <result column=\"recommend_status\" jdbcType=\"INTEGER\" property=\"recommendStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, brand_id, brand_name, recommend_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsHomeBrandExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_home_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_home_brand\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_home_brand\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsHomeBrandExample\">\n    delete from sms_home_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsHomeBrand\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_brand (brand_id, brand_name, recommend_status, \n      sort)\n    values (#{brandId,jdbcType=BIGINT}, #{brandName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, \n      #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsHomeBrand\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_brand\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"brandId != null\">\n        brand_id,\n      </if>\n      <if test=\"brandName != null\">\n        brand_name,\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"brandId != null\">\n        #{brandId,jdbcType=BIGINT},\n      </if>\n      <if test=\"brandName != null\">\n        #{brandName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsHomeBrandExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_home_brand\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_home_brand\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.brandId != null\">\n        brand_id = #{record.brandId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.brandName != null\">\n        brand_name = #{record.brandName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.recommendStatus != null\">\n        recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_home_brand\n    set id = #{record.id,jdbcType=BIGINT},\n      brand_id = #{record.brandId,jdbcType=BIGINT},\n      brand_name = #{record.brandName,jdbcType=VARCHAR},\n      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsHomeBrand\">\n    update sms_home_brand\n    <set>\n      <if test=\"brandId != null\">\n        brand_id = #{brandId,jdbcType=BIGINT},\n      </if>\n      <if test=\"brandName != null\">\n        brand_name = #{brandName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsHomeBrand\">\n    update sms_home_brand\n    set brand_id = #{brandId,jdbcType=BIGINT},\n      brand_name = #{brandName,jdbcType=VARCHAR},\n      recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeNewProductMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsHomeNewProductMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsHomeNewProduct\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"recommend_status\" jdbcType=\"INTEGER\" property=\"recommendStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, product_name, recommend_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsHomeNewProductExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_home_new_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_home_new_product\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_home_new_product\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsHomeNewProductExample\">\n    delete from sms_home_new_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsHomeNewProduct\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_new_product (product_id, product_name, recommend_status, \n      sort)\n    values (#{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, \n      #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsHomeNewProduct\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_new_product\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsHomeNewProductExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_home_new_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_home_new_product\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.recommendStatus != null\">\n        recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_home_new_product\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsHomeNewProduct\">\n    update sms_home_new_product\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsHomeNewProduct\">\n    update sms_home_new_product\n    set product_id = #{productId,jdbcType=BIGINT},\n      product_name = #{productName,jdbcType=VARCHAR},\n      recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeRecommendProductMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsHomeRecommendProductMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsHomeRecommendProduct\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"product_id\" jdbcType=\"BIGINT\" property=\"productId\" />\n    <result column=\"product_name\" jdbcType=\"VARCHAR\" property=\"productName\" />\n    <result column=\"recommend_status\" jdbcType=\"INTEGER\" property=\"recommendStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, product_id, product_name, recommend_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProductExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_home_recommend_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_home_recommend_product\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_home_recommend_product\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProductExample\">\n    delete from sms_home_recommend_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProduct\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_recommend_product (product_id, product_name, recommend_status, \n      sort)\n    values (#{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, \n      #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProduct\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_recommend_product\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        product_id,\n      </if>\n      <if test=\"productName != null\">\n        product_name,\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"productId != null\">\n        #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productName != null\">\n        #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProductExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_home_recommend_product\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_home_recommend_product\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productId != null\">\n        product_id = #{record.productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productName != null\">\n        product_name = #{record.productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.recommendStatus != null\">\n        recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_home_recommend_product\n    set id = #{record.id,jdbcType=BIGINT},\n      product_id = #{record.productId,jdbcType=BIGINT},\n      product_name = #{record.productName,jdbcType=VARCHAR},\n      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProduct\">\n    update sms_home_recommend_product\n    <set>\n      <if test=\"productId != null\">\n        product_id = #{productId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productName != null\">\n        product_name = #{productName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsHomeRecommendProduct\">\n    update sms_home_recommend_product\n    set product_id = #{productId,jdbcType=BIGINT},\n      product_name = #{productName,jdbcType=VARCHAR},\n      recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeRecommendSubjectMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.SmsHomeRecommendSubjectMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.SmsHomeRecommendSubject\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"subject_id\" jdbcType=\"BIGINT\" property=\"subjectId\" />\n    <result column=\"subject_name\" jdbcType=\"VARCHAR\" property=\"subjectName\" />\n    <result column=\"recommend_status\" jdbcType=\"INTEGER\" property=\"recommendStatus\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, subject_id, subject_name, recommend_status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubjectExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from sms_home_recommend_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from sms_home_recommend_subject\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from sms_home_recommend_subject\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubjectExample\">\n    delete from sms_home_recommend_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubject\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_recommend_subject (subject_id, subject_name, recommend_status, \n      sort)\n    values (#{subjectId,jdbcType=BIGINT}, #{subjectName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, \n      #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubject\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into sms_home_recommend_subject\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"subjectId != null\">\n        subject_id,\n      </if>\n      <if test=\"subjectName != null\">\n        subject_name,\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"subjectId != null\">\n        #{subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"subjectName != null\">\n        #{subjectName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubjectExample\" resultType=\"java.lang.Long\">\n    select count(*) from sms_home_recommend_subject\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update sms_home_recommend_subject\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.subjectId != null\">\n        subject_id = #{record.subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.subjectName != null\">\n        subject_name = #{record.subjectName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.recommendStatus != null\">\n        recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update sms_home_recommend_subject\n    set id = #{record.id,jdbcType=BIGINT},\n      subject_id = #{record.subjectId,jdbcType=BIGINT},\n      subject_name = #{record.subjectName,jdbcType=VARCHAR},\n      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubject\">\n    update sms_home_recommend_subject\n    <set>\n      <if test=\"subjectId != null\">\n        subject_id = #{subjectId,jdbcType=BIGINT},\n      </if>\n      <if test=\"subjectName != null\">\n        subject_name = #{subjectName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"recommendStatus != null\">\n        recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.SmsHomeRecommendSubject\">\n    update sms_home_recommend_subject\n    set subject_id = #{subjectId,jdbcType=BIGINT},\n      subject_name = #{subjectName,jdbcType=VARCHAR},\n      recommend_status = #{recommendStatus,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminLoginLogMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsAdminLoginLogMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsAdminLoginLog\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"admin_id\" jdbcType=\"BIGINT\" property=\"adminId\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"ip\" jdbcType=\"VARCHAR\" property=\"ip\" />\n    <result column=\"address\" jdbcType=\"VARCHAR\" property=\"address\" />\n    <result column=\"user_agent\" jdbcType=\"VARCHAR\" property=\"userAgent\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, admin_id, create_time, ip, address, user_agent\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsAdminLoginLogExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_admin_login_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_admin_login_log\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_admin_login_log\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsAdminLoginLogExample\">\n    delete from ums_admin_login_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsAdminLoginLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin_login_log (admin_id, create_time, ip, \n      address, user_agent)\n    values (#{adminId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{ip,jdbcType=VARCHAR}, \n      #{address,jdbcType=VARCHAR}, #{userAgent,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsAdminLoginLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin_login_log\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"adminId != null\">\n        admin_id,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"ip != null\">\n        ip,\n      </if>\n      <if test=\"address != null\">\n        address,\n      </if>\n      <if test=\"userAgent != null\">\n        user_agent,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"adminId != null\">\n        #{adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"ip != null\">\n        #{ip,jdbcType=VARCHAR},\n      </if>\n      <if test=\"address != null\">\n        #{address,jdbcType=VARCHAR},\n      </if>\n      <if test=\"userAgent != null\">\n        #{userAgent,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsAdminLoginLogExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_admin_login_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_admin_login_log\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.adminId != null\">\n        admin_id = #{record.adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.ip != null\">\n        ip = #{record.ip,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.address != null\">\n        address = #{record.address,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.userAgent != null\">\n        user_agent = #{record.userAgent,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_admin_login_log\n    set id = #{record.id,jdbcType=BIGINT},\n      admin_id = #{record.adminId,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      ip = #{record.ip,jdbcType=VARCHAR},\n      address = #{record.address,jdbcType=VARCHAR},\n      user_agent = #{record.userAgent,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsAdminLoginLog\">\n    update ums_admin_login_log\n    <set>\n      <if test=\"adminId != null\">\n        admin_id = #{adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"ip != null\">\n        ip = #{ip,jdbcType=VARCHAR},\n      </if>\n      <if test=\"address != null\">\n        address = #{address,jdbcType=VARCHAR},\n      </if>\n      <if test=\"userAgent != null\">\n        user_agent = #{userAgent,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsAdminLoginLog\">\n    update ums_admin_login_log\n    set admin_id = #{adminId,jdbcType=BIGINT},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      ip = #{ip,jdbcType=VARCHAR},\n      address = #{address,jdbcType=VARCHAR},\n      user_agent = #{userAgent,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsAdminMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsAdmin\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"username\" jdbcType=\"VARCHAR\" property=\"username\" />\n    <result column=\"password\" jdbcType=\"VARCHAR\" property=\"password\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"email\" jdbcType=\"VARCHAR\" property=\"email\" />\n    <result column=\"nick_name\" jdbcType=\"VARCHAR\" property=\"nickName\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"login_time\" jdbcType=\"TIMESTAMP\" property=\"loginTime\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, username, password, icon, email, nick_name, note, create_time, login_time, status\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsAdminExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_admin\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_admin\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_admin\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsAdminExample\">\n    delete from ums_admin\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsAdmin\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin (username, password, icon, \n      email, nick_name, note, \n      create_time, login_time, status\n      )\n    values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, \n      #{email,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, \n      #{createTime,jdbcType=TIMESTAMP}, #{loginTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsAdmin\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"username != null\">\n        username,\n      </if>\n      <if test=\"password != null\">\n        password,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"email != null\">\n        email,\n      </if>\n      <if test=\"nickName != null\">\n        nick_name,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"loginTime != null\">\n        login_time,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"username != null\">\n        #{username,jdbcType=VARCHAR},\n      </if>\n      <if test=\"password != null\">\n        #{password,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"email != null\">\n        #{email,jdbcType=VARCHAR},\n      </if>\n      <if test=\"nickName != null\">\n        #{nickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"loginTime != null\">\n        #{loginTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsAdminExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_admin\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_admin\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.username != null\">\n        username = #{record.username,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.password != null\">\n        password = #{record.password,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.email != null\">\n        email = #{record.email,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.nickName != null\">\n        nick_name = #{record.nickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.loginTime != null\">\n        login_time = #{record.loginTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_admin\n    set id = #{record.id,jdbcType=BIGINT},\n      username = #{record.username,jdbcType=VARCHAR},\n      password = #{record.password,jdbcType=VARCHAR},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      email = #{record.email,jdbcType=VARCHAR},\n      nick_name = #{record.nickName,jdbcType=VARCHAR},\n      note = #{record.note,jdbcType=VARCHAR},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      login_time = #{record.loginTime,jdbcType=TIMESTAMP},\n      status = #{record.status,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsAdmin\">\n    update ums_admin\n    <set>\n      <if test=\"username != null\">\n        username = #{username,jdbcType=VARCHAR},\n      </if>\n      <if test=\"password != null\">\n        password = #{password,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"email != null\">\n        email = #{email,jdbcType=VARCHAR},\n      </if>\n      <if test=\"nickName != null\">\n        nick_name = #{nickName,jdbcType=VARCHAR},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"loginTime != null\">\n        login_time = #{loginTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsAdmin\">\n    update ums_admin\n    set username = #{username,jdbcType=VARCHAR},\n      password = #{password,jdbcType=VARCHAR},\n      icon = #{icon,jdbcType=VARCHAR},\n      email = #{email,jdbcType=VARCHAR},\n      nick_name = #{nickName,jdbcType=VARCHAR},\n      note = #{note,jdbcType=VARCHAR},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      login_time = #{loginTime,jdbcType=TIMESTAMP},\n      status = #{status,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminPermissionRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsAdminPermissionRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsAdminPermissionRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"admin_id\" jdbcType=\"BIGINT\" property=\"adminId\" />\n    <result column=\"permission_id\" jdbcType=\"BIGINT\" property=\"permissionId\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, admin_id, permission_id, type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_admin_permission_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_admin_permission_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_admin_permission_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelationExample\">\n    delete from ums_admin_permission_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin_permission_relation (admin_id, permission_id, type\n      )\n    values (#{adminId,jdbcType=BIGINT}, #{permissionId,jdbcType=BIGINT}, #{type,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin_permission_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"adminId != null\">\n        admin_id,\n      </if>\n      <if test=\"permissionId != null\">\n        permission_id,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"adminId != null\">\n        #{adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"permissionId != null\">\n        #{permissionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_admin_permission_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_admin_permission_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.adminId != null\">\n        admin_id = #{record.adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.permissionId != null\">\n        permission_id = #{record.permissionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_admin_permission_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      admin_id = #{record.adminId,jdbcType=BIGINT},\n      permission_id = #{record.permissionId,jdbcType=BIGINT},\n      type = #{record.type,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelation\">\n    update ums_admin_permission_relation\n    <set>\n      <if test=\"adminId != null\">\n        admin_id = #{adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"permissionId != null\">\n        permission_id = #{permissionId,jdbcType=BIGINT},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsAdminPermissionRelation\">\n    update ums_admin_permission_relation\n    set admin_id = #{adminId,jdbcType=BIGINT},\n      permission_id = #{permissionId,jdbcType=BIGINT},\n      type = #{type,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminRoleRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsAdminRoleRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsAdminRoleRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"admin_id\" jdbcType=\"BIGINT\" property=\"adminId\" />\n    <result column=\"role_id\" jdbcType=\"BIGINT\" property=\"roleId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, admin_id, role_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_admin_role_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_admin_role_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_admin_role_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelationExample\">\n    delete from ums_admin_role_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin_role_relation (admin_id, role_id)\n    values (#{adminId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_admin_role_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"adminId != null\">\n        admin_id,\n      </if>\n      <if test=\"roleId != null\">\n        role_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"adminId != null\">\n        #{adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"roleId != null\">\n        #{roleId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_admin_role_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_admin_role_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.adminId != null\">\n        admin_id = #{record.adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.roleId != null\">\n        role_id = #{record.roleId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_admin_role_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      admin_id = #{record.adminId,jdbcType=BIGINT},\n      role_id = #{record.roleId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelation\">\n    update ums_admin_role_relation\n    <set>\n      <if test=\"adminId != null\">\n        admin_id = #{adminId,jdbcType=BIGINT},\n      </if>\n      <if test=\"roleId != null\">\n        role_id = #{roleId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsAdminRoleRelation\">\n    update ums_admin_role_relation\n    set admin_id = #{adminId,jdbcType=BIGINT},\n      role_id = #{roleId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsGrowthChangeHistoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsGrowthChangeHistoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsGrowthChangeHistory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"change_type\" jdbcType=\"INTEGER\" property=\"changeType\" />\n    <result column=\"change_count\" jdbcType=\"INTEGER\" property=\"changeCount\" />\n    <result column=\"operate_man\" jdbcType=\"VARCHAR\" property=\"operateMan\" />\n    <result column=\"operate_note\" jdbcType=\"VARCHAR\" property=\"operateNote\" />\n    <result column=\"source_type\" jdbcType=\"INTEGER\" property=\"sourceType\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, create_time, change_type, change_count, operate_man, operate_note, \n    source_type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_growth_change_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_growth_change_history\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_growth_change_history\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistoryExample\">\n    delete from ums_growth_change_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_growth_change_history (member_id, create_time, change_type, \n      change_count, operate_man, operate_note, \n      source_type)\n    values (#{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{changeType,jdbcType=INTEGER}, \n      #{changeCount,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{operateNote,jdbcType=VARCHAR}, \n      #{sourceType,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_growth_change_history\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"changeType != null\">\n        change_type,\n      </if>\n      <if test=\"changeCount != null\">\n        change_count,\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man,\n      </if>\n      <if test=\"operateNote != null\">\n        operate_note,\n      </if>\n      <if test=\"sourceType != null\">\n        source_type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"changeType != null\">\n        #{changeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"changeCount != null\">\n        #{changeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"operateMan != null\">\n        #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"operateNote != null\">\n        #{operateNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sourceType != null\">\n        #{sourceType,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_growth_change_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_growth_change_history\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.changeType != null\">\n        change_type = #{record.changeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.changeCount != null\">\n        change_count = #{record.changeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.operateMan != null\">\n        operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.operateNote != null\">\n        operate_note = #{record.operateNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sourceType != null\">\n        source_type = #{record.sourceType,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_growth_change_history\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      change_type = #{record.changeType,jdbcType=INTEGER},\n      change_count = #{record.changeCount,jdbcType=INTEGER},\n      operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      operate_note = #{record.operateNote,jdbcType=VARCHAR},\n      source_type = #{record.sourceType,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistory\">\n    update ums_growth_change_history\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"changeType != null\">\n        change_type = #{changeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"changeCount != null\">\n        change_count = #{changeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man = #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"operateNote != null\">\n        operate_note = #{operateNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sourceType != null\">\n        source_type = #{sourceType,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsGrowthChangeHistory\">\n    update ums_growth_change_history\n    set member_id = #{memberId,jdbcType=BIGINT},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      change_type = #{changeType,jdbcType=INTEGER},\n      change_count = #{changeCount,jdbcType=INTEGER},\n      operate_man = #{operateMan,jdbcType=VARCHAR},\n      operate_note = #{operateNote,jdbcType=VARCHAR},\n      source_type = #{sourceType,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsIntegrationChangeHistoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsIntegrationChangeHistoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsIntegrationChangeHistory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"change_type\" jdbcType=\"INTEGER\" property=\"changeType\" />\n    <result column=\"change_count\" jdbcType=\"INTEGER\" property=\"changeCount\" />\n    <result column=\"operate_man\" jdbcType=\"VARCHAR\" property=\"operateMan\" />\n    <result column=\"operate_note\" jdbcType=\"VARCHAR\" property=\"operateNote\" />\n    <result column=\"source_type\" jdbcType=\"INTEGER\" property=\"sourceType\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, create_time, change_type, change_count, operate_man, operate_note, \n    source_type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_integration_change_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_integration_change_history\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_integration_change_history\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistoryExample\">\n    delete from ums_integration_change_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_integration_change_history (member_id, create_time, change_type, \n      change_count, operate_man, operate_note, \n      source_type)\n    values (#{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{changeType,jdbcType=INTEGER}, \n      #{changeCount,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{operateNote,jdbcType=VARCHAR}, \n      #{sourceType,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_integration_change_history\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"changeType != null\">\n        change_type,\n      </if>\n      <if test=\"changeCount != null\">\n        change_count,\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man,\n      </if>\n      <if test=\"operateNote != null\">\n        operate_note,\n      </if>\n      <if test=\"sourceType != null\">\n        source_type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"changeType != null\">\n        #{changeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"changeCount != null\">\n        #{changeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"operateMan != null\">\n        #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"operateNote != null\">\n        #{operateNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sourceType != null\">\n        #{sourceType,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_integration_change_history\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_integration_change_history\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.changeType != null\">\n        change_type = #{record.changeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.changeCount != null\">\n        change_count = #{record.changeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.operateMan != null\">\n        operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.operateNote != null\">\n        operate_note = #{record.operateNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sourceType != null\">\n        source_type = #{record.sourceType,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_integration_change_history\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      change_type = #{record.changeType,jdbcType=INTEGER},\n      change_count = #{record.changeCount,jdbcType=INTEGER},\n      operate_man = #{record.operateMan,jdbcType=VARCHAR},\n      operate_note = #{record.operateNote,jdbcType=VARCHAR},\n      source_type = #{record.sourceType,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistory\">\n    update ums_integration_change_history\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"changeType != null\">\n        change_type = #{changeType,jdbcType=INTEGER},\n      </if>\n      <if test=\"changeCount != null\">\n        change_count = #{changeCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"operateMan != null\">\n        operate_man = #{operateMan,jdbcType=VARCHAR},\n      </if>\n      <if test=\"operateNote != null\">\n        operate_note = #{operateNote,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sourceType != null\">\n        source_type = #{sourceType,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsIntegrationChangeHistory\">\n    update ums_integration_change_history\n    set member_id = #{memberId,jdbcType=BIGINT},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      change_type = #{changeType,jdbcType=INTEGER},\n      change_count = #{changeCount,jdbcType=INTEGER},\n      operate_man = #{operateMan,jdbcType=VARCHAR},\n      operate_note = #{operateNote,jdbcType=VARCHAR},\n      source_type = #{sourceType,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsIntegrationConsumeSettingMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsIntegrationConsumeSettingMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsIntegrationConsumeSetting\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"deduction_per_amount\" jdbcType=\"INTEGER\" property=\"deductionPerAmount\" />\n    <result column=\"max_percent_per_order\" jdbcType=\"INTEGER\" property=\"maxPercentPerOrder\" />\n    <result column=\"use_unit\" jdbcType=\"INTEGER\" property=\"useUnit\" />\n    <result column=\"coupon_status\" jdbcType=\"INTEGER\" property=\"couponStatus\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, deduction_per_amount, max_percent_per_order, use_unit, coupon_status\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSettingExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_integration_consume_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_integration_consume_setting\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_integration_consume_setting\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSettingExample\">\n    delete from ums_integration_consume_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSetting\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_integration_consume_setting (deduction_per_amount, max_percent_per_order, \n      use_unit, coupon_status)\n    values (#{deductionPerAmount,jdbcType=INTEGER}, #{maxPercentPerOrder,jdbcType=INTEGER}, \n      #{useUnit,jdbcType=INTEGER}, #{couponStatus,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSetting\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_integration_consume_setting\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"deductionPerAmount != null\">\n        deduction_per_amount,\n      </if>\n      <if test=\"maxPercentPerOrder != null\">\n        max_percent_per_order,\n      </if>\n      <if test=\"useUnit != null\">\n        use_unit,\n      </if>\n      <if test=\"couponStatus != null\">\n        coupon_status,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"deductionPerAmount != null\">\n        #{deductionPerAmount,jdbcType=INTEGER},\n      </if>\n      <if test=\"maxPercentPerOrder != null\">\n        #{maxPercentPerOrder,jdbcType=INTEGER},\n      </if>\n      <if test=\"useUnit != null\">\n        #{useUnit,jdbcType=INTEGER},\n      </if>\n      <if test=\"couponStatus != null\">\n        #{couponStatus,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSettingExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_integration_consume_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_integration_consume_setting\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.deductionPerAmount != null\">\n        deduction_per_amount = #{record.deductionPerAmount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.maxPercentPerOrder != null\">\n        max_percent_per_order = #{record.maxPercentPerOrder,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.useUnit != null\">\n        use_unit = #{record.useUnit,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.couponStatus != null\">\n        coupon_status = #{record.couponStatus,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_integration_consume_setting\n    set id = #{record.id,jdbcType=BIGINT},\n      deduction_per_amount = #{record.deductionPerAmount,jdbcType=INTEGER},\n      max_percent_per_order = #{record.maxPercentPerOrder,jdbcType=INTEGER},\n      use_unit = #{record.useUnit,jdbcType=INTEGER},\n      coupon_status = #{record.couponStatus,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSetting\">\n    update ums_integration_consume_setting\n    <set>\n      <if test=\"deductionPerAmount != null\">\n        deduction_per_amount = #{deductionPerAmount,jdbcType=INTEGER},\n      </if>\n      <if test=\"maxPercentPerOrder != null\">\n        max_percent_per_order = #{maxPercentPerOrder,jdbcType=INTEGER},\n      </if>\n      <if test=\"useUnit != null\">\n        use_unit = #{useUnit,jdbcType=INTEGER},\n      </if>\n      <if test=\"couponStatus != null\">\n        coupon_status = #{couponStatus,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsIntegrationConsumeSetting\">\n    update ums_integration_consume_setting\n    set deduction_per_amount = #{deductionPerAmount,jdbcType=INTEGER},\n      max_percent_per_order = #{maxPercentPerOrder,jdbcType=INTEGER},\n      use_unit = #{useUnit,jdbcType=INTEGER},\n      coupon_status = #{couponStatus,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberLevelMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberLevelMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberLevel\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"growth_point\" jdbcType=\"INTEGER\" property=\"growthPoint\" />\n    <result column=\"default_status\" jdbcType=\"INTEGER\" property=\"defaultStatus\" />\n    <result column=\"free_freight_point\" jdbcType=\"DECIMAL\" property=\"freeFreightPoint\" />\n    <result column=\"comment_growth_point\" jdbcType=\"INTEGER\" property=\"commentGrowthPoint\" />\n    <result column=\"priviledge_free_freight\" jdbcType=\"INTEGER\" property=\"priviledgeFreeFreight\" />\n    <result column=\"priviledge_sign_in\" jdbcType=\"INTEGER\" property=\"priviledgeSignIn\" />\n    <result column=\"priviledge_comment\" jdbcType=\"INTEGER\" property=\"priviledgeComment\" />\n    <result column=\"priviledge_promotion\" jdbcType=\"INTEGER\" property=\"priviledgePromotion\" />\n    <result column=\"priviledge_member_price\" jdbcType=\"INTEGER\" property=\"priviledgeMemberPrice\" />\n    <result column=\"priviledge_birthday\" jdbcType=\"INTEGER\" property=\"priviledgeBirthday\" />\n    <result column=\"note\" jdbcType=\"VARCHAR\" property=\"note\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, growth_point, default_status, free_freight_point, comment_growth_point, \n    priviledge_free_freight, priviledge_sign_in, priviledge_comment, priviledge_promotion, \n    priviledge_member_price, priviledge_birthday, note\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberLevelExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_level\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_level\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_level\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberLevelExample\">\n    delete from ums_member_level\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberLevel\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_level (name, growth_point, default_status, \n      free_freight_point, comment_growth_point, priviledge_free_freight, \n      priviledge_sign_in, priviledge_comment, priviledge_promotion, \n      priviledge_member_price, priviledge_birthday, \n      note)\n    values (#{name,jdbcType=VARCHAR}, #{growthPoint,jdbcType=INTEGER}, #{defaultStatus,jdbcType=INTEGER}, \n      #{freeFreightPoint,jdbcType=DECIMAL}, #{commentGrowthPoint,jdbcType=INTEGER}, #{priviledgeFreeFreight,jdbcType=INTEGER}, \n      #{priviledgeSignIn,jdbcType=INTEGER}, #{priviledgeComment,jdbcType=INTEGER}, #{priviledgePromotion,jdbcType=INTEGER}, \n      #{priviledgeMemberPrice,jdbcType=INTEGER}, #{priviledgeBirthday,jdbcType=INTEGER}, \n      #{note,jdbcType=VARCHAR})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberLevel\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_level\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"growthPoint != null\">\n        growth_point,\n      </if>\n      <if test=\"defaultStatus != null\">\n        default_status,\n      </if>\n      <if test=\"freeFreightPoint != null\">\n        free_freight_point,\n      </if>\n      <if test=\"commentGrowthPoint != null\">\n        comment_growth_point,\n      </if>\n      <if test=\"priviledgeFreeFreight != null\">\n        priviledge_free_freight,\n      </if>\n      <if test=\"priviledgeSignIn != null\">\n        priviledge_sign_in,\n      </if>\n      <if test=\"priviledgeComment != null\">\n        priviledge_comment,\n      </if>\n      <if test=\"priviledgePromotion != null\">\n        priviledge_promotion,\n      </if>\n      <if test=\"priviledgeMemberPrice != null\">\n        priviledge_member_price,\n      </if>\n      <if test=\"priviledgeBirthday != null\">\n        priviledge_birthday,\n      </if>\n      <if test=\"note != null\">\n        note,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"growthPoint != null\">\n        #{growthPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"defaultStatus != null\">\n        #{defaultStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"freeFreightPoint != null\">\n        #{freeFreightPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"commentGrowthPoint != null\">\n        #{commentGrowthPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeFreeFreight != null\">\n        #{priviledgeFreeFreight,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeSignIn != null\">\n        #{priviledgeSignIn,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeComment != null\">\n        #{priviledgeComment,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgePromotion != null\">\n        #{priviledgePromotion,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeMemberPrice != null\">\n        #{priviledgeMemberPrice,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeBirthday != null\">\n        #{priviledgeBirthday,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        #{note,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberLevelExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_level\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_level\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.growthPoint != null\">\n        growth_point = #{record.growthPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.defaultStatus != null\">\n        default_status = #{record.defaultStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.freeFreightPoint != null\">\n        free_freight_point = #{record.freeFreightPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.commentGrowthPoint != null\">\n        comment_growth_point = #{record.commentGrowthPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.priviledgeFreeFreight != null\">\n        priviledge_free_freight = #{record.priviledgeFreeFreight,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.priviledgeSignIn != null\">\n        priviledge_sign_in = #{record.priviledgeSignIn,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.priviledgeComment != null\">\n        priviledge_comment = #{record.priviledgeComment,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.priviledgePromotion != null\">\n        priviledge_promotion = #{record.priviledgePromotion,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.priviledgeMemberPrice != null\">\n        priviledge_member_price = #{record.priviledgeMemberPrice,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.priviledgeBirthday != null\">\n        priviledge_birthday = #{record.priviledgeBirthday,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.note != null\">\n        note = #{record.note,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_level\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      growth_point = #{record.growthPoint,jdbcType=INTEGER},\n      default_status = #{record.defaultStatus,jdbcType=INTEGER},\n      free_freight_point = #{record.freeFreightPoint,jdbcType=DECIMAL},\n      comment_growth_point = #{record.commentGrowthPoint,jdbcType=INTEGER},\n      priviledge_free_freight = #{record.priviledgeFreeFreight,jdbcType=INTEGER},\n      priviledge_sign_in = #{record.priviledgeSignIn,jdbcType=INTEGER},\n      priviledge_comment = #{record.priviledgeComment,jdbcType=INTEGER},\n      priviledge_promotion = #{record.priviledgePromotion,jdbcType=INTEGER},\n      priviledge_member_price = #{record.priviledgeMemberPrice,jdbcType=INTEGER},\n      priviledge_birthday = #{record.priviledgeBirthday,jdbcType=INTEGER},\n      note = #{record.note,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberLevel\">\n    update ums_member_level\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"growthPoint != null\">\n        growth_point = #{growthPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"defaultStatus != null\">\n        default_status = #{defaultStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"freeFreightPoint != null\">\n        free_freight_point = #{freeFreightPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"commentGrowthPoint != null\">\n        comment_growth_point = #{commentGrowthPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeFreeFreight != null\">\n        priviledge_free_freight = #{priviledgeFreeFreight,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeSignIn != null\">\n        priviledge_sign_in = #{priviledgeSignIn,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeComment != null\">\n        priviledge_comment = #{priviledgeComment,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgePromotion != null\">\n        priviledge_promotion = #{priviledgePromotion,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeMemberPrice != null\">\n        priviledge_member_price = #{priviledgeMemberPrice,jdbcType=INTEGER},\n      </if>\n      <if test=\"priviledgeBirthday != null\">\n        priviledge_birthday = #{priviledgeBirthday,jdbcType=INTEGER},\n      </if>\n      <if test=\"note != null\">\n        note = #{note,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberLevel\">\n    update ums_member_level\n    set name = #{name,jdbcType=VARCHAR},\n      growth_point = #{growthPoint,jdbcType=INTEGER},\n      default_status = #{defaultStatus,jdbcType=INTEGER},\n      free_freight_point = #{freeFreightPoint,jdbcType=DECIMAL},\n      comment_growth_point = #{commentGrowthPoint,jdbcType=INTEGER},\n      priviledge_free_freight = #{priviledgeFreeFreight,jdbcType=INTEGER},\n      priviledge_sign_in = #{priviledgeSignIn,jdbcType=INTEGER},\n      priviledge_comment = #{priviledgeComment,jdbcType=INTEGER},\n      priviledge_promotion = #{priviledgePromotion,jdbcType=INTEGER},\n      priviledge_member_price = #{priviledgeMemberPrice,jdbcType=INTEGER},\n      priviledge_birthday = #{priviledgeBirthday,jdbcType=INTEGER},\n      note = #{note,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberLoginLogMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberLoginLogMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberLoginLog\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"ip\" jdbcType=\"VARCHAR\" property=\"ip\" />\n    <result column=\"city\" jdbcType=\"VARCHAR\" property=\"city\" />\n    <result column=\"login_type\" jdbcType=\"INTEGER\" property=\"loginType\" />\n    <result column=\"province\" jdbcType=\"VARCHAR\" property=\"province\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, create_time, ip, city, login_type, province\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberLoginLogExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_login_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_login_log\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_login_log\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberLoginLogExample\">\n    delete from ums_member_login_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberLoginLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_login_log (member_id, create_time, ip, \n      city, login_type, province\n      )\n    values (#{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{ip,jdbcType=VARCHAR}, \n      #{city,jdbcType=VARCHAR}, #{loginType,jdbcType=INTEGER}, #{province,jdbcType=VARCHAR}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberLoginLog\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_login_log\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"ip != null\">\n        ip,\n      </if>\n      <if test=\"city != null\">\n        city,\n      </if>\n      <if test=\"loginType != null\">\n        login_type,\n      </if>\n      <if test=\"province != null\">\n        province,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"ip != null\">\n        #{ip,jdbcType=VARCHAR},\n      </if>\n      <if test=\"city != null\">\n        #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"loginType != null\">\n        #{loginType,jdbcType=INTEGER},\n      </if>\n      <if test=\"province != null\">\n        #{province,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberLoginLogExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_login_log\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_login_log\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.ip != null\">\n        ip = #{record.ip,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.city != null\">\n        city = #{record.city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.loginType != null\">\n        login_type = #{record.loginType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.province != null\">\n        province = #{record.province,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_login_log\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      ip = #{record.ip,jdbcType=VARCHAR},\n      city = #{record.city,jdbcType=VARCHAR},\n      login_type = #{record.loginType,jdbcType=INTEGER},\n      province = #{record.province,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberLoginLog\">\n    update ums_member_login_log\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"ip != null\">\n        ip = #{ip,jdbcType=VARCHAR},\n      </if>\n      <if test=\"city != null\">\n        city = #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"loginType != null\">\n        login_type = #{loginType,jdbcType=INTEGER},\n      </if>\n      <if test=\"province != null\">\n        province = #{province,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberLoginLog\">\n    update ums_member_login_log\n    set member_id = #{memberId,jdbcType=BIGINT},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      ip = #{ip,jdbcType=VARCHAR},\n      city = #{city,jdbcType=VARCHAR},\n      login_type = #{loginType,jdbcType=INTEGER},\n      province = #{province,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMember\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_level_id\" jdbcType=\"BIGINT\" property=\"memberLevelId\" />\n    <result column=\"username\" jdbcType=\"VARCHAR\" property=\"username\" />\n    <result column=\"password\" jdbcType=\"VARCHAR\" property=\"password\" />\n    <result column=\"nickname\" jdbcType=\"VARCHAR\" property=\"nickname\" />\n    <result column=\"phone\" jdbcType=\"VARCHAR\" property=\"phone\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"gender\" jdbcType=\"INTEGER\" property=\"gender\" />\n    <result column=\"birthday\" jdbcType=\"DATE\" property=\"birthday\" />\n    <result column=\"city\" jdbcType=\"VARCHAR\" property=\"city\" />\n    <result column=\"job\" jdbcType=\"VARCHAR\" property=\"job\" />\n    <result column=\"personalized_signature\" jdbcType=\"VARCHAR\" property=\"personalizedSignature\" />\n    <result column=\"source_type\" jdbcType=\"INTEGER\" property=\"sourceType\" />\n    <result column=\"integration\" jdbcType=\"INTEGER\" property=\"integration\" />\n    <result column=\"growth\" jdbcType=\"INTEGER\" property=\"growth\" />\n    <result column=\"luckey_count\" jdbcType=\"INTEGER\" property=\"luckeyCount\" />\n    <result column=\"history_integration\" jdbcType=\"INTEGER\" property=\"historyIntegration\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_level_id, username, password, nickname, phone, status, create_time, icon, \n    gender, birthday, city, job, personalized_signature, source_type, integration, growth, \n    luckey_count, history_integration\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberExample\">\n    delete from ums_member\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMember\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member (member_level_id, username, password, \n      nickname, phone, status, \n      create_time, icon, gender, \n      birthday, city, job, personalized_signature, \n      source_type, integration, growth, \n      luckey_count, history_integration)\n    values (#{memberLevelId,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, \n      #{nickname,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, \n      #{createTime,jdbcType=TIMESTAMP}, #{icon,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}, \n      #{birthday,jdbcType=DATE}, #{city,jdbcType=VARCHAR}, #{job,jdbcType=VARCHAR}, #{personalizedSignature,jdbcType=VARCHAR}, \n      #{sourceType,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, \n      #{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMember\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberLevelId != null\">\n        member_level_id,\n      </if>\n      <if test=\"username != null\">\n        username,\n      </if>\n      <if test=\"password != null\">\n        password,\n      </if>\n      <if test=\"nickname != null\">\n        nickname,\n      </if>\n      <if test=\"phone != null\">\n        phone,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"gender != null\">\n        gender,\n      </if>\n      <if test=\"birthday != null\">\n        birthday,\n      </if>\n      <if test=\"city != null\">\n        city,\n      </if>\n      <if test=\"job != null\">\n        job,\n      </if>\n      <if test=\"personalizedSignature != null\">\n        personalized_signature,\n      </if>\n      <if test=\"sourceType != null\">\n        source_type,\n      </if>\n      <if test=\"integration != null\">\n        integration,\n      </if>\n      <if test=\"growth != null\">\n        growth,\n      </if>\n      <if test=\"luckeyCount != null\">\n        luckey_count,\n      </if>\n      <if test=\"historyIntegration != null\">\n        history_integration,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberLevelId != null\">\n        #{memberLevelId,jdbcType=BIGINT},\n      </if>\n      <if test=\"username != null\">\n        #{username,jdbcType=VARCHAR},\n      </if>\n      <if test=\"password != null\">\n        #{password,jdbcType=VARCHAR},\n      </if>\n      <if test=\"nickname != null\">\n        #{nickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"phone != null\">\n        #{phone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"gender != null\">\n        #{gender,jdbcType=INTEGER},\n      </if>\n      <if test=\"birthday != null\">\n        #{birthday,jdbcType=DATE},\n      </if>\n      <if test=\"city != null\">\n        #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"job != null\">\n        #{job,jdbcType=VARCHAR},\n      </if>\n      <if test=\"personalizedSignature != null\">\n        #{personalizedSignature,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sourceType != null\">\n        #{sourceType,jdbcType=INTEGER},\n      </if>\n      <if test=\"integration != null\">\n        #{integration,jdbcType=INTEGER},\n      </if>\n      <if test=\"growth != null\">\n        #{growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"luckeyCount != null\">\n        #{luckeyCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"historyIntegration != null\">\n        #{historyIntegration,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberLevelId != null\">\n        member_level_id = #{record.memberLevelId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.username != null\">\n        username = #{record.username,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.password != null\">\n        password = #{record.password,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.nickname != null\">\n        nickname = #{record.nickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.phone != null\">\n        phone = #{record.phone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.gender != null\">\n        gender = #{record.gender,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.birthday != null\">\n        birthday = #{record.birthday,jdbcType=DATE},\n      </if>\n      <if test=\"record.city != null\">\n        city = #{record.city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.job != null\">\n        job = #{record.job,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.personalizedSignature != null\">\n        personalized_signature = #{record.personalizedSignature,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sourceType != null\">\n        source_type = #{record.sourceType,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.integration != null\">\n        integration = #{record.integration,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.growth != null\">\n        growth = #{record.growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.luckeyCount != null\">\n        luckey_count = #{record.luckeyCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.historyIntegration != null\">\n        history_integration = #{record.historyIntegration,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member\n    set id = #{record.id,jdbcType=BIGINT},\n      member_level_id = #{record.memberLevelId,jdbcType=BIGINT},\n      username = #{record.username,jdbcType=VARCHAR},\n      password = #{record.password,jdbcType=VARCHAR},\n      nickname = #{record.nickname,jdbcType=VARCHAR},\n      phone = #{record.phone,jdbcType=VARCHAR},\n      status = #{record.status,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      gender = #{record.gender,jdbcType=INTEGER},\n      birthday = #{record.birthday,jdbcType=DATE},\n      city = #{record.city,jdbcType=VARCHAR},\n      job = #{record.job,jdbcType=VARCHAR},\n      personalized_signature = #{record.personalizedSignature,jdbcType=VARCHAR},\n      source_type = #{record.sourceType,jdbcType=INTEGER},\n      integration = #{record.integration,jdbcType=INTEGER},\n      growth = #{record.growth,jdbcType=INTEGER},\n      luckey_count = #{record.luckeyCount,jdbcType=INTEGER},\n      history_integration = #{record.historyIntegration,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMember\">\n    update ums_member\n    <set>\n      <if test=\"memberLevelId != null\">\n        member_level_id = #{memberLevelId,jdbcType=BIGINT},\n      </if>\n      <if test=\"username != null\">\n        username = #{username,jdbcType=VARCHAR},\n      </if>\n      <if test=\"password != null\">\n        password = #{password,jdbcType=VARCHAR},\n      </if>\n      <if test=\"nickname != null\">\n        nickname = #{nickname,jdbcType=VARCHAR},\n      </if>\n      <if test=\"phone != null\">\n        phone = #{phone,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"gender != null\">\n        gender = #{gender,jdbcType=INTEGER},\n      </if>\n      <if test=\"birthday != null\">\n        birthday = #{birthday,jdbcType=DATE},\n      </if>\n      <if test=\"city != null\">\n        city = #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"job != null\">\n        job = #{job,jdbcType=VARCHAR},\n      </if>\n      <if test=\"personalizedSignature != null\">\n        personalized_signature = #{personalizedSignature,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sourceType != null\">\n        source_type = #{sourceType,jdbcType=INTEGER},\n      </if>\n      <if test=\"integration != null\">\n        integration = #{integration,jdbcType=INTEGER},\n      </if>\n      <if test=\"growth != null\">\n        growth = #{growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"luckeyCount != null\">\n        luckey_count = #{luckeyCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"historyIntegration != null\">\n        history_integration = #{historyIntegration,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMember\">\n    update ums_member\n    set member_level_id = #{memberLevelId,jdbcType=BIGINT},\n      username = #{username,jdbcType=VARCHAR},\n      password = #{password,jdbcType=VARCHAR},\n      nickname = #{nickname,jdbcType=VARCHAR},\n      phone = #{phone,jdbcType=VARCHAR},\n      status = #{status,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      icon = #{icon,jdbcType=VARCHAR},\n      gender = #{gender,jdbcType=INTEGER},\n      birthday = #{birthday,jdbcType=DATE},\n      city = #{city,jdbcType=VARCHAR},\n      job = #{job,jdbcType=VARCHAR},\n      personalized_signature = #{personalizedSignature,jdbcType=VARCHAR},\n      source_type = #{sourceType,jdbcType=INTEGER},\n      integration = #{integration,jdbcType=INTEGER},\n      growth = #{growth,jdbcType=INTEGER},\n      luckey_count = #{luckeyCount,jdbcType=INTEGER},\n      history_integration = #{historyIntegration,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberMemberTagRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberMemberTagRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberMemberTagRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"tag_id\" jdbcType=\"BIGINT\" property=\"tagId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, tag_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_member_tag_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_member_tag_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_member_tag_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelationExample\">\n    delete from ums_member_member_tag_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_member_tag_relation (member_id, tag_id)\n    values (#{memberId,jdbcType=BIGINT}, #{tagId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_member_tag_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"tagId != null\">\n        tag_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"tagId != null\">\n        #{tagId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_member_tag_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_member_tag_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.tagId != null\">\n        tag_id = #{record.tagId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_member_tag_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      tag_id = #{record.tagId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelation\">\n    update ums_member_member_tag_relation\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"tagId != null\">\n        tag_id = #{tagId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberMemberTagRelation\">\n    update ums_member_member_tag_relation\n    set member_id = #{memberId,jdbcType=BIGINT},\n      tag_id = #{tagId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberProductCategoryRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberProductCategoryRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberProductCategoryRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"product_category_id\" jdbcType=\"BIGINT\" property=\"productCategoryId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, product_category_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_product_category_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_product_category_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_product_category_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelationExample\">\n    delete from ums_member_product_category_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_product_category_relation (member_id, product_category_id)\n    values (#{memberId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_product_category_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryId != null\">\n        #{productCategoryId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_product_category_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_product_category_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.productCategoryId != null\">\n        product_category_id = #{record.productCategoryId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_product_category_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      product_category_id = #{record.productCategoryId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelation\">\n    update ums_member_product_category_relation\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"productCategoryId != null\">\n        product_category_id = #{productCategoryId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberProductCategoryRelation\">\n    update ums_member_product_category_relation\n    set member_id = #{memberId,jdbcType=BIGINT},\n      product_category_id = #{productCategoryId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberReceiveAddressMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberReceiveAddressMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberReceiveAddress\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"phone_number\" jdbcType=\"VARCHAR\" property=\"phoneNumber\" />\n    <result column=\"default_status\" jdbcType=\"INTEGER\" property=\"defaultStatus\" />\n    <result column=\"post_code\" jdbcType=\"VARCHAR\" property=\"postCode\" />\n    <result column=\"province\" jdbcType=\"VARCHAR\" property=\"province\" />\n    <result column=\"city\" jdbcType=\"VARCHAR\" property=\"city\" />\n    <result column=\"region\" jdbcType=\"VARCHAR\" property=\"region\" />\n    <result column=\"detail_address\" jdbcType=\"VARCHAR\" property=\"detailAddress\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, name, phone_number, default_status, post_code, province, city, region, \n    detail_address\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddressExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_receive_address\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_receive_address\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_receive_address\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddressExample\">\n    delete from ums_member_receive_address\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddress\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_receive_address (member_id, name, phone_number, \n      default_status, post_code, province, \n      city, region, detail_address\n      )\n    values (#{memberId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR}, \n      #{defaultStatus,jdbcType=INTEGER}, #{postCode,jdbcType=VARCHAR}, #{province,jdbcType=VARCHAR}, \n      #{city,jdbcType=VARCHAR}, #{region,jdbcType=VARCHAR}, #{detailAddress,jdbcType=VARCHAR}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddress\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_receive_address\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"phoneNumber != null\">\n        phone_number,\n      </if>\n      <if test=\"defaultStatus != null\">\n        default_status,\n      </if>\n      <if test=\"postCode != null\">\n        post_code,\n      </if>\n      <if test=\"province != null\">\n        province,\n      </if>\n      <if test=\"city != null\">\n        city,\n      </if>\n      <if test=\"region != null\">\n        region,\n      </if>\n      <if test=\"detailAddress != null\">\n        detail_address,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"phoneNumber != null\">\n        #{phoneNumber,jdbcType=VARCHAR},\n      </if>\n      <if test=\"defaultStatus != null\">\n        #{defaultStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"postCode != null\">\n        #{postCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"province != null\">\n        #{province,jdbcType=VARCHAR},\n      </if>\n      <if test=\"city != null\">\n        #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"region != null\">\n        #{region,jdbcType=VARCHAR},\n      </if>\n      <if test=\"detailAddress != null\">\n        #{detailAddress,jdbcType=VARCHAR},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddressExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_receive_address\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_receive_address\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.phoneNumber != null\">\n        phone_number = #{record.phoneNumber,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.defaultStatus != null\">\n        default_status = #{record.defaultStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.postCode != null\">\n        post_code = #{record.postCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.province != null\">\n        province = #{record.province,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.city != null\">\n        city = #{record.city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.region != null\">\n        region = #{record.region,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.detailAddress != null\">\n        detail_address = #{record.detailAddress,jdbcType=VARCHAR},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_receive_address\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      phone_number = #{record.phoneNumber,jdbcType=VARCHAR},\n      default_status = #{record.defaultStatus,jdbcType=INTEGER},\n      post_code = #{record.postCode,jdbcType=VARCHAR},\n      province = #{record.province,jdbcType=VARCHAR},\n      city = #{record.city,jdbcType=VARCHAR},\n      region = #{record.region,jdbcType=VARCHAR},\n      detail_address = #{record.detailAddress,jdbcType=VARCHAR}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddress\">\n    update ums_member_receive_address\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"phoneNumber != null\">\n        phone_number = #{phoneNumber,jdbcType=VARCHAR},\n      </if>\n      <if test=\"defaultStatus != null\">\n        default_status = #{defaultStatus,jdbcType=INTEGER},\n      </if>\n      <if test=\"postCode != null\">\n        post_code = #{postCode,jdbcType=VARCHAR},\n      </if>\n      <if test=\"province != null\">\n        province = #{province,jdbcType=VARCHAR},\n      </if>\n      <if test=\"city != null\">\n        city = #{city,jdbcType=VARCHAR},\n      </if>\n      <if test=\"region != null\">\n        region = #{region,jdbcType=VARCHAR},\n      </if>\n      <if test=\"detailAddress != null\">\n        detail_address = #{detailAddress,jdbcType=VARCHAR},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberReceiveAddress\">\n    update ums_member_receive_address\n    set member_id = #{memberId,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      phone_number = #{phoneNumber,jdbcType=VARCHAR},\n      default_status = #{defaultStatus,jdbcType=INTEGER},\n      post_code = #{postCode,jdbcType=VARCHAR},\n      province = #{province,jdbcType=VARCHAR},\n      city = #{city,jdbcType=VARCHAR},\n      region = #{region,jdbcType=VARCHAR},\n      detail_address = #{detailAddress,jdbcType=VARCHAR}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberRuleSettingMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberRuleSettingMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberRuleSetting\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"continue_sign_day\" jdbcType=\"INTEGER\" property=\"continueSignDay\" />\n    <result column=\"continue_sign_point\" jdbcType=\"INTEGER\" property=\"continueSignPoint\" />\n    <result column=\"consume_per_point\" jdbcType=\"DECIMAL\" property=\"consumePerPoint\" />\n    <result column=\"low_order_amount\" jdbcType=\"DECIMAL\" property=\"lowOrderAmount\" />\n    <result column=\"max_point_per_order\" jdbcType=\"INTEGER\" property=\"maxPointPerOrder\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, continue_sign_day, continue_sign_point, consume_per_point, low_order_amount, \n    max_point_per_order, type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberRuleSettingExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_rule_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_rule_setting\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_rule_setting\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberRuleSettingExample\">\n    delete from ums_member_rule_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberRuleSetting\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_rule_setting (continue_sign_day, continue_sign_point, \n      consume_per_point, low_order_amount, max_point_per_order, \n      type)\n    values (#{continueSignDay,jdbcType=INTEGER}, #{continueSignPoint,jdbcType=INTEGER}, \n      #{consumePerPoint,jdbcType=DECIMAL}, #{lowOrderAmount,jdbcType=DECIMAL}, #{maxPointPerOrder,jdbcType=INTEGER}, \n      #{type,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberRuleSetting\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_rule_setting\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"continueSignDay != null\">\n        continue_sign_day,\n      </if>\n      <if test=\"continueSignPoint != null\">\n        continue_sign_point,\n      </if>\n      <if test=\"consumePerPoint != null\">\n        consume_per_point,\n      </if>\n      <if test=\"lowOrderAmount != null\">\n        low_order_amount,\n      </if>\n      <if test=\"maxPointPerOrder != null\">\n        max_point_per_order,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"continueSignDay != null\">\n        #{continueSignDay,jdbcType=INTEGER},\n      </if>\n      <if test=\"continueSignPoint != null\">\n        #{continueSignPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"consumePerPoint != null\">\n        #{consumePerPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"lowOrderAmount != null\">\n        #{lowOrderAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"maxPointPerOrder != null\">\n        #{maxPointPerOrder,jdbcType=INTEGER},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberRuleSettingExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_rule_setting\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_rule_setting\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.continueSignDay != null\">\n        continue_sign_day = #{record.continueSignDay,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.continueSignPoint != null\">\n        continue_sign_point = #{record.continueSignPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.consumePerPoint != null\">\n        consume_per_point = #{record.consumePerPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.lowOrderAmount != null\">\n        low_order_amount = #{record.lowOrderAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.maxPointPerOrder != null\">\n        max_point_per_order = #{record.maxPointPerOrder,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_rule_setting\n    set id = #{record.id,jdbcType=BIGINT},\n      continue_sign_day = #{record.continueSignDay,jdbcType=INTEGER},\n      continue_sign_point = #{record.continueSignPoint,jdbcType=INTEGER},\n      consume_per_point = #{record.consumePerPoint,jdbcType=DECIMAL},\n      low_order_amount = #{record.lowOrderAmount,jdbcType=DECIMAL},\n      max_point_per_order = #{record.maxPointPerOrder,jdbcType=INTEGER},\n      type = #{record.type,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberRuleSetting\">\n    update ums_member_rule_setting\n    <set>\n      <if test=\"continueSignDay != null\">\n        continue_sign_day = #{continueSignDay,jdbcType=INTEGER},\n      </if>\n      <if test=\"continueSignPoint != null\">\n        continue_sign_point = #{continueSignPoint,jdbcType=INTEGER},\n      </if>\n      <if test=\"consumePerPoint != null\">\n        consume_per_point = #{consumePerPoint,jdbcType=DECIMAL},\n      </if>\n      <if test=\"lowOrderAmount != null\">\n        low_order_amount = #{lowOrderAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"maxPointPerOrder != null\">\n        max_point_per_order = #{maxPointPerOrder,jdbcType=INTEGER},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberRuleSetting\">\n    update ums_member_rule_setting\n    set continue_sign_day = #{continueSignDay,jdbcType=INTEGER},\n      continue_sign_point = #{continueSignPoint,jdbcType=INTEGER},\n      consume_per_point = #{consumePerPoint,jdbcType=DECIMAL},\n      low_order_amount = #{lowOrderAmount,jdbcType=DECIMAL},\n      max_point_per_order = #{maxPointPerOrder,jdbcType=INTEGER},\n      type = #{type,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberStatisticsInfoMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberStatisticsInfoMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberStatisticsInfo\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"member_id\" jdbcType=\"BIGINT\" property=\"memberId\" />\n    <result column=\"consume_amount\" jdbcType=\"DECIMAL\" property=\"consumeAmount\" />\n    <result column=\"order_count\" jdbcType=\"INTEGER\" property=\"orderCount\" />\n    <result column=\"coupon_count\" jdbcType=\"INTEGER\" property=\"couponCount\" />\n    <result column=\"comment_count\" jdbcType=\"INTEGER\" property=\"commentCount\" />\n    <result column=\"return_order_count\" jdbcType=\"INTEGER\" property=\"returnOrderCount\" />\n    <result column=\"login_count\" jdbcType=\"INTEGER\" property=\"loginCount\" />\n    <result column=\"attend_count\" jdbcType=\"INTEGER\" property=\"attendCount\" />\n    <result column=\"fans_count\" jdbcType=\"INTEGER\" property=\"fansCount\" />\n    <result column=\"collect_product_count\" jdbcType=\"INTEGER\" property=\"collectProductCount\" />\n    <result column=\"collect_subject_count\" jdbcType=\"INTEGER\" property=\"collectSubjectCount\" />\n    <result column=\"collect_topic_count\" jdbcType=\"INTEGER\" property=\"collectTopicCount\" />\n    <result column=\"collect_comment_count\" jdbcType=\"INTEGER\" property=\"collectCommentCount\" />\n    <result column=\"invite_friend_count\" jdbcType=\"INTEGER\" property=\"inviteFriendCount\" />\n    <result column=\"recent_order_time\" jdbcType=\"TIMESTAMP\" property=\"recentOrderTime\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, member_id, consume_amount, order_count, coupon_count, comment_count, return_order_count, \n    login_count, attend_count, fans_count, collect_product_count, collect_subject_count, \n    collect_topic_count, collect_comment_count, invite_friend_count, recent_order_time\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfoExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_statistics_info\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_statistics_info\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_statistics_info\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfoExample\">\n    delete from ums_member_statistics_info\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfo\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_statistics_info (member_id, consume_amount, order_count, \n      coupon_count, comment_count, return_order_count, \n      login_count, attend_count, fans_count, \n      collect_product_count, collect_subject_count, \n      collect_topic_count, collect_comment_count, \n      invite_friend_count, recent_order_time)\n    values (#{memberId,jdbcType=BIGINT}, #{consumeAmount,jdbcType=DECIMAL}, #{orderCount,jdbcType=INTEGER}, \n      #{couponCount,jdbcType=INTEGER}, #{commentCount,jdbcType=INTEGER}, #{returnOrderCount,jdbcType=INTEGER}, \n      #{loginCount,jdbcType=INTEGER}, #{attendCount,jdbcType=INTEGER}, #{fansCount,jdbcType=INTEGER}, \n      #{collectProductCount,jdbcType=INTEGER}, #{collectSubjectCount,jdbcType=INTEGER}, \n      #{collectTopicCount,jdbcType=INTEGER}, #{collectCommentCount,jdbcType=INTEGER}, \n      #{inviteFriendCount,jdbcType=INTEGER}, #{recentOrderTime,jdbcType=TIMESTAMP})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfo\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_statistics_info\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        member_id,\n      </if>\n      <if test=\"consumeAmount != null\">\n        consume_amount,\n      </if>\n      <if test=\"orderCount != null\">\n        order_count,\n      </if>\n      <if test=\"couponCount != null\">\n        coupon_count,\n      </if>\n      <if test=\"commentCount != null\">\n        comment_count,\n      </if>\n      <if test=\"returnOrderCount != null\">\n        return_order_count,\n      </if>\n      <if test=\"loginCount != null\">\n        login_count,\n      </if>\n      <if test=\"attendCount != null\">\n        attend_count,\n      </if>\n      <if test=\"fansCount != null\">\n        fans_count,\n      </if>\n      <if test=\"collectProductCount != null\">\n        collect_product_count,\n      </if>\n      <if test=\"collectSubjectCount != null\">\n        collect_subject_count,\n      </if>\n      <if test=\"collectTopicCount != null\">\n        collect_topic_count,\n      </if>\n      <if test=\"collectCommentCount != null\">\n        collect_comment_count,\n      </if>\n      <if test=\"inviteFriendCount != null\">\n        invite_friend_count,\n      </if>\n      <if test=\"recentOrderTime != null\">\n        recent_order_time,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"memberId != null\">\n        #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"consumeAmount != null\">\n        #{consumeAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"orderCount != null\">\n        #{orderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"couponCount != null\">\n        #{couponCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"commentCount != null\">\n        #{commentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"returnOrderCount != null\">\n        #{returnOrderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"loginCount != null\">\n        #{loginCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"attendCount != null\">\n        #{attendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"fansCount != null\">\n        #{fansCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectProductCount != null\">\n        #{collectProductCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectSubjectCount != null\">\n        #{collectSubjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectTopicCount != null\">\n        #{collectTopicCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectCommentCount != null\">\n        #{collectCommentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"inviteFriendCount != null\">\n        #{inviteFriendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"recentOrderTime != null\">\n        #{recentOrderTime,jdbcType=TIMESTAMP},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfoExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_statistics_info\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_statistics_info\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.memberId != null\">\n        member_id = #{record.memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.consumeAmount != null\">\n        consume_amount = #{record.consumeAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"record.orderCount != null\">\n        order_count = #{record.orderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.couponCount != null\">\n        coupon_count = #{record.couponCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.commentCount != null\">\n        comment_count = #{record.commentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.returnOrderCount != null\">\n        return_order_count = #{record.returnOrderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.loginCount != null\">\n        login_count = #{record.loginCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.attendCount != null\">\n        attend_count = #{record.attendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.fansCount != null\">\n        fans_count = #{record.fansCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.collectProductCount != null\">\n        collect_product_count = #{record.collectProductCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.collectSubjectCount != null\">\n        collect_subject_count = #{record.collectSubjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.collectTopicCount != null\">\n        collect_topic_count = #{record.collectTopicCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.collectCommentCount != null\">\n        collect_comment_count = #{record.collectCommentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.inviteFriendCount != null\">\n        invite_friend_count = #{record.inviteFriendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.recentOrderTime != null\">\n        recent_order_time = #{record.recentOrderTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_statistics_info\n    set id = #{record.id,jdbcType=BIGINT},\n      member_id = #{record.memberId,jdbcType=BIGINT},\n      consume_amount = #{record.consumeAmount,jdbcType=DECIMAL},\n      order_count = #{record.orderCount,jdbcType=INTEGER},\n      coupon_count = #{record.couponCount,jdbcType=INTEGER},\n      comment_count = #{record.commentCount,jdbcType=INTEGER},\n      return_order_count = #{record.returnOrderCount,jdbcType=INTEGER},\n      login_count = #{record.loginCount,jdbcType=INTEGER},\n      attend_count = #{record.attendCount,jdbcType=INTEGER},\n      fans_count = #{record.fansCount,jdbcType=INTEGER},\n      collect_product_count = #{record.collectProductCount,jdbcType=INTEGER},\n      collect_subject_count = #{record.collectSubjectCount,jdbcType=INTEGER},\n      collect_topic_count = #{record.collectTopicCount,jdbcType=INTEGER},\n      collect_comment_count = #{record.collectCommentCount,jdbcType=INTEGER},\n      invite_friend_count = #{record.inviteFriendCount,jdbcType=INTEGER},\n      recent_order_time = #{record.recentOrderTime,jdbcType=TIMESTAMP}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfo\">\n    update ums_member_statistics_info\n    <set>\n      <if test=\"memberId != null\">\n        member_id = #{memberId,jdbcType=BIGINT},\n      </if>\n      <if test=\"consumeAmount != null\">\n        consume_amount = #{consumeAmount,jdbcType=DECIMAL},\n      </if>\n      <if test=\"orderCount != null\">\n        order_count = #{orderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"couponCount != null\">\n        coupon_count = #{couponCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"commentCount != null\">\n        comment_count = #{commentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"returnOrderCount != null\">\n        return_order_count = #{returnOrderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"loginCount != null\">\n        login_count = #{loginCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"attendCount != null\">\n        attend_count = #{attendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"fansCount != null\">\n        fans_count = #{fansCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectProductCount != null\">\n        collect_product_count = #{collectProductCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectSubjectCount != null\">\n        collect_subject_count = #{collectSubjectCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectTopicCount != null\">\n        collect_topic_count = #{collectTopicCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"collectCommentCount != null\">\n        collect_comment_count = #{collectCommentCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"inviteFriendCount != null\">\n        invite_friend_count = #{inviteFriendCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"recentOrderTime != null\">\n        recent_order_time = #{recentOrderTime,jdbcType=TIMESTAMP},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberStatisticsInfo\">\n    update ums_member_statistics_info\n    set member_id = #{memberId,jdbcType=BIGINT},\n      consume_amount = #{consumeAmount,jdbcType=DECIMAL},\n      order_count = #{orderCount,jdbcType=INTEGER},\n      coupon_count = #{couponCount,jdbcType=INTEGER},\n      comment_count = #{commentCount,jdbcType=INTEGER},\n      return_order_count = #{returnOrderCount,jdbcType=INTEGER},\n      login_count = #{loginCount,jdbcType=INTEGER},\n      attend_count = #{attendCount,jdbcType=INTEGER},\n      fans_count = #{fansCount,jdbcType=INTEGER},\n      collect_product_count = #{collectProductCount,jdbcType=INTEGER},\n      collect_subject_count = #{collectSubjectCount,jdbcType=INTEGER},\n      collect_topic_count = #{collectTopicCount,jdbcType=INTEGER},\n      collect_comment_count = #{collectCommentCount,jdbcType=INTEGER},\n      invite_friend_count = #{inviteFriendCount,jdbcType=INTEGER},\n      recent_order_time = #{recentOrderTime,jdbcType=TIMESTAMP}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberTagMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberTagMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberTag\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"finish_order_count\" jdbcType=\"INTEGER\" property=\"finishOrderCount\" />\n    <result column=\"finish_order_amount\" jdbcType=\"DECIMAL\" property=\"finishOrderAmount\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, finish_order_count, finish_order_amount\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberTagExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_tag\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_tag\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_tag\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberTagExample\">\n    delete from ums_member_tag\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberTag\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_tag (name, finish_order_count, finish_order_amount\n      )\n    values (#{name,jdbcType=VARCHAR}, #{finishOrderCount,jdbcType=INTEGER}, #{finishOrderAmount,jdbcType=DECIMAL}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberTag\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_tag\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"finishOrderCount != null\">\n        finish_order_count,\n      </if>\n      <if test=\"finishOrderAmount != null\">\n        finish_order_amount,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"finishOrderCount != null\">\n        #{finishOrderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"finishOrderAmount != null\">\n        #{finishOrderAmount,jdbcType=DECIMAL},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberTagExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_tag\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_tag\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.finishOrderCount != null\">\n        finish_order_count = #{record.finishOrderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.finishOrderAmount != null\">\n        finish_order_amount = #{record.finishOrderAmount,jdbcType=DECIMAL},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_tag\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      finish_order_count = #{record.finishOrderCount,jdbcType=INTEGER},\n      finish_order_amount = #{record.finishOrderAmount,jdbcType=DECIMAL}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberTag\">\n    update ums_member_tag\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"finishOrderCount != null\">\n        finish_order_count = #{finishOrderCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"finishOrderAmount != null\">\n        finish_order_amount = #{finishOrderAmount,jdbcType=DECIMAL},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberTag\">\n    update ums_member_tag\n    set name = #{name,jdbcType=VARCHAR},\n      finish_order_count = #{finishOrderCount,jdbcType=INTEGER},\n      finish_order_amount = #{finishOrderAmount,jdbcType=DECIMAL}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberTaskMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMemberTaskMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMemberTask\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"growth\" jdbcType=\"INTEGER\" property=\"growth\" />\n    <result column=\"intergration\" jdbcType=\"INTEGER\" property=\"intergration\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, growth, intergration, type\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMemberTaskExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_member_task\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_member_task\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_member_task\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMemberTaskExample\">\n    delete from ums_member_task\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMemberTask\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_task (name, growth, intergration, \n      type)\n    values (#{name,jdbcType=VARCHAR}, #{growth,jdbcType=INTEGER}, #{intergration,jdbcType=INTEGER}, \n      #{type,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMemberTask\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_member_task\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"growth != null\">\n        growth,\n      </if>\n      <if test=\"intergration != null\">\n        intergration,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"growth != null\">\n        #{growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"intergration != null\">\n        #{intergration,jdbcType=INTEGER},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMemberTaskExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_member_task\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_member_task\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.growth != null\">\n        growth = #{record.growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.intergration != null\">\n        intergration = #{record.intergration,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_member_task\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      growth = #{record.growth,jdbcType=INTEGER},\n      intergration = #{record.intergration,jdbcType=INTEGER},\n      type = #{record.type,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMemberTask\">\n    update ums_member_task\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"growth != null\">\n        growth = #{growth,jdbcType=INTEGER},\n      </if>\n      <if test=\"intergration != null\">\n        intergration = #{intergration,jdbcType=INTEGER},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMemberTask\">\n    update ums_member_task\n    set name = #{name,jdbcType=VARCHAR},\n      growth = #{growth,jdbcType=INTEGER},\n      intergration = #{intergration,jdbcType=INTEGER},\n      type = #{type,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMenuMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsMenuMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsMenu\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"parent_id\" jdbcType=\"BIGINT\" property=\"parentId\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"title\" jdbcType=\"VARCHAR\" property=\"title\" />\n    <result column=\"level\" jdbcType=\"INTEGER\" property=\"level\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"hidden\" jdbcType=\"INTEGER\" property=\"hidden\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, parent_id, create_time, title, level, sort, name, icon, hidden\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsMenuExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_menu\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_menu\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_menu\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsMenuExample\">\n    delete from ums_menu\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsMenu\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_menu (parent_id, create_time, title, \n      level, sort, name, \n      icon, hidden)\n    values (#{parentId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{title,jdbcType=VARCHAR}, \n      #{level,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, \n      #{icon,jdbcType=VARCHAR}, #{hidden,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsMenu\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_menu\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"parentId != null\">\n        parent_id,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"title != null\">\n        title,\n      </if>\n      <if test=\"level != null\">\n        level,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"hidden != null\">\n        hidden,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"parentId != null\">\n        #{parentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"title != null\">\n        #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"level != null\">\n        #{level,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"hidden != null\">\n        #{hidden,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsMenuExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_menu\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_menu\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.parentId != null\">\n        parent_id = #{record.parentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.title != null\">\n        title = #{record.title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.level != null\">\n        level = #{record.level,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.hidden != null\">\n        hidden = #{record.hidden,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_menu\n    set id = #{record.id,jdbcType=BIGINT},\n      parent_id = #{record.parentId,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      title = #{record.title,jdbcType=VARCHAR},\n      level = #{record.level,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER},\n      name = #{record.name,jdbcType=VARCHAR},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      hidden = #{record.hidden,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsMenu\">\n    update ums_menu\n    <set>\n      <if test=\"parentId != null\">\n        parent_id = #{parentId,jdbcType=BIGINT},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"title != null\">\n        title = #{title,jdbcType=VARCHAR},\n      </if>\n      <if test=\"level != null\">\n        level = #{level,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"hidden != null\">\n        hidden = #{hidden,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsMenu\">\n    update ums_menu\n    set parent_id = #{parentId,jdbcType=BIGINT},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      title = #{title,jdbcType=VARCHAR},\n      level = #{level,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER},\n      name = #{name,jdbcType=VARCHAR},\n      icon = #{icon,jdbcType=VARCHAR},\n      hidden = #{hidden,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsPermissionMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsPermissionMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsPermission\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"pid\" jdbcType=\"BIGINT\" property=\"pid\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"value\" jdbcType=\"VARCHAR\" property=\"value\" />\n    <result column=\"icon\" jdbcType=\"VARCHAR\" property=\"icon\" />\n    <result column=\"type\" jdbcType=\"INTEGER\" property=\"type\" />\n    <result column=\"uri\" jdbcType=\"VARCHAR\" property=\"uri\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, pid, name, value, icon, type, uri, status, create_time, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsPermissionExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_permission\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_permission\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_permission\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsPermissionExample\">\n    delete from ums_permission\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsPermission\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_permission (pid, name, value, \n      icon, type, uri, status, \n      create_time, sort)\n    values (#{pid,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{value,jdbcType=VARCHAR}, \n      #{icon,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{uri,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, \n      #{createTime,jdbcType=TIMESTAMP}, #{sort,jdbcType=INTEGER})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsPermission\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_permission\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"pid != null\">\n        pid,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"value != null\">\n        value,\n      </if>\n      <if test=\"icon != null\">\n        icon,\n      </if>\n      <if test=\"type != null\">\n        type,\n      </if>\n      <if test=\"uri != null\">\n        uri,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"pid != null\">\n        #{pid,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"value != null\">\n        #{value,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"type != null\">\n        #{type,jdbcType=INTEGER},\n      </if>\n      <if test=\"uri != null\">\n        #{uri,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsPermissionExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_permission\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_permission\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.pid != null\">\n        pid = #{record.pid,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.value != null\">\n        value = #{record.value,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.icon != null\">\n        icon = #{record.icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.type != null\">\n        type = #{record.type,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.uri != null\">\n        uri = #{record.uri,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_permission\n    set id = #{record.id,jdbcType=BIGINT},\n      pid = #{record.pid,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      value = #{record.value,jdbcType=VARCHAR},\n      icon = #{record.icon,jdbcType=VARCHAR},\n      type = #{record.type,jdbcType=INTEGER},\n      uri = #{record.uri,jdbcType=VARCHAR},\n      status = #{record.status,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsPermission\">\n    update ums_permission\n    <set>\n      <if test=\"pid != null\">\n        pid = #{pid,jdbcType=BIGINT},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"value != null\">\n        value = #{value,jdbcType=VARCHAR},\n      </if>\n      <if test=\"icon != null\">\n        icon = #{icon,jdbcType=VARCHAR},\n      </if>\n      <if test=\"type != null\">\n        type = #{type,jdbcType=INTEGER},\n      </if>\n      <if test=\"uri != null\">\n        uri = #{uri,jdbcType=VARCHAR},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsPermission\">\n    update ums_permission\n    set pid = #{pid,jdbcType=BIGINT},\n      name = #{name,jdbcType=VARCHAR},\n      value = #{value,jdbcType=VARCHAR},\n      icon = #{icon,jdbcType=VARCHAR},\n      type = #{type,jdbcType=INTEGER},\n      uri = #{uri,jdbcType=VARCHAR},\n      status = #{status,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsResourceCategoryMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsResourceCategoryMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsResourceCategory\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, create_time, name, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsResourceCategoryExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_resource_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_resource_category\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_resource_category\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsResourceCategoryExample\">\n    delete from ums_resource_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsResourceCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_resource_category (create_time, name, sort\n      )\n    values (#{createTime,jdbcType=TIMESTAMP}, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsResourceCategory\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_resource_category\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsResourceCategoryExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_resource_category\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_resource_category\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_resource_category\n    set id = #{record.id,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      name = #{record.name,jdbcType=VARCHAR},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsResourceCategory\">\n    update ums_resource_category\n    <set>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsResourceCategory\">\n    update ums_resource_category\n    set create_time = #{createTime,jdbcType=TIMESTAMP},\n      name = #{name,jdbcType=VARCHAR},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsResourceMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsResourceMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsResource\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"url\" jdbcType=\"VARCHAR\" property=\"url\" />\n    <result column=\"description\" jdbcType=\"VARCHAR\" property=\"description\" />\n    <result column=\"category_id\" jdbcType=\"BIGINT\" property=\"categoryId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, create_time, name, url, description, category_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsResourceExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_resource\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_resource\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_resource\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsResourceExample\">\n    delete from ums_resource\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsResource\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_resource (create_time, name, url, \n      description, category_id)\n    values (#{createTime,jdbcType=TIMESTAMP}, #{name,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, \n      #{description,jdbcType=VARCHAR}, #{categoryId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsResource\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_resource\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"url != null\">\n        url,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n      <if test=\"categoryId != null\">\n        category_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"url != null\">\n        #{url,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"categoryId != null\">\n        #{categoryId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsResourceExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_resource\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_resource\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.url != null\">\n        url = #{record.url,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.categoryId != null\">\n        category_id = #{record.categoryId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_resource\n    set id = #{record.id,jdbcType=BIGINT},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      name = #{record.name,jdbcType=VARCHAR},\n      url = #{record.url,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=VARCHAR},\n      category_id = #{record.categoryId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsResource\">\n    update ums_resource\n    <set>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"url != null\">\n        url = #{url,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"categoryId != null\">\n        category_id = #{categoryId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsResource\">\n    update ums_resource\n    set create_time = #{createTime,jdbcType=TIMESTAMP},\n      name = #{name,jdbcType=VARCHAR},\n      url = #{url,jdbcType=VARCHAR},\n      description = #{description,jdbcType=VARCHAR},\n      category_id = #{categoryId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRoleMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsRoleMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsRole\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"name\" jdbcType=\"VARCHAR\" property=\"name\" />\n    <result column=\"description\" jdbcType=\"VARCHAR\" property=\"description\" />\n    <result column=\"admin_count\" jdbcType=\"INTEGER\" property=\"adminCount\" />\n    <result column=\"create_time\" jdbcType=\"TIMESTAMP\" property=\"createTime\" />\n    <result column=\"status\" jdbcType=\"INTEGER\" property=\"status\" />\n    <result column=\"sort\" jdbcType=\"INTEGER\" property=\"sort\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, name, description, admin_count, create_time, status, sort\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsRoleExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_role\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_role\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_role\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsRoleExample\">\n    delete from ums_role\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsRole\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role (name, description, admin_count, \n      create_time, status, sort\n      )\n    values (#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{adminCount,jdbcType=INTEGER}, \n      #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}\n      )\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsRole\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        name,\n      </if>\n      <if test=\"description != null\">\n        description,\n      </if>\n      <if test=\"adminCount != null\">\n        admin_count,\n      </if>\n      <if test=\"createTime != null\">\n        create_time,\n      </if>\n      <if test=\"status != null\">\n        status,\n      </if>\n      <if test=\"sort != null\">\n        sort,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"name != null\">\n        #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"adminCount != null\">\n        #{adminCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"status != null\">\n        #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        #{sort,jdbcType=INTEGER},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsRoleExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_role\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_role\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.name != null\">\n        name = #{record.name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.description != null\">\n        description = #{record.description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"record.adminCount != null\">\n        admin_count = #{record.adminCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.createTime != null\">\n        create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"record.status != null\">\n        status = #{record.status,jdbcType=INTEGER},\n      </if>\n      <if test=\"record.sort != null\">\n        sort = #{record.sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_role\n    set id = #{record.id,jdbcType=BIGINT},\n      name = #{record.name,jdbcType=VARCHAR},\n      description = #{record.description,jdbcType=VARCHAR},\n      admin_count = #{record.adminCount,jdbcType=INTEGER},\n      create_time = #{record.createTime,jdbcType=TIMESTAMP},\n      status = #{record.status,jdbcType=INTEGER},\n      sort = #{record.sort,jdbcType=INTEGER}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsRole\">\n    update ums_role\n    <set>\n      <if test=\"name != null\">\n        name = #{name,jdbcType=VARCHAR},\n      </if>\n      <if test=\"description != null\">\n        description = #{description,jdbcType=VARCHAR},\n      </if>\n      <if test=\"adminCount != null\">\n        admin_count = #{adminCount,jdbcType=INTEGER},\n      </if>\n      <if test=\"createTime != null\">\n        create_time = #{createTime,jdbcType=TIMESTAMP},\n      </if>\n      <if test=\"status != null\">\n        status = #{status,jdbcType=INTEGER},\n      </if>\n      <if test=\"sort != null\">\n        sort = #{sort,jdbcType=INTEGER},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsRole\">\n    update ums_role\n    set name = #{name,jdbcType=VARCHAR},\n      description = #{description,jdbcType=VARCHAR},\n      admin_count = #{adminCount,jdbcType=INTEGER},\n      create_time = #{createTime,jdbcType=TIMESTAMP},\n      status = #{status,jdbcType=INTEGER},\n      sort = #{sort,jdbcType=INTEGER}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRoleMenuRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsRoleMenuRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsRoleMenuRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"role_id\" jdbcType=\"BIGINT\" property=\"roleId\" />\n    <result column=\"menu_id\" jdbcType=\"BIGINT\" property=\"menuId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, role_id, menu_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_role_menu_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_role_menu_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_role_menu_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelationExample\">\n    delete from ums_role_menu_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role_menu_relation (role_id, menu_id)\n    values (#{roleId,jdbcType=BIGINT}, #{menuId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role_menu_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"roleId != null\">\n        role_id,\n      </if>\n      <if test=\"menuId != null\">\n        menu_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"roleId != null\">\n        #{roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"menuId != null\">\n        #{menuId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_role_menu_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_role_menu_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.roleId != null\">\n        role_id = #{record.roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.menuId != null\">\n        menu_id = #{record.menuId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_role_menu_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      role_id = #{record.roleId,jdbcType=BIGINT},\n      menu_id = #{record.menuId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelation\">\n    update ums_role_menu_relation\n    <set>\n      <if test=\"roleId != null\">\n        role_id = #{roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"menuId != null\">\n        menu_id = #{menuId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsRoleMenuRelation\">\n    update ums_role_menu_relation\n    set role_id = #{roleId,jdbcType=BIGINT},\n      menu_id = #{menuId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRolePermissionRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsRolePermissionRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsRolePermissionRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"role_id\" jdbcType=\"BIGINT\" property=\"roleId\" />\n    <result column=\"permission_id\" jdbcType=\"BIGINT\" property=\"permissionId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, role_id, permission_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_role_permission_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_role_permission_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_role_permission_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelationExample\">\n    delete from ums_role_permission_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role_permission_relation (role_id, permission_id)\n    values (#{roleId,jdbcType=BIGINT}, #{permissionId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role_permission_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"roleId != null\">\n        role_id,\n      </if>\n      <if test=\"permissionId != null\">\n        permission_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"roleId != null\">\n        #{roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"permissionId != null\">\n        #{permissionId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_role_permission_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_role_permission_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.roleId != null\">\n        role_id = #{record.roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.permissionId != null\">\n        permission_id = #{record.permissionId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_role_permission_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      role_id = #{record.roleId,jdbcType=BIGINT},\n      permission_id = #{record.permissionId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelation\">\n    update ums_role_permission_relation\n    <set>\n      <if test=\"roleId != null\">\n        role_id = #{roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"permissionId != null\">\n        permission_id = #{permissionId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsRolePermissionRelation\">\n    update ums_role_permission_relation\n    set role_id = #{roleId,jdbcType=BIGINT},\n      permission_id = #{permissionId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRoleResourceRelationMapper.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.mapper.UmsRoleResourceRelationMapper\">\n  <resultMap id=\"BaseResultMap\" type=\"com.macro.mall.model.UmsRoleResourceRelation\">\n    <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n    <result column=\"role_id\" jdbcType=\"BIGINT\" property=\"roleId\" />\n    <result column=\"resource_id\" jdbcType=\"BIGINT\" property=\"resourceId\" />\n  </resultMap>\n  <sql id=\"Example_Where_Clause\">\n    <where>\n      <foreach collection=\"oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Update_By_Example_Where_Clause\">\n    <where>\n      <foreach collection=\"example.oredCriteria\" item=\"criteria\" separator=\"or\">\n        <if test=\"criteria.valid\">\n          <trim prefix=\"(\" prefixOverrides=\"and\" suffix=\")\">\n            <foreach collection=\"criteria.criteria\" item=\"criterion\">\n              <choose>\n                <when test=\"criterion.noValue\">\n                  and ${criterion.condition}\n                </when>\n                <when test=\"criterion.singleValue\">\n                  and ${criterion.condition} #{criterion.value}\n                </when>\n                <when test=\"criterion.betweenValue\">\n                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n                </when>\n                <when test=\"criterion.listValue\">\n                  and ${criterion.condition}\n                  <foreach close=\")\" collection=\"criterion.value\" item=\"listItem\" open=\"(\" separator=\",\">\n                    #{listItem}\n                  </foreach>\n                </when>\n              </choose>\n            </foreach>\n          </trim>\n        </if>\n      </foreach>\n    </where>\n  </sql>\n  <sql id=\"Base_Column_List\">\n    id, role_id, resource_id\n  </sql>\n  <select id=\"selectByExample\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelationExample\" resultMap=\"BaseResultMap\">\n    select\n    <if test=\"distinct\">\n      distinct\n    </if>\n    <include refid=\"Base_Column_List\" />\n    from ums_role_resource_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n    <if test=\"orderByClause != null\">\n      order by ${orderByClause}\n    </if>\n  </select>\n  <select id=\"selectByPrimaryKey\" parameterType=\"java.lang.Long\" resultMap=\"BaseResultMap\">\n    select \n    <include refid=\"Base_Column_List\" />\n    from ums_role_resource_relation\n    where id = #{id,jdbcType=BIGINT}\n  </select>\n  <delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Long\">\n    delete from ums_role_resource_relation\n    where id = #{id,jdbcType=BIGINT}\n  </delete>\n  <delete id=\"deleteByExample\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelationExample\">\n    delete from ums_role_resource_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </delete>\n  <insert id=\"insert\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role_resource_relation (role_id, resource_id)\n    values (#{roleId,jdbcType=BIGINT}, #{resourceId,jdbcType=BIGINT})\n  </insert>\n  <insert id=\"insertSelective\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelation\">\n    <selectKey keyProperty=\"id\" order=\"AFTER\" resultType=\"java.lang.Long\">\n      SELECT LAST_INSERT_ID()\n    </selectKey>\n    insert into ums_role_resource_relation\n    <trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"roleId != null\">\n        role_id,\n      </if>\n      <if test=\"resourceId != null\">\n        resource_id,\n      </if>\n    </trim>\n    <trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n      <if test=\"roleId != null\">\n        #{roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"resourceId != null\">\n        #{resourceId,jdbcType=BIGINT},\n      </if>\n    </trim>\n  </insert>\n  <select id=\"countByExample\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelationExample\" resultType=\"java.lang.Long\">\n    select count(*) from ums_role_resource_relation\n    <if test=\"_parameter != null\">\n      <include refid=\"Example_Where_Clause\" />\n    </if>\n  </select>\n  <update id=\"updateByExampleSelective\" parameterType=\"map\">\n    update ums_role_resource_relation\n    <set>\n      <if test=\"record.id != null\">\n        id = #{record.id,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.roleId != null\">\n        role_id = #{record.roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"record.resourceId != null\">\n        resource_id = #{record.resourceId,jdbcType=BIGINT},\n      </if>\n    </set>\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByExample\" parameterType=\"map\">\n    update ums_role_resource_relation\n    set id = #{record.id,jdbcType=BIGINT},\n      role_id = #{record.roleId,jdbcType=BIGINT},\n      resource_id = #{record.resourceId,jdbcType=BIGINT}\n    <if test=\"_parameter != null\">\n      <include refid=\"Update_By_Example_Where_Clause\" />\n    </if>\n  </update>\n  <update id=\"updateByPrimaryKeySelective\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelation\">\n    update ums_role_resource_relation\n    <set>\n      <if test=\"roleId != null\">\n        role_id = #{roleId,jdbcType=BIGINT},\n      </if>\n      <if test=\"resourceId != null\">\n        resource_id = #{resourceId,jdbcType=BIGINT},\n      </if>\n    </set>\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n  <update id=\"updateByPrimaryKey\" parameterType=\"com.macro.mall.model.UmsRoleResourceRelation\">\n    update ums_role_resource_relation\n    set role_id = #{roleId,jdbcType=BIGINT},\n      resource_id = #{resourceId,jdbcType=BIGINT}\n    where id = #{id,jdbcType=BIGINT}\n  </update>\n</mapper>"
  },
  {
    "path": "mall-mbg/src/main/resources/generator.properties",
    "content": "jdbc.driverClass=com.mysql.cj.jdbc.Driver\njdbc.connectionURL=jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\njdbc.userId=root\njdbc.password=root"
  },
  {
    "path": "mall-mbg/src/main/resources/generatorConfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE generatorConfiguration\n        PUBLIC \"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN\"\n        \"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd\">\n\n<generatorConfiguration>\n    <properties resource=\"generator.properties\"/>\n    <context id=\"MySqlContext\" targetRuntime=\"MyBatis3\" defaultModelType=\"flat\">\n        <!-- 配置SQL语句中的前置分隔符 -->\n        <property name=\"beginningDelimiter\" value=\"`\"/>\n        <!-- 配置SQL语句中的后置分隔符 -->\n        <property name=\"endingDelimiter\" value=\"`\"/>\n        <!-- 配置生成Java文件的编码 -->\n        <property name=\"javaFileEncoding\" value=\"UTF-8\"/>\n        <!-- 为模型生成序列化方法 -->\n        <plugin type=\"org.mybatis.generator.plugins.SerializablePlugin\"/>\n        <!-- 为生成的Java模型创建一个toString方法 -->\n        <plugin type=\"org.mybatis.generator.plugins.ToStringPlugin\"/>\n        <!-- 生成mapper.xml时覆盖原文件 -->\n        <plugin type=\"org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin\" />\n        <commentGenerator type=\"com.macro.mall.CommentGenerator\">\n            <!-- 是否阻止生成的注释 -->\n            <property name=\"suppressAllComments\" value=\"true\"/>\n            <!-- 是否阻止生成的注释包含时间戳 -->\n            <property name=\"suppressDate\" value=\"true\"/>\n            <!-- 是否添加数据库表的备注信息 -->\n            <property name=\"addRemarkComments\" value=\"true\"/>\n        </commentGenerator>\n        <!-- 配置MBG要连接的数据库信息 -->\n        <jdbcConnection driverClass=\"${jdbc.driverClass}\"\n                        connectionURL=\"${jdbc.connectionURL}\"\n                        userId=\"${jdbc.userId}\"\n                        password=\"${jdbc.password}\">\n            <!-- 解决mysql驱动升级到8.0后不生成指定数据库代码的问题 -->\n            <property name=\"nullCatalogMeansCurrent\" value=\"true\" />\n        </jdbcConnection>\n        <!-- 用于控制实体类的生成 -->\n        <javaModelGenerator targetPackage=\"com.macro.mall.model\" targetProject=\"mall-mbg\\src\\main\\java\"/>\n        <!-- 用于控制Mapper.xml文件的生成 -->\n        <sqlMapGenerator targetPackage=\"com.macro.mall.mapper\" targetProject=\"mall-mbg\\src\\main\\resources\"/>\n        <!-- 用于控制Mapper接口的生成 -->\n        <javaClientGenerator type=\"XMLMAPPER\" targetPackage=\"com.macro.mall.mapper\"\n                             targetProject=\"mall-mbg\\src\\main\\java\"/>\n        <!-- 配置需要生成的表，生成全部表tableName设为% -->\n        <table tableName=\"%\">\n            <!-- 用来指定主键生成策略 -->\n            <generatedKey column=\"id\" sqlStatement=\"MySql\" identity=\"true\"/>\n        </table>\n    </context>\n</generatorConfiguration>"
  },
  {
    "path": "mall-portal/.gitignore",
    "content": "/target/\n!.mvn/wrapper/maven-wrapper.jar\n\n### STS ###\n.apt_generated\n.classpath\n.factorypath\n.project\n.settings\n.springBeans\n.sts4-cache\n\n### IntelliJ IDEA ###\n.idea\n*.iws\n*.iml\n*.ipr\n\n### NetBeans ###\n/nbproject/private/\n/build/\n/nbbuild/\n/dist/\n/nbdist/\n/.nb-gradle/"
  },
  {
    "path": "mall-portal/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-portal</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-portal</name>\n    <description>mall-portal project for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-mbg</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-security</artifactId>\n        </dependency>\n        <!--mongodb依赖配置-->\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-data-mongodb</artifactId>\n        </dependency>\n        <!--redis依赖配置-->\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-data-redis</artifactId>\n        </dependency>\n        <!--集成消息队列-->\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-amqp</artifactId>\n        </dependency>\n        <!--支付宝支付Java SDK-->\n        <dependency>\n            <groupId>com.alipay.sdk</groupId>\n            <artifactId>alipay-sdk-java</artifactId>\n            <version>${alipay-sdk.version}</version>\n        </dependency>\n\n    </dependencies>\n\n    <build>\n        <plugins>\n            <plugin>\n                <groupId>org.springframework.boot</groupId>\n                <artifactId>spring-boot-maven-plugin</artifactId>\n            </plugin>\n            <plugin>\n                <groupId>io.fabric8</groupId>\n                <artifactId>docker-maven-plugin</artifactId>\n            </plugin>\n        </plugins>\n    </build>\n\n\n</project>\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/MallPortalApplication.java",
    "content": "package com.macro.mall.portal;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication(scanBasePackages = \"com.macro.mall\")\npublic class MallPortalApplication {\n\n    public static void main(String[] args) {\n        SpringApplication.run(MallPortalApplication.class, args);\n    }\n\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/component/CancelOrderReceiver.java",
    "content": "package com.macro.mall.portal.component;\n\nimport com.macro.mall.portal.service.OmsPortalOrderService;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.amqp.rabbit.annotation.RabbitHandler;\nimport org.springframework.amqp.rabbit.annotation.RabbitListener;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Component;\n\n/**\n * 取消订单消息的接收者\n * Created by macro on 2018/9/14.\n */\n@Component\n@RabbitListener(queues = \"mall.order.cancel\")\npublic class CancelOrderReceiver {\n    private static final Logger LOGGER = LoggerFactory.getLogger(CancelOrderReceiver.class);\n    @Autowired\n    private OmsPortalOrderService portalOrderService;\n    @RabbitHandler\n    public void handle(Long orderId){\n        portalOrderService.cancelOrder(orderId);\n        LOGGER.info(\"process orderId:{}\",orderId);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/component/CancelOrderSender.java",
    "content": "package com.macro.mall.portal.component;\n\nimport com.macro.mall.portal.domain.QueueEnum;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.amqp.AmqpException;\nimport org.springframework.amqp.core.AmqpTemplate;\nimport org.springframework.amqp.core.Message;\nimport org.springframework.amqp.core.MessagePostProcessor;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Component;\n\n/**\n * 取消订单消息的发送者\n * Created by macro on 2018/9/14.\n */\n@Component\npublic class CancelOrderSender {\n    private static final Logger LOGGER = LoggerFactory.getLogger(CancelOrderSender.class);\n    @Autowired\n    private AmqpTemplate amqpTemplate;\n\n    public void sendMessage(Long orderId,final long delayTimes){\n        //给延迟队列发送消息\n        amqpTemplate.convertAndSend(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getExchange(), QueueEnum.QUEUE_TTL_ORDER_CANCEL.getRouteKey(), orderId, new MessagePostProcessor() {\n            @Override\n            public Message postProcessMessage(Message message) throws AmqpException {\n                //给消息设置延迟毫秒值\n                message.getMessageProperties().setExpiration(String.valueOf(delayTimes));\n                return message;\n            }\n        });\n        LOGGER.info(\"send orderId:{}\",orderId);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/component/OrderTimeOutCancelTask.java",
    "content": "package com.macro.mall.portal.component;\n\nimport com.macro.mall.portal.service.OmsPortalOrderService;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.scheduling.annotation.Scheduled;\nimport org.springframework.stereotype.Component;\n\n/**\n * 取消超时订单并解锁库存的定时器\n * Created by macro on 2018/8/24.\n */\n//@Component\npublic class OrderTimeOutCancelTask {\n    private final Logger LOGGER = LoggerFactory.getLogger(OrderTimeOutCancelTask.class);\n    @Autowired\n    private OmsPortalOrderService portalOrderService;\n\n    /**\n     * cron表达式：Seconds Minutes Hours DayOfMonth Month DayOfWeek [Year]\n     * 每10分钟扫描一次，扫描超时未支付订单，进行取消操作\n     */\n    @Scheduled(cron = \"0 0/10 * ? * ?\")\n    private void cancelTimeOutOrder(){\n        Integer count = portalOrderService.cancelTimeOutOrder();\n        LOGGER.info(\"取消订单，并根据sku编号释放锁定库存，取消订单数量：{}\",count);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/AlipayClientConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport com.alipay.api.AlipayClient;\nimport com.alipay.api.DefaultAlipayClient;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\n\n/**\n * @auther macrozheng\n * @description 支付宝请求客户端配置\n * @date 2023/9/8\n * @github https://github.com/macrozheng\n */\n@Configuration\npublic class AlipayClientConfig {\n\n    @Bean\n    public AlipayClient alipayClient(AlipayConfig config){\n        return new DefaultAlipayClient(config.getGatewayUrl(),config.getAppId(),config.getAppPrivateKey(), config.getFormat(),config.getCharset(),config.getAlipayPublicKey(),config.getSignType());\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/AlipayConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport lombok.Getter;\nimport lombok.Setter;\nimport org.springframework.boot.context.properties.ConfigurationProperties;\nimport org.springframework.stereotype.Component;\n\n/**\n * @auther macrozheng\n * @description 支付宝支付相关配置\n * @date 2023/9/8\n * @github https://github.com/macrozheng\n */\n@Getter\n@Setter\n@Component\n@ConfigurationProperties(prefix = \"alipay\")\npublic class AlipayConfig {\n    /**\n     * 支付宝网关\n     */\n    private String gatewayUrl;\n    /**\n     * 应用ID\n     */\n    private String appId;\n    /**\n     * 应用私钥\n     */\n    private String appPrivateKey;\n    /**\n     * 支付宝公钥\n     */\n    private String alipayPublicKey;\n    /**\n     * 用户确认支付后，支付宝调用的页面返回路径\n     * 开发环境为：http://localhost:8060/#/pages/money/paySuccess\n     */\n    private String returnUrl;\n    /**\n     * 支付成功后，支付宝服务器主动通知商户服务器里的异步通知回调（需要公网能访问）\n     * 开发环境为：http://localhost:8085/alipay/notify\n     */\n    private String notifyUrl;\n    /**\n     * 参数返回格式，只支持JSON\n     */\n    private String format = \"JSON\";\n    /**\n     * 请求使用的编码格式\n     */\n    private String charset = \"UTF-8\";\n    /**\n     * 生成签名字符串所使用的签名算法类型\n     */\n    private String signType = \"RSA2\";\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/GlobalCorsConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.web.cors.CorsConfiguration;\nimport org.springframework.web.cors.UrlBasedCorsConfigurationSource;\nimport org.springframework.web.filter.CorsFilter;\n\n/**\n * 全局跨域相关配置\n * Created by macro on 2019/7/27.\n */\n@Configuration\npublic class GlobalCorsConfig {\n\n    /**\n     * 允许跨域调用的过滤器\n     */\n    @Bean\n    public CorsFilter corsFilter() {\n        CorsConfiguration config = new CorsConfiguration();\n        //允许所有域名进行跨域调用\n        config.addAllowedOriginPattern(\"*\");\n        //允许跨域发送cookie\n        config.setAllowCredentials(true);\n        //放行全部原始头信息\n        config.addAllowedHeader(\"*\");\n        //允许所有请求方法跨域调用\n        config.addAllowedMethod(\"*\");\n        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();\n        source.registerCorsConfiguration(\"/**\", config);\n        return new CorsFilter(source);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/JacksonConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport com.fasterxml.jackson.annotation.JsonInclude;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.context.annotation.Primary;\nimport org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;\n\n\n/**\n * Jackson相关配置\n * 配置json不返回null的字段\n * Created by macro on 2018/8/2.\n */\n@Configuration\npublic class JacksonConfig {\n    @Bean\n    @Primary\n    @ConditionalOnMissingBean(ObjectMapper.class)\n    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {\n        ObjectMapper objectMapper = builder.createXmlMapper(false).build();\n        // 通过该方法对mapper对象进行设置，所有序列化的对象都将按该规则进行序列化\n        // Include.ALWAYS 所有属性都序列化（默认）\n        // Include.NON_DEFAULT 属性为默认值不序列化\n        // Include.NON_EMPTY 属性为空（\"\"）或者为NULL都不序列化\n        // Include.NON_NULL 属性为NULL的字段不序列化\n        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);\n        return objectMapper;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/MallSecurityConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.security.core.userdetails.UserDetailsService;\n\n/**\n * mall-security模块相关配置\n * Created by macro on 2019/11/5.\n */\n@Configuration\npublic class MallSecurityConfig {\n\n    @Autowired\n    private UmsMemberService memberService;\n\n    @Bean\n    public UserDetailsService userDetailsService() {\n        //获取登录用户信息\n        return username -> memberService.loadUserByUsername(username);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/MyBatisConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport org.mybatis.spring.annotation.MapperScan;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.transaction.annotation.EnableTransactionManagement;\n\n/**\n * MyBatis相关配置\n * Created by macro on 2019/4/8.\n */\n@Configuration\n@EnableTransactionManagement\n@MapperScan({\"com.macro.mall.mapper\",\"com.macro.mall.portal.dao\"})\npublic class MyBatisConfig {\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/RabbitMqConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport com.macro.mall.portal.domain.QueueEnum;\nimport org.springframework.amqp.core.*;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\n\n/**\n * 消息队列相关配置\n * Created by macro on 2018/9/14.\n */\n@Configuration\npublic class RabbitMqConfig {\n\n    /**\n     * 订单消息实际消费队列所绑定的交换机\n     */\n    @Bean\n    DirectExchange orderDirect() {\n        return ExchangeBuilder\n                .directExchange(QueueEnum.QUEUE_ORDER_CANCEL.getExchange())\n                .durable(true)\n                .build();\n    }\n\n    /**\n     * 订单延迟队列所绑定的交换机\n     */\n    @Bean\n    DirectExchange orderTtlDirect() {\n        return ExchangeBuilder\n                .directExchange(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getExchange())\n                .durable(true)\n                .build();\n    }\n\n    /**\n     * 订单实际消费队列\n     */\n    @Bean\n    public Queue orderQueue() {\n        return new Queue(QueueEnum.QUEUE_ORDER_CANCEL.getName());\n    }\n\n    /**\n     * 订单延迟队列（死信队列）\n     */\n    @Bean\n    public Queue orderTtlQueue() {\n        return QueueBuilder\n                .durable(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getName())\n                .withArgument(\"x-dead-letter-exchange\", QueueEnum.QUEUE_ORDER_CANCEL.getExchange())//到期后转发的交换机\n                .withArgument(\"x-dead-letter-routing-key\", QueueEnum.QUEUE_ORDER_CANCEL.getRouteKey())//到期后转发的路由键\n                .build();\n    }\n\n    /**\n     * 将订单队列绑定到交换机\n     */\n    @Bean\n    Binding orderBinding(DirectExchange orderDirect,Queue orderQueue){\n        return BindingBuilder\n                .bind(orderQueue)\n                .to(orderDirect)\n                .with(QueueEnum.QUEUE_ORDER_CANCEL.getRouteKey());\n    }\n\n    /**\n     * 将订单延迟队列绑定到交换机\n     */\n    @Bean\n    Binding orderTtlBinding(DirectExchange orderTtlDirect,Queue orderTtlQueue){\n        return BindingBuilder\n                .bind(orderTtlQueue)\n                .to(orderTtlDirect)\n                .with(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getRouteKey());\n    }\n\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/SpringTaskConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.scheduling.annotation.EnableScheduling;\n\n/**\n * 定时任务相关配置\n * Created by macro on 2019/4/8.\n */\n@Configuration\n@EnableScheduling\npublic class SpringTaskConfig {\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/config/SwaggerConfig.java",
    "content": "package com.macro.mall.portal.config;\n\nimport com.macro.mall.common.config.BaseSwaggerConfig;\nimport com.macro.mall.common.domain.SwaggerProperties;\nimport org.springframework.beans.factory.config.BeanPostProcessor;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport springfox.documentation.swagger2.annotations.EnableSwagger2;\n\n/**\n * Swagger相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\n@EnableSwagger2\npublic class SwaggerConfig extends BaseSwaggerConfig {\n\n    @Override\n    public SwaggerProperties swaggerProperties() {\n        return SwaggerProperties.builder()\n                .apiBasePackage(\"com.macro.mall.portal.controller\")\n                .title(\"mall前台系统\")\n                .description(\"mall前台相关接口文档\")\n                .contactName(\"macro\")\n                .version(\"1.0\")\n                .enableSecurity(true)\n                .build();\n    }\n\n    @Bean\n    public BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {\n        return generateBeanPostProcessor();\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/AlipayController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.portal.config.AlipayConfig;\nimport com.macro.mall.portal.domain.AliPayParam;\nimport com.macro.mall.portal.service.AlipayService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.IOException;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * @auther macrozheng\n * @description 支付宝支付Controller\n * @date 2023/9/8\n * @github https://github.com/macrozheng\n */\n@Controller\n@Api(tags = \"AlipayController\")\n@Tag(name = \"AlipayController\", description = \"支付宝支付相关接口\")\n@RequestMapping(\"/alipay\")\npublic class AlipayController {\n\n    @Autowired\n    private AlipayConfig alipayConfig;\n    @Autowired\n    private AlipayService alipayService;\n\n    @ApiOperation(\"支付宝电脑网站支付\")\n    @RequestMapping(value = \"/pay\", method = RequestMethod.GET)\n    public void pay(AliPayParam aliPayParam, HttpServletResponse response) throws IOException {\n        response.setContentType(\"text/html;charset=\" + alipayConfig.getCharset());\n        response.getWriter().write(alipayService.pay(aliPayParam));\n        response.getWriter().flush();\n        response.getWriter().close();\n    }\n\n    @ApiOperation(\"支付宝手机网站支付\")\n    @RequestMapping(value = \"/webPay\", method = RequestMethod.GET)\n    public void webPay(AliPayParam aliPayParam, HttpServletResponse response) throws IOException {\n        response.setContentType(\"text/html;charset=\" + alipayConfig.getCharset());\n        response.getWriter().write(alipayService.webPay(aliPayParam));\n        response.getWriter().flush();\n        response.getWriter().close();\n    }\n\n    @ApiOperation(value = \"支付宝异步回调\",notes = \"必须为POST请求，执行成功返回success，执行失败返回failure\")\n    @RequestMapping(value = \"/notify\", method = RequestMethod.POST)\n    public String notify(HttpServletRequest request){\n        Map<String, String> params = new HashMap<>();\n        Map<String, String[]> requestParams = request.getParameterMap();\n        for (String name : requestParams.keySet()) {\n            params.put(name, request.getParameter(name));\n        }\n        return alipayService.notify(params);\n    }\n\n    @ApiOperation(value = \"支付宝统一收单线下交易查询\",notes = \"订单支付成功返回交易状态：TRADE_SUCCESS\")\n    @RequestMapping(value = \"/query\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<String> query(String outTradeNo, String tradeNo){\n        return CommonResult.success(alipayService.query(outTradeNo,tradeNo));\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/HomeController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductCategory;\nimport com.macro.mall.portal.domain.HomeContentResult;\nimport com.macro.mall.portal.service.HomeService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页内容管理Controller\n * Created by macro on 2019/1/28.\n */\n@Controller\n@Api(tags = \"HomeController\")\n@Tag(name = \"HomeController\", description = \"首页内容管理\")\n@RequestMapping(\"/home\")\npublic class HomeController {\n    @Autowired\n    private HomeService homeService;\n\n    @ApiOperation(\"首页内容信息展示\")\n    @RequestMapping(value = \"/content\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<HomeContentResult> content() {\n        HomeContentResult contentResult = homeService.content();\n        return CommonResult.success(contentResult);\n    }\n\n    @ApiOperation(\"分页获取推荐商品\")\n    @RequestMapping(value = \"/recommendProductList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProduct>> recommendProductList(@RequestParam(value = \"pageSize\", defaultValue = \"4\") Integer pageSize,\n                                                               @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<PmsProduct> productList = homeService.recommendProductList(pageSize, pageNum);\n        return CommonResult.success(productList);\n    }\n\n    @ApiOperation(\"获取首页商品分类\")\n    @RequestMapping(value = \"/productCateList/{parentId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProductCategory>> getProductCateList(@PathVariable Long parentId) {\n        List<PmsProductCategory> productCategoryList = homeService.getProductCateList(parentId);\n        return CommonResult.success(productCategoryList);\n    }\n\n    @ApiOperation(\"根据分类分页获取专题\")\n    @RequestMapping(value = \"/subjectList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<CmsSubject>> getSubjectList(@RequestParam(required = false) Long cateId,\n                                                         @RequestParam(value = \"pageSize\", defaultValue = \"4\") Integer pageSize,\n                                                         @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<CmsSubject> subjectList = homeService.getSubjectList(cateId,pageSize,pageNum);\n        return CommonResult.success(subjectList);\n    }\n\n    @ApiOperation(\"分页获取人气推荐商品\")\n    @RequestMapping(value = \"/hotProductList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProduct>> hotProductList(@RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                         @RequestParam(value = \"pageSize\", defaultValue = \"6\") Integer pageSize) {\n        List<PmsProduct> productList = homeService.hotProductList(pageNum,pageSize);\n        return CommonResult.success(productList);\n    }\n\n    @ApiOperation(\"分页获取新品推荐商品\")\n    @RequestMapping(value = \"/newProductList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProduct>> newProductList(@RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                         @RequestParam(value = \"pageSize\", defaultValue = \"6\") Integer pageSize) {\n        List<PmsProduct> productList = homeService.newProductList(pageNum,pageSize);\n        return CommonResult.success(productList);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/MemberAttentionController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.portal.domain.MemberBrandAttention;\nimport com.macro.mall.portal.service.MemberAttentionService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\n/**\n * 会员品牌关注管理Controller\n * Created by macro on 2018/8/2.\n */\n@Controller\n@Api(tags = \"MemberAttentionController\")\n@Tag(name = \"MemberAttentionController\",description = \"会员关注品牌管理\")\n@RequestMapping(\"/member/attention\")\npublic class MemberAttentionController {\n    @Autowired\n    private MemberAttentionService memberAttentionService;\n    @ApiOperation(\"添加品牌关注\")\n    @RequestMapping(value = \"/add\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult add(@RequestBody MemberBrandAttention memberBrandAttention) {\n        int count = memberAttentionService.add(memberBrandAttention);\n        if(count>0){\n            return CommonResult.success(count);\n        }else{\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"取消品牌关注\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(Long brandId) {\n        int count = memberAttentionService.delete(brandId);\n        if(count>0){\n            return CommonResult.success(count);\n        }else{\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"分页查询当前用户品牌关注列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<MemberBrandAttention>> list(@RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                               @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize) {\n        Page<MemberBrandAttention> page = memberAttentionService.list(pageNum,pageSize);\n        return CommonResult.success(CommonPage.restPage(page));\n    }\n\n    @ApiOperation(\"根据品牌ID获取品牌关注详情\")\n    @RequestMapping(value = \"/detail\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<MemberBrandAttention> detail(@RequestParam Long brandId) {\n        MemberBrandAttention memberBrandAttention = memberAttentionService.detail(brandId);\n        return CommonResult.success(memberBrandAttention);\n    }\n\n    @ApiOperation(\"清空当前用户品牌关注列表\")\n    @RequestMapping(value = \"/clear\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult clear() {\n        memberAttentionService.clear();\n        return CommonResult.success(null);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/MemberProductCollectionController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.portal.domain.MemberProductCollection;\nimport com.macro.mall.portal.service.MemberCollectionService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\n/**\n * 会员商品收藏管理Controller\n * Created by macro on 2018/8/2.\n */\n@Controller\n@Api(tags = \"MemberCollectionController\")\n@Tag(name = \"MemberCollectionController\",description = \"会员收藏管理\")\n@RequestMapping(\"/member/productCollection\")\npublic class MemberProductCollectionController {\n    @Autowired\n    private MemberCollectionService memberCollectionService;\n\n    @ApiOperation(\"添加商品收藏\")\n    @RequestMapping(value = \"/add\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult add(@RequestBody MemberProductCollection productCollection) {\n        int count = memberCollectionService.add(productCollection);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"删除商品收藏\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(Long productId) {\n        int count = memberCollectionService.delete(productId);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"显示当前用户商品收藏列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<MemberProductCollection>> list(@RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                                  @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize) {\n        Page<MemberProductCollection> page = memberCollectionService.list(pageNum,pageSize);\n        return CommonResult.success(CommonPage.restPage(page));\n    }\n\n    @ApiOperation(\"显示商品收藏详情\")\n    @RequestMapping(value = \"/detail\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<MemberProductCollection> detail(@RequestParam Long productId) {\n        MemberProductCollection memberProductCollection = memberCollectionService.detail(productId);\n        return CommonResult.success(memberProductCollection);\n    }\n\n    @ApiOperation(\"清空当前用户商品收藏列表\")\n    @RequestMapping(value = \"/clear\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult clear() {\n        memberCollectionService.clear();\n        return CommonResult.success(null);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/MemberReadHistoryController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.portal.domain.MemberReadHistory;\nimport com.macro.mall.portal.service.MemberReadHistoryService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 会员商品浏览记录管理Controller\n * Created by macro on 2018/8/3.\n */\n@Controller\n@Api(tags = \"MemberReadHistoryController\")\n@Tag(name = \"MemberReadHistoryController\", description = \"会员商品浏览记录管理\")\n@RequestMapping(\"/member/readHistory\")\npublic class MemberReadHistoryController {\n    @Autowired\n    private MemberReadHistoryService memberReadHistoryService;\n\n    @ApiOperation(\"创建浏览记录\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody MemberReadHistory memberReadHistory) {\n        int count = memberReadHistoryService.create(memberReadHistory);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"删除浏览记录\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<String> ids) {\n        int count = memberReadHistoryService.delete(ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(\"清空浏览记录\")\n    @RequestMapping(value = \"/clear\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult clear() {\n        memberReadHistoryService.clear();\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(\"分页获取浏览记录\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<MemberReadHistory>> list(@RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                            @RequestParam(value = \"pageSize\", defaultValue = \"5\") Integer pageSize) {\n        Page<MemberReadHistory> page = memberReadHistoryService.list(pageNum, pageSize);\n        return CommonResult.success(CommonPage.restPage(page));\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.OmsCartItem;\nimport com.macro.mall.portal.domain.CartProduct;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport com.macro.mall.portal.service.OmsCartItemService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 购物车管理Controller\n * Created by macro on 2018/8/2.\n */\n@Controller\n@Api(tags = \"OmsCartItemController\")\n@Tag(name = \"OmsCartItemController\", description = \"购物车管理\")\n@RequestMapping(\"/cart\")\npublic class OmsCartItemController {\n    @Autowired\n    private OmsCartItemService cartItemService;\n    @Autowired\n    private UmsMemberService memberService;\n\n    @ApiOperation(\"添加商品到购物车\")\n    @RequestMapping(value = \"/add\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult add(@RequestBody OmsCartItem cartItem) {\n        int count = cartItemService.add(cartItem);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取当前会员的购物车列表\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<OmsCartItem>> list() {\n        List<OmsCartItem> cartItemList = cartItemService.list(memberService.getCurrentMember().getId());\n        return CommonResult.success(cartItemList);\n    }\n\n    @ApiOperation(\"获取当前会员的购物车列表,包括促销信息\")\n    @RequestMapping(value = \"/list/promotion\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<CartPromotionItem>> listPromotion(@RequestParam(required = false) List<Long> cartIds) {\n        List<CartPromotionItem> cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId(), cartIds);\n        return CommonResult.success(cartPromotionItemList);\n    }\n\n    @ApiOperation(\"修改购物车中指定商品的数量\")\n    @RequestMapping(value = \"/update/quantity\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult updateQuantity(@RequestParam Long id,\n                                       @RequestParam Integer quantity) {\n        int count = cartItemService.updateQuantity(id, memberService.getCurrentMember().getId(), quantity);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取购物车中指定商品的规格,用于重选规格\")\n    @RequestMapping(value = \"/getProduct/{productId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CartProduct> getCartProduct(@PathVariable Long productId) {\n        CartProduct cartProduct = cartItemService.getCartProduct(productId);\n        return CommonResult.success(cartProduct);\n    }\n\n    @ApiOperation(\"修改购物车中商品的规格\")\n    @RequestMapping(value = \"/update/attr\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updateAttr(@RequestBody OmsCartItem cartItem) {\n        int count = cartItemService.updateAttr(cartItem);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"删除购物车中的指定商品\")\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@RequestParam(\"ids\") List<Long> ids) {\n        int count = cartItemService.delete(memberService.getCurrentMember().getId(), ids);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"清空当前会员的购物车\")\n    @RequestMapping(value = \"/clear\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult clear() {\n        int count = cartItemService.clear(memberService.getCurrentMember().getId());\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/OmsPortalOrderController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.portal.domain.ConfirmOrderResult;\nimport com.macro.mall.portal.domain.OmsOrderDetail;\nimport com.macro.mall.portal.domain.OrderParam;\nimport com.macro.mall.portal.service.OmsPortalOrderService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiImplicitParam;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * 订单管理Controller\n * Created by macro on 2018/8/30.\n */\n@Controller\n@Api(tags = \"OmsPortalOrderController\")\n@Tag(name = \"OmsPortalOrderController\", description = \"订单管理\")\n@RequestMapping(\"/order\")\npublic class OmsPortalOrderController {\n    @Autowired\n    private OmsPortalOrderService portalOrderService;\n\n    @ApiOperation(\"根据购物车信息生成确认单\")\n    @RequestMapping(value = \"/generateConfirmOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult<ConfirmOrderResult> generateConfirmOrder(@RequestBody List<Long> cartIds) {\n        ConfirmOrderResult confirmOrderResult = portalOrderService.generateConfirmOrder(cartIds);\n        return CommonResult.success(confirmOrderResult);\n    }\n\n    @ApiOperation(\"根据购物车信息生成订单\")\n    @RequestMapping(value = \"/generateOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult generateOrder(@RequestBody OrderParam orderParam) {\n        Map<String, Object> result = portalOrderService.generateOrder(orderParam);\n        return CommonResult.success(result, \"下单成功\");\n    }\n\n    @ApiOperation(\"用户支付成功的回调\")\n    @RequestMapping(value = \"/paySuccess\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult paySuccess(@RequestParam Long orderId,@RequestParam Integer payType) {\n        Integer count = portalOrderService.paySuccess(orderId,payType);\n        return CommonResult.success(count, \"支付成功\");\n    }\n\n    @ApiOperation(\"自动取消超时订单\")\n    @RequestMapping(value = \"/cancelTimeOutOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult cancelTimeOutOrder() {\n        portalOrderService.cancelTimeOutOrder();\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(\"取消单个超时订单\")\n    @RequestMapping(value = \"/cancelOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult cancelOrder(Long orderId) {\n        portalOrderService.sendDelayMessageCancelOrder(orderId);\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(\"按状态分页获取用户订单列表\")\n    @ApiImplicitParam(name = \"status\", value = \"订单状态：-1->全部；0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭\",\n            defaultValue = \"-1\", allowableValues = \"-1,0,1,2,3,4\", paramType = \"query\", dataType = \"int\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<OmsOrderDetail>> list(@RequestParam Integer status,\n                                                   @RequestParam(required = false, defaultValue = \"1\") Integer pageNum,\n                                                   @RequestParam(required = false, defaultValue = \"5\") Integer pageSize) {\n        CommonPage<OmsOrderDetail> orderPage = portalOrderService.list(status,pageNum,pageSize);\n        return CommonResult.success(orderPage);\n    }\n\n    @ApiOperation(\"根据ID获取订单详情\")\n    @RequestMapping(value = \"/detail/{orderId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<OmsOrderDetail> detail(@PathVariable Long orderId) {\n        OmsOrderDetail orderDetail = portalOrderService.detail(orderId);\n        return CommonResult.success(orderDetail);\n    }\n\n    @ApiOperation(\"用户取消订单\")\n    @RequestMapping(value = \"/cancelUserOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult cancelUserOrder(Long orderId) {\n        portalOrderService.cancelOrder(orderId);\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(\"用户确认收货\")\n    @RequestMapping(value = \"/confirmReceiveOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult confirmReceiveOrder(Long orderId) {\n        portalOrderService.confirmReceiveOrder(orderId);\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(\"用户删除订单\")\n    @RequestMapping(value = \"/deleteOrder\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult deleteOrder(Long orderId) {\n        portalOrderService.deleteOrder(orderId);\n        return CommonResult.success(null);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/OmsPortalOrderReturnApplyController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.portal.domain.OmsOrderReturnApplyParam;\nimport com.macro.mall.portal.service.OmsPortalOrderReturnApplyService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestBody;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\n/**\n * 退货申请管理Controller\n * Created by macro on 2018/10/17.\n */\n@Controller\n@Api(tags = \"OmsPortalOrderReturnApplyController\")\n@Tag(name = \"OmsPortalOrderReturnApplyController\",description = \"退货申请管理\")\n@RequestMapping(\"/returnApply\")\npublic class OmsPortalOrderReturnApplyController {\n    @Autowired\n    private OmsPortalOrderReturnApplyService returnApplyService;\n\n    @ApiOperation(\"申请退货\")\n    @RequestMapping(value = \"/create\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult create(@RequestBody OmsOrderReturnApplyParam returnApply) {\n        int count = returnApplyService.create(returnApply);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/PmsPortalBrandController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.portal.service.PmsPortalBrandService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 首页品牌推荐管理Controller\n * Created by macro on 2020/5/15.\n */\n@Controller\n@Api(tags = \"PmsPortalBrandController\")\n@Tag(name = \"PmsPortalBrandController\", description = \"前台品牌管理\")\n@RequestMapping(\"/brand\")\npublic class PmsPortalBrandController {\n\n    @Autowired\n    private PmsPortalBrandService portalBrandService;\n\n    @ApiOperation(\"分页获取推荐品牌\")\n    @RequestMapping(value = \"/recommendList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsBrand>> recommendList(@RequestParam(value = \"pageSize\", defaultValue = \"6\") Integer pageSize,\n                                                      @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum) {\n        List<PmsBrand> brandList = portalBrandService.recommendList(pageNum, pageSize);\n        return CommonResult.success(brandList);\n    }\n\n    @ApiOperation(\"获取品牌详情\")\n    @RequestMapping(value = \"/detail/{brandId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsBrand> detail(@PathVariable Long brandId) {\n        PmsBrand brand = portalBrandService.detail(brandId);\n        return CommonResult.success(brand);\n    }\n\n    @ApiOperation(\"分页获取品牌相关商品\")\n    @RequestMapping(value = \"/productList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsProduct>> productList(@RequestParam Long brandId,\n                                                            @RequestParam(value = \"pageNum\", defaultValue = \"1\") Integer pageNum,\n                                                            @RequestParam(value = \"pageSize\", defaultValue = \"6\") Integer pageSize) {\n        CommonPage<PmsProduct> result = portalBrandService.productList(brandId,pageNum, pageSize);\n        return CommonResult.success(result);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/PmsPortalProductController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.portal.domain.PmsPortalProductDetail;\nimport com.macro.mall.portal.domain.PmsProductCategoryNode;\nimport com.macro.mall.portal.service.PmsPortalProductService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiImplicitParam;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 前台商品管理Controller\n * Created by macro on 2020/4/6.\n */\n@Controller\n@Api(tags = \"PmsPortalProductController\")\n@Tag(name = \"PmsPortalProductController\", description = \"前台商品管理\")\n@RequestMapping(\"/product\")\npublic class PmsPortalProductController {\n\n    @Autowired\n    private PmsPortalProductService portalProductService;\n\n    @ApiOperation(value = \"综合搜索、筛选、排序\")\n    @ApiImplicitParam(name = \"sort\", value = \"排序字段:0->按相关度；1->按新品；2->按销量；3->价格从低到高；4->价格从高到低\",\n            defaultValue = \"0\", allowableValues = \"0,1,2,3,4\", paramType = \"query\", dataType = \"integer\")\n    @RequestMapping(value = \"/search\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<PmsProduct>> search(@RequestParam(required = false) String keyword,\n                                                       @RequestParam(required = false) Long brandId,\n                                                       @RequestParam(required = false) Long productCategoryId,\n                                                       @RequestParam(required = false, defaultValue = \"0\") Integer pageNum,\n                                                       @RequestParam(required = false, defaultValue = \"5\") Integer pageSize,\n                                                       @RequestParam(required = false, defaultValue = \"0\") Integer sort) {\n        List<PmsProduct> productList = portalProductService.search(keyword, brandId, productCategoryId, pageNum, pageSize, sort);\n        return CommonResult.success(CommonPage.restPage(productList));\n    }\n\n    @ApiOperation(\"以树形结构获取所有商品分类\")\n    @RequestMapping(value = \"/categoryTreeList\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<PmsProductCategoryNode>> categoryTreeList() {\n        List<PmsProductCategoryNode> list = portalProductService.categoryTreeList();\n        return CommonResult.success(list);\n    }\n\n    @ApiOperation(\"获取前台商品详情\")\n    @RequestMapping(value = \"/detail/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<PmsPortalProductDetail> detail(@PathVariable Long id) {\n        PmsPortalProductDetail productDetail = portalProductService.detail(id);\n        return CommonResult.success(productDetail);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport javax.servlet.http.HttpServletRequest;\nimport java.security.Principal;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * 会员管理Controller\n * Created by macro on 2018/8/3.\n */\n@Controller\n@Api(tags = \"UmsMemberController\")\n@Tag(name = \"UmsMemberController\", description = \"会员登录注册管理\")\n@RequestMapping(\"/sso\")\npublic class UmsMemberController {\n    @Value(\"${jwt.tokenHeader}\")\n    private String tokenHeader;\n    @Value(\"${jwt.tokenHead}\")\n    private String tokenHead;\n    @Autowired\n    private UmsMemberService memberService;\n\n    @ApiOperation(\"会员注册\")\n    @RequestMapping(value = \"/register\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult register(@RequestParam String username,\n                                 @RequestParam String password,\n                                 @RequestParam String telephone,\n                                 @RequestParam String authCode) {\n        memberService.register(username, password, telephone, authCode);\n        return CommonResult.success(null,\"注册成功\");\n    }\n\n    @ApiOperation(\"会员登录\")\n    @RequestMapping(value = \"/login\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult login(@RequestParam String username,\n                              @RequestParam String password) {\n        String token = memberService.login(username, password);\n        if (token == null) {\n            return CommonResult.validateFailed(\"用户名或密码错误\");\n        }\n        Map<String, String> tokenMap = new HashMap<>();\n        tokenMap.put(\"token\", token);\n        tokenMap.put(\"tokenHead\", tokenHead);\n        return CommonResult.success(tokenMap);\n    }\n\n    @ApiOperation(\"获取会员信息\")\n    @RequestMapping(value = \"/info\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult info(Principal principal) {\n        if(principal==null){\n            return CommonResult.unauthorized(null);\n        }\n        UmsMember member = memberService.getCurrentMember();\n        return CommonResult.success(member);\n    }\n\n    @ApiOperation(\"获取验证码\")\n    @RequestMapping(value = \"/getAuthCode\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult getAuthCode(@RequestParam String telephone) {\n        String authCode = memberService.generateAuthCode(telephone);\n        return CommonResult.success(authCode,\"获取验证码成功\");\n    }\n\n    @ApiOperation(\"会员修改密码\")\n    @RequestMapping(value = \"/updatePassword\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult updatePassword(@RequestParam String telephone,\n                                 @RequestParam String password,\n                                 @RequestParam String authCode) {\n        memberService.updatePassword(telephone,password,authCode);\n        return CommonResult.success(null,\"密码修改成功\");\n    }\n\n\n    @ApiOperation(value = \"刷新token\")\n    @RequestMapping(value = \"/refreshToken\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult refreshToken(HttpServletRequest request) {\n        String token = request.getHeader(tokenHeader);\n        String refreshToken = memberService.refreshToken(token);\n        if (refreshToken == null) {\n            return CommonResult.failed(\"token已经过期！\");\n        }\n        Map<String, String> tokenMap = new HashMap<>();\n        tokenMap.put(\"token\", refreshToken);\n        tokenMap.put(\"tokenHead\", tokenHead);\n        return CommonResult.success(tokenMap);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberCouponController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.model.SmsCouponHistory;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport com.macro.mall.portal.domain.SmsCouponHistoryDetail;\nimport com.macro.mall.portal.service.OmsCartItemService;\nimport com.macro.mall.portal.service.UmsMemberCouponService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiImplicitParam;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 会员优惠券管理Controller\n * Created by macro on 2018/8/29.\n */\n@Controller\n@Api(tags = \"UmsMemberCouponController\")\n@Tag(name = \"UmsMemberCouponController\", description = \"用户优惠券管理\")\n@RequestMapping(\"/member/coupon\")\npublic class UmsMemberCouponController {\n    @Autowired\n    private UmsMemberCouponService memberCouponService;\n    @Autowired\n    private OmsCartItemService cartItemService;\n    @Autowired\n    private UmsMemberService memberService;\n\n    @ApiOperation(\"领取指定优惠券\")\n    @RequestMapping(value = \"/add/{couponId}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult add(@PathVariable Long couponId) {\n        memberCouponService.add(couponId);\n        return CommonResult.success(null,\"领取成功\");\n    }\n\n    @ApiOperation(\"获取会员优惠券历史列表\")\n    @ApiImplicitParam(name = \"useStatus\", value = \"优惠券筛选类型:0->未使用；1->已使用；2->已过期\",\n            allowableValues = \"0,1,2\", paramType = \"query\", dataType = \"integer\")\n    @RequestMapping(value = \"/listHistory\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<SmsCouponHistory>> listHistory(@RequestParam(value = \"useStatus\", required = false) Integer useStatus) {\n        List<SmsCouponHistory> couponHistoryList = memberCouponService.listHistory(useStatus);\n        return CommonResult.success(couponHistoryList);\n    }\n\n    @ApiOperation(\"获取会员优惠券列表\")\n    @ApiImplicitParam(name = \"useStatus\", value = \"优惠券筛选类型:0->未使用；1->已使用；2->已过期\",\n            allowableValues = \"0,1,2\", paramType = \"query\", dataType = \"integer\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<SmsCoupon>> list(@RequestParam(value = \"useStatus\", required = false) Integer useStatus) {\n        List<SmsCoupon> couponList = memberCouponService.list(useStatus);\n        return CommonResult.success(couponList);\n    }\n\n    @ApiOperation(\"获取登录会员购物车的相关优惠券\")\n    @ApiImplicitParam(name = \"type\", value = \"使用可用:0->不可用；1->可用\",\n            defaultValue = \"1\", allowableValues = \"0,1\", paramType = \"path\", dataType = \"integer\")\n    @RequestMapping(value = \"/list/cart/{type}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<SmsCouponHistoryDetail>> listCart(@PathVariable Integer type) {\n        List<CartPromotionItem> cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId(), null);\n        List<SmsCouponHistoryDetail> couponHistoryList = memberCouponService.listCart(cartPromotionItemList, type);\n        return CommonResult.success(couponHistoryList);\n    }\n\n    @ApiOperation(\"获取当前商品相关优惠券\")\n    @RequestMapping(value = \"/listByProduct/{productId}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<SmsCoupon>> listByProduct(@PathVariable Long productId) {\n        List<SmsCoupon> couponHistoryList = memberCouponService.listByProduct(productId);\n        return CommonResult.success(couponHistoryList);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberReceiveAddressController.java",
    "content": "package com.macro.mall.portal.controller;\n\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.model.UmsMemberReceiveAddress;\nimport com.macro.mall.portal.service.UmsMemberReceiveAddressService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 会员收货地址管理Controller\n * Created by macro on 2018/8/28.\n */\n@Controller\n@Api(tags = \"UmsMemberReceiveAddressController\")\n@Tag(name = \"UmsMemberReceiveAddressController\", description = \"会员收货地址管理\")\n@RequestMapping(\"/member/address\")\npublic class UmsMemberReceiveAddressController {\n    @Autowired\n    private UmsMemberReceiveAddressService memberReceiveAddressService;\n\n    @ApiOperation(\"添加收货地址\")\n    @RequestMapping(value = \"/add\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult add(@RequestBody UmsMemberReceiveAddress address) {\n        int count = memberReceiveAddressService.add(address);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"删除收货地址\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult delete(@PathVariable Long id) {\n        int count = memberReceiveAddressService.delete(id);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"修改收货地址\")\n    @RequestMapping(value = \"/update/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult update(@PathVariable Long id, @RequestBody UmsMemberReceiveAddress address) {\n        int count = memberReceiveAddressService.update(id, address);\n        if (count > 0) {\n            return CommonResult.success(count);\n        }\n        return CommonResult.failed();\n    }\n\n    @ApiOperation(\"获取所有收货地址\")\n    @RequestMapping(value = \"/list\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<List<UmsMemberReceiveAddress>> list() {\n        List<UmsMemberReceiveAddress> addressList = memberReceiveAddressService.list();\n        return CommonResult.success(addressList);\n    }\n\n    @ApiOperation(\"获取收货地址详情\")\n    @RequestMapping(value = \"/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<UmsMemberReceiveAddress> getItem(@PathVariable Long id) {\n        UmsMemberReceiveAddress address = memberReceiveAddressService.getItem(id);\n        return CommonResult.success(address);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/dao/HomeDao.java",
    "content": "package com.macro.mall.portal.dao;\n\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.portal.domain.FlashPromotionProduct;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 首页内容管理自定义Dao\n * Created by macro on 2019/1/28.\n */\npublic interface HomeDao {\n\n    /**\n     * 获取推荐品牌\n     */\n    List<PmsBrand> getRecommendBrandList(@Param(\"offset\") Integer offset,@Param(\"limit\") Integer limit);\n\n    /**\n     * 获取秒杀商品\n     */\n    List<FlashPromotionProduct> getFlashProductList(@Param(\"flashPromotionId\") Long flashPromotionId, @Param(\"sessionId\") Long sessionId);\n\n    /**\n     * 获取新品推荐\n     */\n    List<PmsProduct> getNewProductList(@Param(\"offset\") Integer offset,@Param(\"limit\") Integer limit);\n    /**\n     * 获取人气推荐\n     */\n    List<PmsProduct> getHotProductList(@Param(\"offset\") Integer offset,@Param(\"limit\") Integer limit);\n\n    /**\n     * 获取推荐专题\n     */\n    List<CmsSubject> getRecommendSubjectList(@Param(\"offset\") Integer offset, @Param(\"limit\") Integer limit);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/dao/PortalOrderDao.java",
    "content": "package com.macro.mall.portal.dao;\n\nimport com.macro.mall.model.OmsOrderItem;\nimport com.macro.mall.portal.domain.OmsOrderDetail;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 前台订单管理自定义Dao\n * Created by macro on 2018/9/4.\n */\npublic interface PortalOrderDao {\n    /**\n     * 获取订单及下单商品详情\n     */\n    OmsOrderDetail getDetail(@Param(\"orderId\") Long orderId);\n\n    /**\n     * 修改 pms_sku_stock表的锁定库存及真实库存\n     */\n    int updateSkuStock(@Param(\"itemList\") List<OmsOrderItem> orderItemList);\n\n    /**\n     * 获取超时订单\n     * @param minute 超时时间（分）\n     */\n    List<OmsOrderDetail> getTimeOutOrders(@Param(\"minute\") Integer minute);\n\n    /**\n     * 批量修改订单状态\n     */\n    int updateOrderStatus(@Param(\"ids\") List<Long> ids,@Param(\"status\") Integer status);\n\n    /**\n     * 解除取消订单的库存锁定\n     */\n    int releaseSkuStockLock(@Param(\"itemList\") List<OmsOrderItem> orderItemList);\n\n    /**\n     * 根据商品的skuId来锁定库存\n     */\n    int lockStockBySkuId(@Param(\"productSkuId\")Long productSkuId,@Param(\"quantity\") Integer quantity);\n\n    /**\n     * 根据商品的skuId扣减真实库存\n     */\n    int reduceSkuStock(@Param(\"productSkuId\")Long productSkuId,@Param(\"quantity\") Integer quantity);\n\n    /**\n     * 根据商品的skuId释放库存\n     */\n    int releaseStockBySkuId(@Param(\"productSkuId\")Long productSkuId,@Param(\"quantity\") Integer quantity);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/dao/PortalOrderItemDao.java",
    "content": "package com.macro.mall.portal.dao;\n\nimport com.macro.mall.model.OmsOrderItem;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 订单商品信息管理自定义Dao\n * Created by macro on 2018/9/3.\n */\npublic interface PortalOrderItemDao {\n    /**\n     * 批量插入\n     */\n    int insertList(@Param(\"list\") List<OmsOrderItem> list);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/dao/PortalProductDao.java",
    "content": "package com.macro.mall.portal.dao;\n\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.portal.domain.CartProduct;\nimport com.macro.mall.portal.domain.PromotionProduct;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 前台购物车商品管理自定义Dao\n * Created by macro on 2018/8/2.\n */\npublic interface PortalProductDao {\n    /**\n     * 获取购物车商品信息\n     */\n    CartProduct getCartProduct(@Param(\"id\") Long id);\n\n    /**\n     * 获取促销商品信息列表\n     */\n    List<PromotionProduct> getPromotionProductList(@Param(\"ids\") List<Long> ids);\n\n    /**\n     * 获取可用优惠券列表\n     */\n    List<SmsCoupon> getAvailableCouponList(@Param(\"productId\") Long productId, @Param(\"productCategoryId\") Long productCategoryId);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/dao/SmsCouponHistoryDao.java",
    "content": "package com.macro.mall.portal.dao;\n\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.portal.domain.SmsCouponHistoryDetail;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 会员优惠券领取记录管理自定义Dao\n * Created by macro on 2018/8/29.\n */\npublic interface SmsCouponHistoryDao {\n    /**\n     * 获取优惠券历史详情\n     */\n    List<SmsCouponHistoryDetail> getDetailList(@Param(\"memberId\") Long memberId);\n\n    /**\n     * 获取指定会员优惠券列表\n     */\n    List<SmsCoupon> getCouponList(@Param(\"memberId\") Long memberId, @Param(\"useStatus\")Integer useStatus);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/AliPayParam.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport lombok.Data;\n\nimport java.math.BigDecimal;\n\n/**\n * @auther macrozheng\n * @description 支付宝支付请求参数\n * @date 2023/9/8\n * @github https://github.com/macrozheng\n */\n@Data\npublic class AliPayParam {\n    /**\n     * 商户订单号，商家自定义，保持唯一性\n     */\n    private String outTradeNo;\n    /**\n     * 商品的标题/交易标题/订单标题/订单关键字等\n     */\n    private String subject;\n    /**\n     * 订单总金额，单位为元，精确到小数点后两位\n     */\n    private BigDecimal totalAmount;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/CartProduct.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductAttribute;\nimport com.macro.mall.model.PmsSkuStock;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 购物车中带商品属性和SKU库存的商品对象\n * Created by macro on 2018/8/2.\n */\n@Getter\n@Setter\npublic class CartProduct extends PmsProduct {\n    @ApiModelProperty(\"商品属性列表\")\n    private List<PmsProductAttribute> productAttributeList;\n    @ApiModelProperty(\"商品SKU库存列表\")\n    private List<PmsSkuStock> skuStockList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/CartPromotionItem.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.OmsCartItem;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.math.BigDecimal;\n\n/**\n * 带促销信息的购物车商品封装\n * Created by macro on 2018/8/27.\n */\n@Getter\n@Setter\npublic class CartPromotionItem extends OmsCartItem{\n    @ApiModelProperty(\"促销活动信息\")\n    private String promotionMessage;\n    @ApiModelProperty(\"促销活动减去的金额，针对每个商品\")\n    private BigDecimal reduceAmount;\n    @ApiModelProperty(\"剩余库存-锁定库存\")\n    private Integer realStock;\n    @ApiModelProperty(\"购买商品赠送积分\")\n    private Integer integration;\n    @ApiModelProperty(\"购买商品赠送成长值\")\n    private Integer growth;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/ConfirmOrderResult.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.UmsIntegrationConsumeSetting;\nimport com.macro.mall.model.UmsMemberReceiveAddress;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.math.BigDecimal;\nimport java.util.List;\n\n/**\n * 确认单信息封装\n * Created by macro on 2018/8/30.\n */\n@Getter\n@Setter\npublic class ConfirmOrderResult {\n    @ApiModelProperty(\"包含优惠信息的购物车信息\")\n    private List<CartPromotionItem> cartPromotionItemList;\n    @ApiModelProperty(\"用户收货地址列表\")\n    private List<UmsMemberReceiveAddress> memberReceiveAddressList;\n    @ApiModelProperty(\"用户可用优惠券列表\")\n    private List<SmsCouponHistoryDetail> couponHistoryDetailList;\n    @ApiModelProperty(\"积分使用规则\")\n    private UmsIntegrationConsumeSetting integrationConsumeSetting;\n    @ApiModelProperty(\"会员持有的积分\")\n    private Integer memberIntegration;\n    @ApiModelProperty(\"计算的金额\")\n    private CalcAmount calcAmount;\n\n    @Getter\n    @Setter\n    public static class CalcAmount{\n        @ApiModelProperty(\"订单商品总金额\")\n        private BigDecimal totalAmount;\n        @ApiModelProperty(\"运费\")\n        private BigDecimal freightAmount;\n        @ApiModelProperty(\"活动优惠\")\n        private BigDecimal promotionAmount;\n        @ApiModelProperty(\"应付金额\")\n        private BigDecimal payAmount;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/FlashPromotionProduct.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.PmsProduct;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.math.BigDecimal;\n\n/**\n * 秒杀信息和商品对象封装\n * Created by macro on 2019/1/28.\n */\n@Getter\n@Setter\npublic class FlashPromotionProduct extends PmsProduct{\n    @ApiModelProperty(\"秒杀价格\")\n    private BigDecimal flashPromotionPrice;\n    @ApiModelProperty(\"用于秒杀的数量\")\n    private Integer flashPromotionCount;\n    @ApiModelProperty(\"秒杀限购数量\")\n    private Integer flashPromotionLimit;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/HomeContentResult.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.SmsHomeAdvertise;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 首页内容返回信息封装\n * Created by macro on 2019/1/28.\n */\n@Getter\n@Setter\npublic class HomeContentResult {\n    @ApiModelProperty(\"轮播广告\")\n    private List<SmsHomeAdvertise> advertiseList;\n    @ApiModelProperty(\"推荐品牌\")\n    private List<PmsBrand> brandList;\n    @ApiModelProperty(\"当前秒杀场次\")\n    private HomeFlashPromotion homeFlashPromotion;\n    @ApiModelProperty(\"新品推荐\")\n    private List<PmsProduct> newProductList;\n    @ApiModelProperty(\"人气推荐\")\n    private List<PmsProduct> hotProductList;\n    @ApiModelProperty(\"推荐专题\")\n    private List<CmsSubject> subjectList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/HomeFlashPromotion.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 首页秒杀场次信息封装\n * Created by macro on 2019/1/28.\n */\n@Getter\n@Setter\npublic class HomeFlashPromotion {\n    @ApiModelProperty(\"本场开始时间\")\n    private Date startTime;\n    @ApiModelProperty(\"本场结束时间\")\n    private Date endTime;\n    @ApiModelProperty(\"下场开始时间\")\n    private Date nextStartTime;\n    @ApiModelProperty(\"下场结束时间\")\n    private Date nextEndTime;\n    @ApiModelProperty(\"属于该秒杀活动的商品\")\n    private List<FlashPromotionProduct> productList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/MemberBrandAttention.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport lombok.Getter;\nimport lombok.Setter;\nimport org.springframework.data.annotation.Id;\nimport org.springframework.data.mongodb.core.index.Indexed;\nimport org.springframework.data.mongodb.core.mapping.Document;\n\nimport java.util.Date;\n\n/**\n * 会员品牌关注\n * Created by macro on 2018/8/2.\n */\n@Getter\n@Setter\n@Document\npublic class MemberBrandAttention {\n    @Id\n    private String id;\n    @Indexed\n    private Long memberId;\n    private String memberNickname;\n    private String memberIcon;\n    @Indexed\n    private Long brandId;\n    private String brandName;\n    private String brandLogo;\n    private String brandCity;\n    private Date createTime;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/MemberDetails.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.UmsMember;\nimport org.springframework.security.core.GrantedAuthority;\nimport org.springframework.security.core.authority.SimpleGrantedAuthority;\nimport org.springframework.security.core.userdetails.UserDetails;\n\nimport java.util.Arrays;\nimport java.util.Collection;\n\n/**\n * SpringSecurity需要的用户信息封装类\n * Created by macro on 2018/8/3.\n */\npublic class MemberDetails implements UserDetails {\n    private final UmsMember umsMember;\n\n    public MemberDetails(UmsMember umsMember) {\n        this.umsMember = umsMember;\n    }\n\n    @Override\n    public Collection<? extends GrantedAuthority> getAuthorities() {\n        //返回当前用户的权限\n        return Arrays.asList(new SimpleGrantedAuthority(\"TEST\"));\n    }\n\n    @Override\n    public String getPassword() {\n        return umsMember.getPassword();\n    }\n\n    @Override\n    public String getUsername() {\n        return umsMember.getUsername();\n    }\n\n    @Override\n    public boolean isAccountNonExpired() {\n        return true;\n    }\n\n    @Override\n    public boolean isAccountNonLocked() {\n        return true;\n    }\n\n    @Override\n    public boolean isCredentialsNonExpired() {\n        return true;\n    }\n\n    @Override\n    public boolean isEnabled() {\n        return umsMember.getStatus()==1;\n    }\n\n    public UmsMember getUmsMember() {\n        return umsMember;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/MemberProductCollection.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport lombok.Getter;\nimport lombok.Setter;\nimport org.springframework.data.annotation.Id;\nimport org.springframework.data.mongodb.core.index.Indexed;\nimport org.springframework.data.mongodb.core.mapping.Document;\n\nimport java.util.Date;\n\n/**\n * 会员商品收藏\n * Created by macro on 2018/8/2.\n */\n@Getter\n@Setter\n@Document\npublic class MemberProductCollection {\n    @Id\n    private String id;\n    @Indexed\n    private Long memberId;\n    private String memberNickname;\n    private String memberIcon;\n    @Indexed\n    private Long productId;\n    private String productName;\n    private String productPic;\n    private String productSubTitle;\n    private String productPrice;\n    private Date createTime;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/MemberReadHistory.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport lombok.Getter;\nimport lombok.Setter;\nimport org.springframework.data.annotation.Id;\nimport org.springframework.data.mongodb.core.index.Indexed;\nimport org.springframework.data.mongodb.core.mapping.Document;\n\nimport java.util.Date;\n\n/**\n * 会员商品浏览历史记录\n * Created by macro on 2018/8/3.\n */\n@Getter\n@Setter\n@Document\npublic class MemberReadHistory {\n    @Id\n    private String id;\n    @Indexed\n    private Long memberId;\n    private String memberNickname;\n    private String memberIcon;\n    @Indexed\n    private Long productId;\n    private String productName;\n    private String productPic;\n    private String productSubTitle;\n    private String productPrice;\n    private Date createTime;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/OmsOrderDetail.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.OmsOrder;\nimport com.macro.mall.model.OmsOrderItem;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 包含商品信息的订单详情\n * Created by macro on 2018/9/4.\n */\n@Getter\n@Setter\npublic class OmsOrderDetail extends OmsOrder {\n    @ApiModelProperty(\"订单商品列表\")\n    private List<OmsOrderItem> orderItemList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/OmsOrderReturnApplyParam.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.math.BigDecimal;\n\n/**\n * 退货申请请求参数\n * Created by macro on 2018/10/17.\n */\n@Getter\n@Setter\npublic class OmsOrderReturnApplyParam {\n    @ApiModelProperty(\"订单id\")\n    private Long orderId;\n    @ApiModelProperty(\"退货商品id\")\n    private Long productId;\n    @ApiModelProperty(\"订单编号\")\n    private String orderSn;\n    @ApiModelProperty(\"会员用户名\")\n    private String memberUsername;\n    @ApiModelProperty(\"退货人姓名\")\n    private String returnName;\n    @ApiModelProperty(\"退货人电话\")\n    private String returnPhone;\n    @ApiModelProperty(\"商品图片\")\n    private String productPic;\n    @ApiModelProperty(\"商品名称\")\n    private String productName;\n    @ApiModelProperty(\"商品品牌\")\n    private String productBrand;\n    @ApiModelProperty(\"商品销售属性：颜色：红色；尺码：xl;\")\n    private String productAttr;\n    @ApiModelProperty(\"退货数量\")\n    private Integer productCount;\n    @ApiModelProperty(\"商品单价\")\n    private BigDecimal productPrice;\n    @ApiModelProperty(\"商品实际支付单价\")\n    private BigDecimal productRealPrice;\n    @ApiModelProperty(\"原因\")\n    private String reason;\n    @ApiModelProperty(\"描述\")\n    private String description;\n    @ApiModelProperty(\"凭证图片，以逗号隔开\")\n    private String proofPics;\n\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/OrderParam.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport java.util.List;\n\n/**\n * 生成订单时传入的参数\n * Created by macro on 2018/8/30.\n */\n@Data\n@EqualsAndHashCode\npublic class OrderParam {\n    @ApiModelProperty(\"收货地址ID\")\n    private Long memberReceiveAddressId;\n    @ApiModelProperty(\"优惠券ID\")\n    private Long couponId;\n    @ApiModelProperty(\"使用的积分数\")\n    private Integer useIntegration;\n    @ApiModelProperty(\"支付方式\")\n    private Integer payType;\n    @ApiModelProperty(\"被选中的购物车商品ID\")\n    private List<Long> cartIds;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/PmsPortalProductDetail.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.*;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 前台商品详情\n * Created by macro on 2020/4/6.\n */\n@Getter\n@Setter\npublic class PmsPortalProductDetail{\n    @ApiModelProperty(\"商品信息\")\n    private PmsProduct product;\n    @ApiModelProperty(\"商品品牌\")\n    private PmsBrand brand;\n    @ApiModelProperty(\"商品属性与参数\")\n    private List<PmsProductAttribute> productAttributeList;\n    @ApiModelProperty(\"手动录入的商品属性与参数值\")\n    private List<PmsProductAttributeValue> productAttributeValueList;\n    @ApiModelProperty(\"商品的sku库存信息\")\n    private List<PmsSkuStock> skuStockList;\n    @ApiModelProperty(\"商品阶梯价格设置\")\n    private List<PmsProductLadder> productLadderList;\n    @ApiModelProperty(\"商品满减价格设置\")\n    private List<PmsProductFullReduction> productFullReductionList;\n    @ApiModelProperty(\"商品可用优惠券\")\n    private List<SmsCoupon> couponList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/PmsProductCategoryNode.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.PmsProductCategory;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 包含子分类的商品分类\n * Created by macro on 2020/4/6.\n */\n@Getter\n@Setter\npublic class PmsProductCategoryNode extends PmsProductCategory {\n    @ApiModelProperty(\"子分类集合\")\n    private List<PmsProductCategoryNode> children;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/PromotionProduct.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductFullReduction;\nimport com.macro.mall.model.PmsProductLadder;\nimport com.macro.mall.model.PmsSkuStock;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 促销商品信息，包括sku、打折优惠、满减优惠\n * Created by macro on 2018/8/27.\n */\n@Getter\n@Setter\npublic class PromotionProduct extends PmsProduct {\n    //商品库存信息\n    private List<PmsSkuStock> skuStockList;\n    //商品打折信息\n    private List<PmsProductLadder> productLadderList;\n    //商品满减信息\n    private List<PmsProductFullReduction> productFullReductionList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/QueueEnum.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport lombok.Getter;\n\n/**\n * 消息队列枚举类\n * Created by macro on 2018/9/14.\n */\n@Getter\npublic enum QueueEnum {\n    /**\n     * 消息通知队列\n     */\n    QUEUE_ORDER_CANCEL(\"mall.order.direct\", \"mall.order.cancel\", \"mall.order.cancel\"),\n    /**\n     * 消息通知ttl队列\n     */\n    QUEUE_TTL_ORDER_CANCEL(\"mall.order.direct.ttl\", \"mall.order.cancel.ttl\", \"mall.order.cancel.ttl\");\n\n    /**\n     * 交换名称\n     */\n    private final String exchange;\n    /**\n     * 队列名称\n     */\n    private final String name;\n    /**\n     * 路由键\n     */\n    private final String routeKey;\n\n    QueueEnum(String exchange, String name, String routeKey) {\n        this.exchange = exchange;\n        this.name = name;\n        this.routeKey = routeKey;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/domain/SmsCouponHistoryDetail.java",
    "content": "package com.macro.mall.portal.domain;\n\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.model.SmsCouponHistory;\nimport com.macro.mall.model.SmsCouponProductCategoryRelation;\nimport com.macro.mall.model.SmsCouponProductRelation;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport java.util.List;\n\n/**\n * 优惠券领取历史详情（包括优惠券信息和关联关系）\n * Created by macro on 2018/8/29.\n */\n@Getter\n@Setter\npublic class SmsCouponHistoryDetail extends SmsCouponHistory {\n    @ApiModelProperty(\"相关优惠券信息\")\n    private SmsCoupon coupon;\n    @ApiModelProperty(\"优惠券关联商品\")\n    private List<SmsCouponProductRelation> productRelationList;\n    @ApiModelProperty(\"优惠券关联商品分类\")\n    private List<SmsCouponProductCategoryRelation> categoryRelationList;\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/repository/MemberBrandAttentionRepository.java",
    "content": "package com.macro.mall.portal.repository;\n\nimport com.macro.mall.portal.domain.MemberBrandAttention;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.data.mongodb.repository.MongoRepository;\n\n/**\n * 会员品牌关注Repository\n * Created by macro on 2018/8/2.\n */\npublic interface MemberBrandAttentionRepository extends MongoRepository<MemberBrandAttention, String> {\n    /**\n     * 根据会员ID和品牌ID查找记录\n     */\n    MemberBrandAttention findByMemberIdAndBrandId(Long memberId, Long brandId);\n\n    /**\n     * 根据会员ID和品牌ID删除记录\n     */\n    int deleteByMemberIdAndBrandId(Long memberId, Long brandId);\n\n    /**\n     * 根据会员ID分页查找记录\n     */\n    Page<MemberBrandAttention> findByMemberId(Long memberId, Pageable pageable);\n\n    /**\n     * 根据会员ID删除记录\n     */\n    void deleteAllByMemberId(Long memberId);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/repository/MemberProductCollectionRepository.java",
    "content": "package com.macro.mall.portal.repository;\n\nimport com.macro.mall.portal.domain.MemberProductCollection;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.data.mongodb.repository.MongoRepository;\n\n/**\n * 会员商品收藏Repository\n * Created by macro on 2018/8/2.\n */\npublic interface MemberProductCollectionRepository extends MongoRepository<MemberProductCollection, String> {\n    /**\n     * 根据会员ID和商品ID查找记录\n     */\n    MemberProductCollection findByMemberIdAndProductId(Long memberId, Long productId);\n\n    /**\n     * 根据会员ID和商品ID删除记录\n     */\n    int deleteByMemberIdAndProductId(Long memberId, Long productId);\n\n    /**\n     * 根据会员ID分页查询记录\n     */\n    Page<MemberProductCollection> findByMemberId(Long memberId, Pageable pageable);\n\n    /**\n     * 根据会员ID删除记录\n     */\n    void deleteAllByMemberId(Long memberId);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/repository/MemberReadHistoryRepository.java",
    "content": "package com.macro.mall.portal.repository;\n\nimport com.macro.mall.portal.domain.MemberReadHistory;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.data.mongodb.repository.MongoRepository;\n\n/**\n * 会员商品浏览历史Repository\n * Created by macro on 2018/8/3.\n */\npublic interface MemberReadHistoryRepository extends MongoRepository<MemberReadHistory, String> {\n    /**\n     * 根据会员ID分页查找记录\n     */\n    Page<MemberReadHistory> findByMemberIdOrderByCreateTimeDesc(Long memberId, Pageable pageable);\n\n    /**\n     * 根据会员ID删除记录\n     */\n    void deleteAllByMemberId(Long memberId);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/AlipayService.java",
    "content": "package com.macro.mall.portal.service;\n\n\nimport com.macro.mall.portal.domain.AliPayParam;\n\nimport java.util.Map;\n\n/**\n * @auther macrozheng\n * @description 支付宝支付Service\n * @date 2023/9/8\n * @github https://github.com/macrozheng\n */\npublic interface AlipayService {\n    /**\n     * 根据提交参数生成电脑支付页面\n     */\n    String pay(AliPayParam aliPayParam);\n\n    /**\n     * 支付宝异步回调处理\n     */\n    String notify(Map<String, String> params);\n\n    /**\n     * 查询支付宝交易状态\n     * @param outTradeNo 商户订单编号\n     * @param tradeNo 支付宝交易编号\n     * @return 支付宝交易状态\n     */\n    String query(String outTradeNo, String tradeNo);\n\n    /**\n     * 根据提交参数生成手机支付页面\n     */\n    String webPay(AliPayParam aliPayParam);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/HomeService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.CmsSubject;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductCategory;\nimport com.macro.mall.portal.domain.HomeContentResult;\n\nimport java.util.List;\n\n/**\n * 首页内容管理Service\n * Created by macro on 2019/1/28.\n */\npublic interface HomeService {\n\n    /**\n     * 获取首页内容\n     */\n    HomeContentResult content();\n\n    /**\n     * 首页商品推荐\n     */\n    List<PmsProduct> recommendProductList(Integer pageSize, Integer pageNum);\n\n    /**\n     * 获取商品分类\n     * @param parentId 0:获取一级分类；其他：获取指定二级分类\n     */\n    List<PmsProductCategory> getProductCateList(Long parentId);\n\n    /**\n     * 根据专题分类id分页获取专题\n     * @param cateId 专题分类id\n     */\n    List<CmsSubject> getSubjectList(Long cateId, Integer pageSize, Integer pageNum);\n\n    /**\n     * 分页获取人气推荐商品\n     */\n    List<PmsProduct> hotProductList(Integer pageNum, Integer pageSize);\n\n    /**\n     * 分页获取新品推荐商品\n     */\n    List<PmsProduct> newProductList(Integer pageNum, Integer pageSize);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/MemberAttentionService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.portal.domain.MemberBrandAttention;\nimport org.springframework.data.domain.Page;\n\n/**\n * 会员品牌关注管理Service\n * Created by macro on 2018/8/2.\n */\npublic interface MemberAttentionService {\n    /**\n     * 添加关注\n     */\n    int add(MemberBrandAttention memberBrandAttention);\n\n    /**\n     * 取消关注\n     */\n    int delete(Long brandId);\n\n    /**\n     * 分页获取会员关注列表\n     */\n    Page<MemberBrandAttention> list(Integer pageNum, Integer pageSize);\n\n    /**\n     * 获取会员关注详情\n     */\n    MemberBrandAttention detail(Long brandId);\n\n    /**\n     * 清空关注列表\n     */\n    void clear();\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/MemberCollectionService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.portal.domain.MemberProductCollection;\nimport org.springframework.data.domain.Page;\n\n/**\n * 会员商品收藏管理Service\n * Created by macro on 2018/8/2.\n */\npublic interface MemberCollectionService {\n    /**\n     * 添加收藏\n     */\n    int add(MemberProductCollection productCollection);\n\n    /**\n     * 删除收藏\n     */\n    int delete(Long productId);\n\n    /**\n     * 分页查询收藏\n     */\n    Page<MemberProductCollection> list(Integer pageNum, Integer pageSize);\n\n    /**\n     * 查看收藏详情\n     */\n    MemberProductCollection detail(Long productId);\n\n    /**\n     * 清空收藏\n     */\n    void clear();\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/MemberReadHistoryService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.portal.domain.MemberReadHistory;\nimport org.springframework.data.domain.Page;\n\nimport java.util.List;\n\n/**\n * 会员浏览记录管理Service\n * Created by macro on 2018/8/3.\n */\npublic interface MemberReadHistoryService {\n    /**\n     * 生成浏览记录\n     */\n    int create(MemberReadHistory memberReadHistory);\n\n    /**\n     * 批量删除浏览记录\n     */\n    int delete(List<String> ids);\n\n    /**\n     * 分页获取用户浏览历史记录\n     */\n    Page<MemberReadHistory> list(Integer pageNum, Integer pageSize);\n\n    /**\n     * 清空浏览记录\n     */\n    void clear();\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.OmsCartItem;\nimport com.macro.mall.portal.domain.CartProduct;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 购物车管理Service\n * Created by macro on 2018/8/2.\n */\npublic interface OmsCartItemService {\n    /**\n     * 查询购物车中是否包含该商品，有增加数量，无添加到购物车\n     */\n    @Transactional\n    int add(OmsCartItem cartItem);\n\n    /**\n     * 根据会员编号获取购物车列表\n     */\n    List<OmsCartItem> list(Long memberId);\n\n    /**\n     * 获取包含促销活动信息的购物车列表\n     */\n    List<CartPromotionItem> listPromotion(Long memberId, List<Long> cartIds);\n\n    /**\n     * 修改某个购物车商品的数量\n     */\n    int updateQuantity(Long id, Long memberId, Integer quantity);\n\n    /**\n     * 批量删除购物车中的商品\n     */\n    int delete(Long memberId,List<Long> ids);\n\n    /**\n     *获取购物车中用于选择商品规格的商品信息\n     */\n    CartProduct getCartProduct(Long productId);\n\n    /**\n     * 修改购物车中商品的规格\n     */\n    @Transactional\n    int updateAttr(OmsCartItem cartItem);\n\n    /**\n     * 清空购物车\n     */\n    int clear(Long memberId);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/OmsPortalOrderReturnApplyService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.portal.domain.OmsOrderReturnApplyParam;\n\n/**\n * 前台订单退货管理Service\n * Created by macro on 2018/10/17.\n */\npublic interface OmsPortalOrderReturnApplyService {\n    /**\n     * 提交申请\n     */\n    int create(OmsOrderReturnApplyParam returnApply);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/OmsPortalOrderService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.portal.domain.ConfirmOrderResult;\nimport com.macro.mall.portal.domain.OmsOrderDetail;\nimport com.macro.mall.portal.domain.OrderParam;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * 前台订单管理Service\n * Created by macro on 2018/8/30.\n */\npublic interface OmsPortalOrderService {\n    /**\n     * 根据用户购物车信息生成确认单信息\n     */\n    ConfirmOrderResult generateConfirmOrder(List<Long> cartIds);\n\n    /**\n     * 根据提交信息生成订单\n     */\n    @Transactional\n    Map<String, Object> generateOrder(OrderParam orderParam);\n\n    /**\n     * 支付成功后的回调\n     */\n    @Transactional\n    Integer paySuccess(Long orderId, Integer payType);\n\n    /**\n     * 自动取消超时订单\n     */\n    @Transactional\n    Integer cancelTimeOutOrder();\n\n    /**\n     * 取消单个超时订单\n     */\n    @Transactional\n    void cancelOrder(Long orderId);\n\n    /**\n     * 发送延迟消息取消订单\n     */\n    void sendDelayMessageCancelOrder(Long orderId);\n\n    /**\n     * 确认收货\n     */\n    void confirmReceiveOrder(Long orderId);\n\n    /**\n     * 分页获取用户订单\n     */\n    CommonPage<OmsOrderDetail> list(Integer status, Integer pageNum, Integer pageSize);\n\n    /**\n     * 根据订单ID获取订单详情\n     */\n    OmsOrderDetail detail(Long orderId);\n\n    /**\n     * 用户根据订单ID删除订单\n     */\n    void deleteOrder(Long orderId);\n\n    /**\n     * 根据orderSn来实现的支付成功逻辑\n     */\n    @Transactional\n    void paySuccessByOrderSn(String orderSn, Integer payType);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/OmsPromotionService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.OmsCartItem;\nimport com.macro.mall.portal.domain.CartPromotionItem;\n\nimport java.util.List;\n\n/**\n * 促销管理Service\n * Created by macro on 2018/8/27.\n */\npublic interface OmsPromotionService {\n    /**\n     * 计算购物车中的促销活动信息\n     * @param cartItemList 购物车\n     */\n    List<CartPromotionItem> calcCartPromotion(List<OmsCartItem> cartItemList);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/PmsPortalBrandService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsProduct;\n\nimport java.util.List;\n\n/**\n * 前台品牌管理Service\n * Created by macro on 2020/5/15.\n */\npublic interface PmsPortalBrandService {\n    /**\n     * 分页获取推荐品牌\n     */\n    List<PmsBrand> recommendList(Integer pageNum, Integer pageSize);\n\n    /**\n     * 获取品牌详情\n     */\n    PmsBrand detail(Long brandId);\n\n    /**\n     * 分页获取品牌关联商品\n     */\n    CommonPage<PmsProduct> productList(Long brandId, Integer pageNum, Integer pageSize);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/PmsPortalProductService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.portal.domain.PmsPortalProductDetail;\nimport com.macro.mall.portal.domain.PmsProductCategoryNode;\n\nimport java.util.List;\n\n/**\n * 前台商品管理Service\n * Created by macro on 2020/4/6.\n */\npublic interface PmsPortalProductService {\n    /**\n     * 综合搜索商品\n     */\n    List<PmsProduct> search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize, Integer sort);\n\n    /**\n     * 以树形结构获取所有商品分类\n     */\n    List<PmsProductCategoryNode> categoryTreeList();\n\n    /**\n     * 获取前台商品详情\n     */\n    PmsPortalProductDetail detail(Long id);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberCacheService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.UmsMember;\n\n/**\n * 会员信息缓存业务类\n * Created by macro on 2020/3/14.\n */\npublic interface UmsMemberCacheService {\n    /**\n     * 删除会员用户缓存\n     */\n    void delMember(Long memberId);\n\n    /**\n     * 获取会员用户缓存\n     */\n    UmsMember getMember(String username);\n\n    /**\n     * 设置会员用户缓存\n     */\n    void setMember(UmsMember member);\n\n    /**\n     * 设置验证码\n     */\n    void setAuthCode(String telephone, String authCode);\n\n    /**\n     * 获取验证码\n     */\n    String getAuthCode(String telephone);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberCouponService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.SmsCoupon;\nimport com.macro.mall.model.SmsCouponHistory;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport com.macro.mall.portal.domain.SmsCouponHistoryDetail;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 用户优惠券管理Service\n * Created by macro on 2018/8/29.\n */\npublic interface UmsMemberCouponService {\n    /**\n     * 会员添加优惠券\n     */\n    @Transactional\n    void add(Long couponId);\n\n    /**\n     * 获取优惠券历史列表\n     */\n    List<SmsCouponHistory> listHistory(Integer useStatus);\n\n    /**\n     * 根据购物车信息获取可用优惠券\n     */\n    List<SmsCouponHistoryDetail> listCart(List<CartPromotionItem> cartItemList, Integer type);\n\n    /**\n     * 获取当前商品相关优惠券\n     */\n    List<SmsCoupon> listByProduct(Long productId);\n\n    /**\n     * 获取用户优惠券列表\n     */\n    List<SmsCoupon> list(Integer useStatus);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberReceiveAddressService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.UmsMemberReceiveAddress;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.util.List;\n\n/**\n * 用户地址管理Service\n * Created by macro on 2018/8/28.\n */\npublic interface UmsMemberReceiveAddressService {\n    /**\n     * 添加收货地址\n     */\n    int add(UmsMemberReceiveAddress address);\n\n    /**\n     * 删除收货地址\n     * @param id 地址表的id\n     */\n    int delete(Long id);\n\n    /**\n     * 修改收货地址\n     * @param id 地址表的id\n     * @param address 修改的收货地址信息\n     */\n    @Transactional\n    int update(Long id, UmsMemberReceiveAddress address);\n\n    /**\n     * 返回当前用户的收货地址\n     */\n    List<UmsMemberReceiveAddress> list();\n\n    /**\n     * 获取地址详情\n     * @param id 地址id\n     */\n    UmsMemberReceiveAddress getItem(Long id);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberService.java",
    "content": "package com.macro.mall.portal.service;\n\nimport com.macro.mall.model.UmsMember;\nimport org.springframework.security.core.userdetails.UserDetails;\nimport org.springframework.transaction.annotation.Transactional;\n\n/**\n * 会员管理Service\n * Created by macro on 2018/8/3.\n */\npublic interface UmsMemberService {\n    /**\n     * 根据用户名获取会员\n     */\n    UmsMember getByUsername(String username);\n\n    /**\n     * 根据会员编号获取会员\n     */\n    UmsMember getById(Long id);\n\n    /**\n     * 用户注册\n     */\n    @Transactional\n    void register(String username, String password, String telephone, String authCode);\n\n    /**\n     * 生成验证码\n     */\n    String generateAuthCode(String telephone);\n\n    /**\n     * 修改密码\n     */\n    @Transactional\n    void updatePassword(String telephone, String password, String authCode);\n\n    /**\n     * 获取当前登录会员\n     */\n    UmsMember getCurrentMember();\n\n    /**\n     * 根据会员id修改会员积分\n     */\n    void updateIntegration(Long id,Integer integration);\n\n\n    /**\n     * 获取用户信息\n     */\n    UserDetails loadUserByUsername(String username);\n\n    /**\n     * 登录后获取token\n     */\n    String login(String username, String password);\n\n    /**\n     * 刷新token\n     */\n    String refreshToken(String token);\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/AlipayServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.alibaba.fastjson.JSONObject;\nimport com.alipay.api.AlipayApiException;\nimport com.alipay.api.AlipayClient;\nimport com.alipay.api.internal.util.AlipaySignature;\nimport com.alipay.api.request.AlipayTradePagePayRequest;\nimport com.alipay.api.request.AlipayTradeQueryRequest;\nimport com.alipay.api.request.AlipayTradeWapPayRequest;\nimport com.alipay.api.response.AlipayTradeQueryResponse;\nimport com.macro.mall.mapper.OmsOrderMapper;\nimport com.macro.mall.portal.config.AlipayConfig;\nimport com.macro.mall.portal.domain.AliPayParam;\nimport com.macro.mall.portal.service.AlipayService;\nimport com.macro.mall.portal.service.OmsPortalOrderService;\nimport lombok.extern.slf4j.Slf4j;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Map;\n\n/**\n * @auther macrozheng\n * @description 支付宝支付Service实现类\n * @date 2023/9/8\n * @github https://github.com/macrozheng\n */\n@Slf4j\n@Service\npublic class AlipayServiceImpl implements AlipayService {\n    @Autowired\n    private AlipayConfig alipayConfig;\n    @Autowired\n    private AlipayClient alipayClient;\n    @Autowired\n    private OmsOrderMapper orderMapper;\n    @Autowired\n    private OmsPortalOrderService portalOrderService;\n    @Override\n    public String pay(AliPayParam aliPayParam) {\n        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();\n        if(StrUtil.isNotEmpty(alipayConfig.getNotifyUrl())){\n            //异步接收地址，公网可访问\n            request.setNotifyUrl(alipayConfig.getNotifyUrl());\n        }\n        if(StrUtil.isNotEmpty(alipayConfig.getReturnUrl())){\n            //同步跳转地址\n            request.setReturnUrl(alipayConfig.getReturnUrl());\n        }\n        //******必传参数******\n        JSONObject bizContent = new JSONObject();\n        //商户订单号，商家自定义，保持唯一性\n        bizContent.put(\"out_trade_no\", aliPayParam.getOutTradeNo());\n        //支付金额，最小值0.01元\n        bizContent.put(\"total_amount\", aliPayParam.getTotalAmount());\n        //订单标题，不可使用特殊符号\n        bizContent.put(\"subject\", aliPayParam.getSubject());\n        //电脑网站支付场景固定传值FAST_INSTANT_TRADE_PAY\n        bizContent.put(\"product_code\", \"FAST_INSTANT_TRADE_PAY\");\n        request.setBizContent(bizContent.toString());\n        String formHtml = null;\n        try {\n            formHtml = alipayClient.pageExecute(request).getBody();\n        } catch (AlipayApiException e) {\n            e.printStackTrace();\n        }\n        return formHtml;\n    }\n\n    @Override\n    public String notify(Map<String, String> params) {\n        String result = \"failure\";\n        boolean signVerified = false;\n        try {\n            //调用SDK验证签名\n            signVerified = AlipaySignature.rsaCheckV1(params, alipayConfig.getAlipayPublicKey(), alipayConfig.getCharset(), alipayConfig.getSignType());\n        } catch (AlipayApiException e) {\n            log.error(\"支付回调签名校验异常！\",e);\n            e.printStackTrace();\n        }\n        if (signVerified) {\n            String tradeStatus = params.get(\"trade_status\");\n            if(\"TRADE_SUCCESS\".equals(tradeStatus)){\n                result = \"success\";\n                log.info(\"notify方法被调用了，tradeStatus:{}\",tradeStatus);\n                String outTradeNo = params.get(\"out_trade_no\");\n                portalOrderService.paySuccessByOrderSn(outTradeNo,1);\n            }else{\n                log.warn(\"订单未支付成功，trade_status:{}\",tradeStatus);\n            }\n        } else {\n            log.warn(\"支付回调签名校验失败！\");\n        }\n        return result;\n    }\n\n    @Override\n    public String query(String outTradeNo, String tradeNo) {\n        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();\n        //******必传参数******\n        JSONObject bizContent = new JSONObject();\n        //设置查询参数，out_trade_no和trade_no至少传一个\n        if(StrUtil.isNotEmpty(outTradeNo)){\n            bizContent.put(\"out_trade_no\",outTradeNo);\n        }\n        if(StrUtil.isNotEmpty(tradeNo)){\n            bizContent.put(\"trade_no\",tradeNo);\n        }\n        //交易结算信息: trade_settle_info\n        String[] queryOptions = {\"trade_settle_info\"};\n        bizContent.put(\"query_options\", queryOptions);\n        request.setBizContent(bizContent.toString());\n        AlipayTradeQueryResponse response = null;\n        try {\n            response = alipayClient.execute(request);\n        } catch (AlipayApiException e) {\n            log.error(\"查询支付宝账单异常！\",e);\n        }\n        if(response.isSuccess()){\n            log.info(\"查询支付宝账单成功！\");\n            if(\"TRADE_SUCCESS\".equals(response.getTradeStatus())){\n                portalOrderService.paySuccessByOrderSn(outTradeNo,1);\n            }\n        } else {\n            log.error(\"查询支付宝账单失败！\");\n        }\n        //交易状态：WAIT_BUYER_PAY（交易创建，等待买家付款）、TRADE_CLOSED（未付款交易超时关闭，或支付完成后全额退款）、TRADE_SUCCESS（交易支付成功）、TRADE_FINISHED（交易结束，不可退款）\n        return response.getTradeStatus();\n    }\n\n    @Override\n    public String webPay(AliPayParam aliPayParam) {\n        AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest ();\n        if(StrUtil.isNotEmpty(alipayConfig.getNotifyUrl())){\n            //异步接收地址，公网可访问\n            request.setNotifyUrl(alipayConfig.getNotifyUrl());\n        }\n        if(StrUtil.isNotEmpty(alipayConfig.getReturnUrl())){\n            //同步跳转地址\n            request.setReturnUrl(alipayConfig.getReturnUrl());\n        }\n        //******必传参数******\n        JSONObject bizContent = new JSONObject();\n        //商户订单号，商家自定义，保持唯一性\n        bizContent.put(\"out_trade_no\", aliPayParam.getOutTradeNo());\n        //支付金额，最小值0.01元\n        bizContent.put(\"total_amount\", aliPayParam.getTotalAmount());\n        //订单标题，不可使用特殊符号\n        bizContent.put(\"subject\", aliPayParam.getSubject());\n        //手机网站支付默认传值FAST_INSTANT_TRADE_PAY\n        bizContent.put(\"product_code\", \"QUICK_WAP_WAY\");\n        request.setBizContent(bizContent.toString());\n        String formHtml = null;\n        try {\n            formHtml = alipayClient.pageExecute(request).getBody();\n        } catch (AlipayApiException e) {\n            e.printStackTrace();\n        }\n        return formHtml;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/HomeServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.*;\nimport com.macro.mall.model.*;\nimport com.macro.mall.portal.dao.HomeDao;\nimport com.macro.mall.portal.domain.FlashPromotionProduct;\nimport com.macro.mall.portal.domain.HomeContentResult;\nimport com.macro.mall.portal.domain.HomeFlashPromotion;\nimport com.macro.mall.portal.service.HomeService;\nimport com.macro.mall.portal.util.DateUtil;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 首页内容管理Service实现类\n * Created by macro on 2019/1/28.\n */\n@Service\npublic class HomeServiceImpl implements HomeService {\n    @Autowired\n    private SmsHomeAdvertiseMapper advertiseMapper;\n    @Autowired\n    private HomeDao homeDao;\n    @Autowired\n    private SmsFlashPromotionMapper flashPromotionMapper;\n    @Autowired\n    private SmsFlashPromotionSessionMapper promotionSessionMapper;\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Autowired\n    private PmsProductCategoryMapper productCategoryMapper;\n    @Autowired\n    private CmsSubjectMapper subjectMapper;\n\n    @Override\n    public HomeContentResult content() {\n        HomeContentResult result = new HomeContentResult();\n        //获取首页广告\n        result.setAdvertiseList(getHomeAdvertiseList());\n        //获取推荐品牌\n        result.setBrandList(homeDao.getRecommendBrandList(0,6));\n        //获取秒杀信息\n        result.setHomeFlashPromotion(getHomeFlashPromotion());\n        //获取新品推荐\n        result.setNewProductList(homeDao.getNewProductList(0,4));\n        //获取人气推荐\n        result.setHotProductList(homeDao.getHotProductList(0,4));\n        //获取推荐专题\n        result.setSubjectList(homeDao.getRecommendSubjectList(0,4));\n        return result;\n    }\n\n    @Override\n    public List<PmsProduct> recommendProductList(Integer pageSize, Integer pageNum) {\n        // TODO: 2019/1/29 暂时默认推荐所有商品\n        PageHelper.startPage(pageNum,pageSize);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria()\n                .andDeleteStatusEqualTo(0)\n                .andPublishStatusEqualTo(1);\n        return productMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<PmsProductCategory> getProductCateList(Long parentId) {\n        PmsProductCategoryExample example = new PmsProductCategoryExample();\n        example.createCriteria()\n                .andShowStatusEqualTo(1)\n                .andParentIdEqualTo(parentId);\n        example.setOrderByClause(\"sort desc\");\n        return productCategoryMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<CmsSubject> getSubjectList(Long cateId, Integer pageSize, Integer pageNum) {\n        PageHelper.startPage(pageNum,pageSize);\n        CmsSubjectExample example = new CmsSubjectExample();\n        CmsSubjectExample.Criteria criteria = example.createCriteria();\n        criteria.andShowStatusEqualTo(1);\n        if(cateId!=null){\n            criteria.andCategoryIdEqualTo(cateId);\n        }\n        return subjectMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<PmsProduct> hotProductList(Integer pageNum, Integer pageSize) {\n        int offset = pageSize * (pageNum - 1);\n        return homeDao.getHotProductList(offset, pageSize);\n    }\n\n    @Override\n    public List<PmsProduct> newProductList(Integer pageNum, Integer pageSize) {\n        int offset = pageSize * (pageNum - 1);\n        return homeDao.getNewProductList(offset, pageSize);\n    }\n\n    private HomeFlashPromotion getHomeFlashPromotion() {\n        HomeFlashPromotion homeFlashPromotion = new HomeFlashPromotion();\n        //获取当前秒杀活动\n        Date now = new Date();\n        SmsFlashPromotion flashPromotion = getFlashPromotion(now);\n        if (flashPromotion != null) {\n            //获取当前秒杀场次\n            SmsFlashPromotionSession flashPromotionSession = getFlashPromotionSession(now);\n            if (flashPromotionSession != null) {\n                homeFlashPromotion.setStartTime(flashPromotionSession.getStartTime());\n                homeFlashPromotion.setEndTime(flashPromotionSession.getEndTime());\n                //获取下一个秒杀场次\n                SmsFlashPromotionSession nextSession = getNextFlashPromotionSession(homeFlashPromotion.getStartTime());\n                if(nextSession!=null){\n                    homeFlashPromotion.setNextStartTime(nextSession.getStartTime());\n                    homeFlashPromotion.setNextEndTime(nextSession.getEndTime());\n                }\n                //获取秒杀商品\n                List<FlashPromotionProduct> flashProductList = homeDao.getFlashProductList(flashPromotion.getId(), flashPromotionSession.getId());\n                homeFlashPromotion.setProductList(flashProductList);\n            }\n        }\n        return homeFlashPromotion;\n    }\n\n    //获取下一个场次信息\n    private SmsFlashPromotionSession getNextFlashPromotionSession(Date date) {\n        SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample();\n        sessionExample.createCriteria()\n                .andStartTimeGreaterThan(date);\n        sessionExample.setOrderByClause(\"start_time asc\");\n        List<SmsFlashPromotionSession> promotionSessionList = promotionSessionMapper.selectByExample(sessionExample);\n        if (!CollectionUtils.isEmpty(promotionSessionList)) {\n            return promotionSessionList.get(0);\n        }\n        return null;\n    }\n\n    private List<SmsHomeAdvertise> getHomeAdvertiseList() {\n        SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample();\n        example.createCriteria().andTypeEqualTo(1).andStatusEqualTo(1);\n        example.setOrderByClause(\"sort desc\");\n        return advertiseMapper.selectByExample(example);\n    }\n\n    //根据时间获取秒杀活动\n    private SmsFlashPromotion getFlashPromotion(Date date) {\n        Date currDate = DateUtil.getDate(date);\n        SmsFlashPromotionExample example = new SmsFlashPromotionExample();\n        example.createCriteria()\n                .andStatusEqualTo(1)\n                .andStartDateLessThanOrEqualTo(currDate)\n                .andEndDateGreaterThanOrEqualTo(currDate);\n        List<SmsFlashPromotion> flashPromotionList = flashPromotionMapper.selectByExample(example);\n        if (!CollectionUtils.isEmpty(flashPromotionList)) {\n            return flashPromotionList.get(0);\n        }\n        return null;\n    }\n\n    //根据时间获取秒杀场次\n    private SmsFlashPromotionSession getFlashPromotionSession(Date date) {\n        Date currTime = DateUtil.getTime(date);\n        SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample();\n        sessionExample.createCriteria()\n                .andStartTimeLessThanOrEqualTo(currTime)\n                .andEndTimeGreaterThanOrEqualTo(currTime);\n        List<SmsFlashPromotionSession> promotionSessionList = promotionSessionMapper.selectByExample(sessionExample);\n        if (!CollectionUtils.isEmpty(promotionSessionList)) {\n            return promotionSessionList.get(0);\n        }\n        return null;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberAttentionServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.mapper.PmsBrandMapper;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.portal.domain.MemberBrandAttention;\nimport com.macro.mall.portal.repository.MemberBrandAttentionRepository;\nimport com.macro.mall.portal.service.MemberAttentionService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\n\n/**\n * 会员关注Service实现类\n * Created by macro on 2018/8/2.\n */\n@Service\npublic class MemberAttentionServiceImpl implements MemberAttentionService {\n    @Value(\"${mongo.insert.sqlEnable}\")\n    private Boolean sqlEnable;\n    @Autowired\n    private PmsBrandMapper brandMapper;\n    @Autowired\n    private MemberBrandAttentionRepository memberBrandAttentionRepository;\n    @Autowired\n    private UmsMemberService memberService;\n\n    @Override\n    public int add(MemberBrandAttention memberBrandAttention) {\n        int count = 0;\n        if(memberBrandAttention.getBrandId()==null){\n            return 0;\n        }\n        UmsMember member = memberService.getCurrentMember();\n        memberBrandAttention.setMemberId(member.getId());\n        memberBrandAttention.setMemberNickname(member.getNickname());\n        memberBrandAttention.setMemberIcon(member.getIcon());\n        memberBrandAttention.setCreateTime(new Date());\n        MemberBrandAttention findAttention = memberBrandAttentionRepository.findByMemberIdAndBrandId(memberBrandAttention.getMemberId(), memberBrandAttention.getBrandId());\n        if (findAttention == null) {\n            if(sqlEnable){\n                PmsBrand brand = brandMapper.selectByPrimaryKey(memberBrandAttention.getBrandId());\n                if(brand==null){\n                    return 0;\n                }else{\n                    memberBrandAttention.setBrandCity(null);\n                    memberBrandAttention.setBrandName(brand.getName());\n                    memberBrandAttention.setBrandLogo(brand.getLogo());\n                }\n            }\n            memberBrandAttentionRepository.save(memberBrandAttention);\n            count = 1;\n        }\n        return count;\n    }\n\n    @Override\n    public int delete(Long brandId) {\n        UmsMember member = memberService.getCurrentMember();\n        return memberBrandAttentionRepository.deleteByMemberIdAndBrandId(member.getId(),brandId);\n    }\n\n    @Override\n    public Page<MemberBrandAttention> list(Integer pageNum, Integer pageSize) {\n        UmsMember member = memberService.getCurrentMember();\n        Pageable pageable = PageRequest.of(pageNum-1,pageSize);\n        return memberBrandAttentionRepository.findByMemberId(member.getId(),pageable);\n    }\n\n    @Override\n    public MemberBrandAttention detail(Long brandId) {\n        UmsMember member = memberService.getCurrentMember();\n        return memberBrandAttentionRepository.findByMemberIdAndBrandId(member.getId(), brandId);\n    }\n\n    @Override\n    public void clear() {\n        UmsMember member = memberService.getCurrentMember();\n        memberBrandAttentionRepository.deleteAllByMemberId(member.getId());\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.mapper.PmsProductMapper;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.portal.domain.MemberProductCollection;\nimport com.macro.mall.portal.repository.MemberProductCollectionRepository;\nimport com.macro.mall.portal.service.MemberCollectionService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.stereotype.Service;\n\n/**\n * 会员收藏Service实现类\n * Created by macro on 2018/8/2.\n */\n@Service\npublic class MemberCollectionServiceImpl implements MemberCollectionService {\n    @Value(\"${mongo.insert.sqlEnable}\")\n    private Boolean sqlEnable;\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Autowired\n    private MemberProductCollectionRepository productCollectionRepository;\n    @Autowired\n    private UmsMemberService memberService;\n\n    @Override\n    public int add(MemberProductCollection productCollection) {\n        int count = 0;\n        if (productCollection.getProductId() == null) {\n            return 0;\n        }\n        UmsMember member = memberService.getCurrentMember();\n        productCollection.setMemberId(member.getId());\n        productCollection.setMemberNickname(member.getNickname());\n        productCollection.setMemberIcon(member.getIcon());\n        MemberProductCollection findCollection = productCollectionRepository.findByMemberIdAndProductId(productCollection.getMemberId(), productCollection.getProductId());\n        if (findCollection == null) {\n            if (sqlEnable) {\n                PmsProduct product = productMapper.selectByPrimaryKey(productCollection.getProductId());\n                if (product == null || product.getDeleteStatus() == 1) {\n                    return 0;\n                }\n                productCollection.setProductName(product.getName());\n                productCollection.setProductSubTitle(product.getSubTitle());\n                productCollection.setProductPrice(product.getPrice() + \"\");\n                productCollection.setProductPic(product.getPic());\n            }\n            productCollectionRepository.save(productCollection);\n            count = 1;\n        }\n        return count;\n    }\n\n    @Override\n    public int delete(Long productId) {\n        UmsMember member = memberService.getCurrentMember();\n        return productCollectionRepository.deleteByMemberIdAndProductId(member.getId(), productId);\n    }\n\n    @Override\n    public Page<MemberProductCollection> list(Integer pageNum, Integer pageSize) {\n        UmsMember member = memberService.getCurrentMember();\n        Pageable pageable = PageRequest.of(pageNum - 1, pageSize);\n        return productCollectionRepository.findByMemberId(member.getId(), pageable);\n    }\n\n    @Override\n    public MemberProductCollection detail(Long productId) {\n        UmsMember member = memberService.getCurrentMember();\n        return productCollectionRepository.findByMemberIdAndProductId(member.getId(), productId);\n    }\n\n    @Override\n    public void clear() {\n        UmsMember member = memberService.getCurrentMember();\n        productCollectionRepository.deleteAllByMemberId(member.getId());\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberReadHistoryServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.mapper.PmsProductMapper;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.portal.domain.MemberReadHistory;\nimport com.macro.mall.portal.repository.MemberReadHistoryRepository;\nimport com.macro.mall.portal.service.MemberReadHistoryService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.stereotype.Service;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\n/**\n * 会员浏览记录管理Service实现类\n * Created by macro on 2018/8/3.\n */\n@Service\npublic class MemberReadHistoryServiceImpl implements MemberReadHistoryService {\n\n    @Value(\"${mongo.insert.sqlEnable}\")\n    private Boolean sqlEnable;\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Autowired\n    private MemberReadHistoryRepository memberReadHistoryRepository;\n    @Autowired\n    private UmsMemberService memberService;\n    @Override\n    public int create(MemberReadHistory memberReadHistory) {\n        if (memberReadHistory.getProductId() == null) {\n            return 0;\n        }\n        UmsMember member = memberService.getCurrentMember();\n        memberReadHistory.setMemberId(member.getId());\n        memberReadHistory.setMemberNickname(member.getNickname());\n        memberReadHistory.setMemberIcon(member.getIcon());\n        memberReadHistory.setId(null);\n        memberReadHistory.setCreateTime(new Date());\n        if (sqlEnable) {\n            PmsProduct product = productMapper.selectByPrimaryKey(memberReadHistory.getProductId());\n            if (product == null || product.getDeleteStatus() == 1) {\n                return 0;\n            }\n            memberReadHistory.setProductName(product.getName());\n            memberReadHistory.setProductSubTitle(product.getSubTitle());\n            memberReadHistory.setProductPrice(product.getPrice() + \"\");\n            memberReadHistory.setProductPic(product.getPic());\n        }\n        memberReadHistoryRepository.save(memberReadHistory);\n        return 1;\n    }\n\n    @Override\n    public int delete(List<String> ids) {\n        List<MemberReadHistory> deleteList = new ArrayList<>();\n        for(String id:ids){\n            MemberReadHistory memberReadHistory = new MemberReadHistory();\n            memberReadHistory.setId(id);\n            deleteList.add(memberReadHistory);\n        }\n        memberReadHistoryRepository.deleteAll(deleteList);\n        return ids.size();\n    }\n\n    @Override\n    public Page<MemberReadHistory> list(Integer pageNum, Integer pageSize) {\n        UmsMember member = memberService.getCurrentMember();\n        Pageable pageable = PageRequest.of(pageNum-1, pageSize);\n        return memberReadHistoryRepository.findByMemberIdOrderByCreateTimeDesc(member.getId(),pageable);\n    }\n\n    @Override\n    public void clear() {\n        UmsMember member = memberService.getCurrentMember();\n        memberReadHistoryRepository.deleteAllByMemberId(member.getId());\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsCartItemServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport cn.hutool.core.collection.CollUtil;\nimport com.macro.mall.mapper.OmsCartItemMapper;\nimport com.macro.mall.model.OmsCartItem;\nimport com.macro.mall.model.OmsCartItemExample;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.portal.dao.PortalProductDao;\nimport com.macro.mall.portal.domain.CartProduct;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport com.macro.mall.portal.service.OmsCartItemService;\nimport com.macro.mall.portal.service.OmsPromotionService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 购物车管理Service实现类\n * Created by macro on 2018/8/2.\n */\n@Service\npublic class OmsCartItemServiceImpl implements OmsCartItemService {\n    @Autowired\n    private OmsCartItemMapper cartItemMapper;\n    @Autowired\n    private PortalProductDao productDao;\n    @Autowired\n    private OmsPromotionService promotionService;\n    @Autowired\n    private UmsMemberService memberService;\n\n    @Override\n    public int add(OmsCartItem cartItem) {\n        int count;\n        UmsMember currentMember =memberService.getCurrentMember();\n        cartItem.setMemberId(currentMember.getId());\n        cartItem.setMemberNickname(currentMember.getNickname());\n        cartItem.setDeleteStatus(0);\n        OmsCartItem existCartItem = getCartItem(cartItem);\n        if (existCartItem == null) {\n            cartItem.setCreateDate(new Date());\n            count = cartItemMapper.insert(cartItem);\n        } else {\n            cartItem.setModifyDate(new Date());\n            existCartItem.setQuantity(existCartItem.getQuantity() + cartItem.getQuantity());\n            count = cartItemMapper.updateByPrimaryKey(existCartItem);\n        }\n        return count;\n    }\n\n    /**\n     * 根据会员id,商品id和规格获取购物车中商品\n     */\n    private OmsCartItem getCartItem(OmsCartItem cartItem) {\n        OmsCartItemExample example = new OmsCartItemExample();\n        OmsCartItemExample.Criteria criteria = example.createCriteria().andMemberIdEqualTo(cartItem.getMemberId())\n                .andProductIdEqualTo(cartItem.getProductId()).andDeleteStatusEqualTo(0);\n        if (cartItem.getProductSkuId()!=null) {\n            criteria.andProductSkuIdEqualTo(cartItem.getProductSkuId());\n        }\n        List<OmsCartItem> cartItemList = cartItemMapper.selectByExample(example);\n        if (!CollectionUtils.isEmpty(cartItemList)) {\n            return cartItemList.get(0);\n        }\n        return null;\n    }\n\n    @Override\n    public List<OmsCartItem> list(Long memberId) {\n        OmsCartItemExample example = new OmsCartItemExample();\n        example.createCriteria().andDeleteStatusEqualTo(0).andMemberIdEqualTo(memberId);\n        return cartItemMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<CartPromotionItem> listPromotion(Long memberId, List<Long> cartIds) {\n        List<OmsCartItem> cartItemList = list(memberId);\n        if(CollUtil.isNotEmpty(cartIds)){\n            cartItemList = cartItemList.stream().filter(item->cartIds.contains(item.getId())).collect(Collectors.toList());\n        }\n        List<CartPromotionItem> cartPromotionItemList = new ArrayList<>();\n        if(!CollectionUtils.isEmpty(cartItemList)){\n            cartPromotionItemList = promotionService.calcCartPromotion(cartItemList);\n        }\n        return cartPromotionItemList;\n    }\n\n    @Override\n    public int updateQuantity(Long id, Long memberId, Integer quantity) {\n        OmsCartItem cartItem = new OmsCartItem();\n        cartItem.setQuantity(quantity);\n        OmsCartItemExample example = new OmsCartItemExample();\n        example.createCriteria().andDeleteStatusEqualTo(0)\n                .andIdEqualTo(id).andMemberIdEqualTo(memberId);\n        return cartItemMapper.updateByExampleSelective(cartItem, example);\n    }\n\n    @Override\n    public int delete(Long memberId, List<Long> ids) {\n        OmsCartItem record = new OmsCartItem();\n        record.setDeleteStatus(1);\n        OmsCartItemExample example = new OmsCartItemExample();\n        example.createCriteria().andIdIn(ids).andMemberIdEqualTo(memberId);\n        return cartItemMapper.updateByExampleSelective(record, example);\n    }\n\n    @Override\n    public CartProduct getCartProduct(Long productId) {\n        return productDao.getCartProduct(productId);\n    }\n\n    @Override\n    public int updateAttr(OmsCartItem cartItem) {\n        //删除原购物车信息\n        OmsCartItem updateCart = new OmsCartItem();\n        updateCart.setId(cartItem.getId());\n        updateCart.setModifyDate(new Date());\n        updateCart.setDeleteStatus(1);\n        cartItemMapper.updateByPrimaryKeySelective(updateCart);\n        cartItem.setId(null);\n        add(cartItem);\n        return 1;\n    }\n\n    @Override\n    public int clear(Long memberId) {\n        OmsCartItem record = new OmsCartItem();\n        record.setDeleteStatus(1);\n        OmsCartItemExample example = new OmsCartItemExample();\n        example.createCriteria().andMemberIdEqualTo(memberId);\n        return cartItemMapper.updateByExampleSelective(record,example);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderReturnApplyServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.mapper.OmsOrderReturnApplyMapper;\nimport com.macro.mall.model.OmsOrderReturnApply;\nimport com.macro.mall.portal.domain.OmsOrderReturnApplyParam;\nimport com.macro.mall.portal.service.OmsPortalOrderReturnApplyService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.Date;\n\n/**\n * 订单退货管理Service实现类\n * Created by macro on 2018/10/17.\n */\n@Service\npublic class OmsPortalOrderReturnApplyServiceImpl implements OmsPortalOrderReturnApplyService {\n    @Autowired\n    private OmsOrderReturnApplyMapper returnApplyMapper;\n    @Override\n    public int create(OmsOrderReturnApplyParam returnApply) {\n        OmsOrderReturnApply realApply = new OmsOrderReturnApply();\n        BeanUtils.copyProperties(returnApply,realApply);\n        realApply.setCreateTime(new Date());\n        realApply.setStatus(0);\n        return returnApplyMapper.insert(realApply);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport cn.hutool.core.bean.BeanUtil;\nimport cn.hutool.core.collection.CollUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.exception.Asserts;\nimport com.macro.mall.common.service.RedisService;\nimport com.macro.mall.mapper.*;\nimport com.macro.mall.model.*;\nimport com.macro.mall.portal.component.CancelOrderSender;\nimport com.macro.mall.portal.dao.PortalOrderDao;\nimport com.macro.mall.portal.dao.PortalOrderItemDao;\nimport com.macro.mall.portal.dao.SmsCouponHistoryDao;\nimport com.macro.mall.portal.domain.*;\nimport com.macro.mall.portal.service.*;\nimport lombok.extern.slf4j.Slf4j;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.math.BigDecimal;\nimport java.math.RoundingMode;\nimport java.text.SimpleDateFormat;\nimport java.util.*;\nimport java.util.stream.Collectors;\n\n/**\n * 前台订单管理Service\n * Created by macro on 2018/8/30.\n */\n@Slf4j\n@Service\npublic class OmsPortalOrderServiceImpl implements OmsPortalOrderService {\n    @Autowired\n    private UmsMemberService memberService;\n    @Autowired\n    private OmsCartItemService cartItemService;\n    @Autowired\n    private UmsMemberReceiveAddressService memberReceiveAddressService;\n    @Autowired\n    private UmsMemberCouponService memberCouponService;\n    @Autowired\n    private UmsIntegrationConsumeSettingMapper integrationConsumeSettingMapper;\n    @Autowired\n    private PmsSkuStockMapper skuStockMapper;\n    @Autowired\n    private SmsCouponHistoryDao couponHistoryDao;\n    @Autowired\n    private OmsOrderMapper orderMapper;\n    @Autowired\n    private PortalOrderItemDao orderItemDao;\n    @Autowired\n    private SmsCouponHistoryMapper couponHistoryMapper;\n    @Autowired\n    private RedisService redisService;\n    @Value(\"${redis.key.orderId}\")\n    private String REDIS_KEY_ORDER_ID;\n    @Value(\"${redis.database}\")\n    private String REDIS_DATABASE;\n    @Autowired\n    private PortalOrderDao portalOrderDao;\n    @Autowired\n    private OmsOrderSettingMapper orderSettingMapper;\n    @Autowired\n    private OmsOrderItemMapper orderItemMapper;\n    @Autowired\n    private CancelOrderSender cancelOrderSender;\n\n    @Override\n    public ConfirmOrderResult generateConfirmOrder(List<Long> cartIds) {\n        ConfirmOrderResult result = new ConfirmOrderResult();\n        //获取购物车信息\n        UmsMember currentMember = memberService.getCurrentMember();\n        List<CartPromotionItem> cartPromotionItemList = cartItemService.listPromotion(currentMember.getId(),cartIds);\n        result.setCartPromotionItemList(cartPromotionItemList);\n        //获取用户收货地址列表\n        List<UmsMemberReceiveAddress> memberReceiveAddressList = memberReceiveAddressService.list();\n        result.setMemberReceiveAddressList(memberReceiveAddressList);\n        //获取用户可用优惠券列表\n        List<SmsCouponHistoryDetail> couponHistoryDetailList = memberCouponService.listCart(cartPromotionItemList, 1);\n        result.setCouponHistoryDetailList(couponHistoryDetailList);\n        //获取用户积分\n        result.setMemberIntegration(currentMember.getIntegration());\n        //获取积分使用规则\n        UmsIntegrationConsumeSetting integrationConsumeSetting = integrationConsumeSettingMapper.selectByPrimaryKey(1L);\n        result.setIntegrationConsumeSetting(integrationConsumeSetting);\n        //计算总金额、活动优惠、应付金额\n        ConfirmOrderResult.CalcAmount calcAmount = calcCartAmount(cartPromotionItemList);\n        result.setCalcAmount(calcAmount);\n        return result;\n    }\n\n    @Override\n    public Map<String, Object> generateOrder(OrderParam orderParam) {\n        List<OmsOrderItem> orderItemList = new ArrayList<>();\n        //校验收货地址\n        if(orderParam.getMemberReceiveAddressId()==null){\n            Asserts.fail(\"请选择收货地址！\");\n        }\n        //获取购物车及优惠信息\n        UmsMember currentMember = memberService.getCurrentMember();\n        List<CartPromotionItem> cartPromotionItemList = cartItemService.listPromotion(currentMember.getId(), orderParam.getCartIds());\n        for (CartPromotionItem cartPromotionItem : cartPromotionItemList) {\n            //生成下单商品信息\n            OmsOrderItem orderItem = new OmsOrderItem();\n            orderItem.setProductId(cartPromotionItem.getProductId());\n            orderItem.setProductName(cartPromotionItem.getProductName());\n            orderItem.setProductPic(cartPromotionItem.getProductPic());\n            orderItem.setProductAttr(cartPromotionItem.getProductAttr());\n            orderItem.setProductBrand(cartPromotionItem.getProductBrand());\n            orderItem.setProductSn(cartPromotionItem.getProductSn());\n            orderItem.setProductPrice(cartPromotionItem.getPrice());\n            orderItem.setProductQuantity(cartPromotionItem.getQuantity());\n            orderItem.setProductSkuId(cartPromotionItem.getProductSkuId());\n            orderItem.setProductSkuCode(cartPromotionItem.getProductSkuCode());\n            orderItem.setProductCategoryId(cartPromotionItem.getProductCategoryId());\n            orderItem.setPromotionAmount(cartPromotionItem.getReduceAmount());\n            orderItem.setPromotionName(cartPromotionItem.getPromotionMessage());\n            orderItem.setGiftIntegration(cartPromotionItem.getIntegration());\n            orderItem.setGiftGrowth(cartPromotionItem.getGrowth());\n            orderItemList.add(orderItem);\n        }\n        //判断购物车中商品是否都有库存\n        if (!hasStock(cartPromotionItemList)) {\n            Asserts.fail(\"库存不足，无法下单\");\n        }\n        //判断使用使用了优惠券\n        if (orderParam.getCouponId() == null) {\n            //不用优惠券\n            for (OmsOrderItem orderItem : orderItemList) {\n                orderItem.setCouponAmount(new BigDecimal(0));\n            }\n        } else {\n            //使用优惠券\n            SmsCouponHistoryDetail couponHistoryDetail = getUseCoupon(cartPromotionItemList, orderParam.getCouponId());\n            if (couponHistoryDetail == null) {\n                Asserts.fail(\"该优惠券不可用\");\n            }\n            //对下单商品的优惠券进行处理\n            handleCouponAmount(orderItemList, couponHistoryDetail);\n        }\n        //判断是否使用积分\n        if (orderParam.getUseIntegration() == null||orderParam.getUseIntegration().equals(0)) {\n            //不使用积分\n            for (OmsOrderItem orderItem : orderItemList) {\n                orderItem.setIntegrationAmount(new BigDecimal(0));\n            }\n        } else {\n            //使用积分\n            BigDecimal totalAmount = calcTotalAmount(orderItemList);\n            BigDecimal integrationAmount = getUseIntegrationAmount(orderParam.getUseIntegration(), totalAmount, currentMember, orderParam.getCouponId() != null);\n            if (integrationAmount.compareTo(new BigDecimal(0)) == 0) {\n                Asserts.fail(\"积分不可用\");\n            } else {\n                //可用情况下分摊到可用商品中\n                for (OmsOrderItem orderItem : orderItemList) {\n                    BigDecimal perAmount = orderItem.getProductPrice().divide(totalAmount, 3, RoundingMode.HALF_EVEN).multiply(integrationAmount);\n                    orderItem.setIntegrationAmount(perAmount);\n                }\n            }\n        }\n        //计算order_item的实付金额\n        handleRealAmount(orderItemList);\n        //进行库存锁定\n        lockStock(cartPromotionItemList);\n        //根据商品合计、运费、活动优惠、优惠券、积分计算应付金额\n        OmsOrder order = new OmsOrder();\n        order.setDiscountAmount(new BigDecimal(0));\n        order.setTotalAmount(calcTotalAmount(orderItemList));\n        order.setFreightAmount(new BigDecimal(0));\n        order.setPromotionAmount(calcPromotionAmount(orderItemList));\n        order.setPromotionInfo(getOrderPromotionInfo(orderItemList));\n        if (orderParam.getCouponId() == null) {\n            order.setCouponAmount(new BigDecimal(0));\n        } else {\n            order.setCouponId(orderParam.getCouponId());\n            order.setCouponAmount(calcCouponAmount(orderItemList));\n        }\n        if (orderParam.getUseIntegration() == null) {\n            order.setIntegration(0);\n            order.setIntegrationAmount(new BigDecimal(0));\n        } else {\n            order.setIntegration(orderParam.getUseIntegration());\n            order.setIntegrationAmount(calcIntegrationAmount(orderItemList));\n        }\n        order.setPayAmount(calcPayAmount(order));\n        //转化为订单信息并插入数据库\n        order.setMemberId(currentMember.getId());\n        order.setCreateTime(new Date());\n        order.setMemberUsername(currentMember.getUsername());\n        //支付方式：0->未支付；1->支付宝；2->微信\n        order.setPayType(orderParam.getPayType());\n        //订单来源：0->PC订单；1->app订单\n        order.setSourceType(1);\n        //订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单\n        order.setStatus(0);\n        //订单类型：0->正常订单；1->秒杀订单\n        order.setOrderType(0);\n        //收货人信息：姓名、电话、邮编、地址\n        UmsMemberReceiveAddress address = memberReceiveAddressService.getItem(orderParam.getMemberReceiveAddressId());\n        order.setReceiverName(address.getName());\n        order.setReceiverPhone(address.getPhoneNumber());\n        order.setReceiverPostCode(address.getPostCode());\n        order.setReceiverProvince(address.getProvince());\n        order.setReceiverCity(address.getCity());\n        order.setReceiverRegion(address.getRegion());\n        order.setReceiverDetailAddress(address.getDetailAddress());\n        //0->未确认；1->已确认\n        order.setConfirmStatus(0);\n        order.setDeleteStatus(0);\n        //计算赠送积分\n        order.setIntegration(calcGifIntegration(orderItemList));\n        //计算赠送成长值\n        order.setGrowth(calcGiftGrowth(orderItemList));\n        //生成订单号\n        order.setOrderSn(generateOrderSn(order));\n        //设置自动收货天数\n        List<OmsOrderSetting> orderSettings = orderSettingMapper.selectByExample(new OmsOrderSettingExample());\n        if(CollUtil.isNotEmpty(orderSettings)){\n            order.setAutoConfirmDay(orderSettings.get(0).getConfirmOvertime());\n        }\n        // TODO: 2018/9/3 bill_*,delivery_*\n        //插入order表和order_item表\n        orderMapper.insert(order);\n        for (OmsOrderItem orderItem : orderItemList) {\n            orderItem.setOrderId(order.getId());\n            orderItem.setOrderSn(order.getOrderSn());\n        }\n        orderItemDao.insertList(orderItemList);\n        //如使用优惠券更新优惠券使用状态\n        if (orderParam.getCouponId() != null) {\n            updateCouponStatus(orderParam.getCouponId(), currentMember.getId(), 1);\n        }\n        //如使用积分需要扣除积分\n        if (orderParam.getUseIntegration() != null) {\n            order.setUseIntegration(orderParam.getUseIntegration());\n            if(currentMember.getIntegration()==null){\n                currentMember.setIntegration(0);\n            }\n            memberService.updateIntegration(currentMember.getId(), currentMember.getIntegration() - orderParam.getUseIntegration());\n        }\n        //删除购物车中的下单商品\n        deleteCartItemList(cartPromotionItemList, currentMember);\n        //发送延迟消息取消订单\n        sendDelayMessageCancelOrder(order.getId());\n        Map<String, Object> result = new HashMap<>();\n        result.put(\"order\", order);\n        result.put(\"orderItemList\", orderItemList);\n        return result;\n    }\n\n    @Override\n    public Integer paySuccess(Long orderId, Integer payType) {\n        //修改订单支付状态\n        OmsOrder order = new OmsOrder();\n        order.setId(orderId);\n        order.setStatus(1);\n        order.setPaymentTime(new Date());\n        order.setPayType(payType);\n        OmsOrderExample orderExample = new OmsOrderExample();\n        orderExample.createCriteria()\n                .andIdEqualTo(order.getId())\n                .andDeleteStatusEqualTo(0)\n                .andStatusEqualTo(0);\n        //只修改未付款状态的订单\n        int updateCount = orderMapper.updateByExampleSelective(order, orderExample);\n        if(updateCount==0){\n            Asserts.fail(\"订单不存在或订单状态不是未支付！\");\n        }\n        //恢复所有下单商品的锁定库存，扣减真实库存\n        OmsOrderDetail orderDetail = portalOrderDao.getDetail(orderId);\n        int totalCount = 0;\n        for (OmsOrderItem orderItem : orderDetail.getOrderItemList()) {\n            int count = portalOrderDao.reduceSkuStock(orderItem.getProductSkuId(),orderItem.getProductQuantity());\n            if(count==0){\n                Asserts.fail(\"库存不足，无法扣减！\");\n            }\n            totalCount+=count;\n        }\n        return totalCount;\n    }\n\n    @Override\n    public Integer cancelTimeOutOrder() {\n        Integer count=0;\n        OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L);\n        //查询超时、未支付的订单及订单详情\n        List<OmsOrderDetail> timeOutOrders = portalOrderDao.getTimeOutOrders(orderSetting.getNormalOrderOvertime());\n        if (CollectionUtils.isEmpty(timeOutOrders)) {\n            return count;\n        }\n        //修改订单状态为交易取消\n        List<Long> ids = new ArrayList<>();\n        for (OmsOrderDetail timeOutOrder : timeOutOrders) {\n            ids.add(timeOutOrder.getId());\n        }\n        portalOrderDao.updateOrderStatus(ids, 4);\n        for (OmsOrderDetail timeOutOrder : timeOutOrders) {\n            //解除订单商品库存锁定\n            portalOrderDao.releaseSkuStockLock(timeOutOrder.getOrderItemList());\n            //修改优惠券使用状态\n            updateCouponStatus(timeOutOrder.getCouponId(), timeOutOrder.getMemberId(), 0);\n            //返还使用积分\n            if (timeOutOrder.getUseIntegration() != null) {\n                UmsMember member = memberService.getById(timeOutOrder.getMemberId());\n                memberService.updateIntegration(timeOutOrder.getMemberId(), member.getIntegration() + timeOutOrder.getUseIntegration());\n            }\n        }\n        return timeOutOrders.size();\n    }\n\n    @Override\n    public void cancelOrder(Long orderId) {\n        //查询未付款的取消订单\n        OmsOrderExample example = new OmsOrderExample();\n        example.createCriteria().andIdEqualTo(orderId).andStatusEqualTo(0).andDeleteStatusEqualTo(0);\n        List<OmsOrder> cancelOrderList = orderMapper.selectByExample(example);\n        if (CollectionUtils.isEmpty(cancelOrderList)) {\n            return;\n        }\n        OmsOrder cancelOrder = cancelOrderList.get(0);\n        if (cancelOrder != null) {\n            //修改订单状态为取消\n            cancelOrder.setStatus(4);\n            orderMapper.updateByPrimaryKeySelective(cancelOrder);\n            OmsOrderItemExample orderItemExample = new OmsOrderItemExample();\n            orderItemExample.createCriteria().andOrderIdEqualTo(orderId);\n            List<OmsOrderItem> orderItemList = orderItemMapper.selectByExample(orderItemExample);\n            //解除订单商品库存锁定\n            if (!CollectionUtils.isEmpty(orderItemList)) {\n                for (OmsOrderItem orderItem : orderItemList) {\n                    int count = portalOrderDao.releaseStockBySkuId(orderItem.getProductSkuId(),orderItem.getProductQuantity());\n                    if(count==0){\n                        Asserts.fail(\"库存不足，无法释放！\");\n                    }\n                }\n            }\n            //修改优惠券使用状态\n            updateCouponStatus(cancelOrder.getCouponId(), cancelOrder.getMemberId(), 0);\n            //返还使用积分\n            if (cancelOrder.getUseIntegration() != null) {\n                UmsMember member = memberService.getById(cancelOrder.getMemberId());\n                memberService.updateIntegration(cancelOrder.getMemberId(), member.getIntegration() + cancelOrder.getUseIntegration());\n            }\n        }\n    }\n\n    @Override\n    public void sendDelayMessageCancelOrder(Long orderId) {\n        //获取订单超时时间\n        OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L);\n        long delayTimes = orderSetting.getNormalOrderOvertime() * 60 * 1000;\n        //发送延迟消息\n        cancelOrderSender.sendMessage(orderId, delayTimes);\n    }\n\n    @Override\n    public void confirmReceiveOrder(Long orderId) {\n        UmsMember member = memberService.getCurrentMember();\n        OmsOrder order = orderMapper.selectByPrimaryKey(orderId);\n        if(!member.getId().equals(order.getMemberId())){\n            Asserts.fail(\"不能确认他人订单！\");\n        }\n        if(order.getStatus()!=2){\n            Asserts.fail(\"该订单还未发货！\");\n        }\n        order.setStatus(3);\n        order.setConfirmStatus(1);\n        order.setReceiveTime(new Date());\n        orderMapper.updateByPrimaryKey(order);\n    }\n\n    @Override\n    public CommonPage<OmsOrderDetail> list(Integer status, Integer pageNum, Integer pageSize) {\n        if(status==-1){\n            status = null;\n        }\n        UmsMember member = memberService.getCurrentMember();\n        PageHelper.startPage(pageNum,pageSize);\n        OmsOrderExample orderExample = new OmsOrderExample();\n        OmsOrderExample.Criteria criteria = orderExample.createCriteria();\n        criteria.andDeleteStatusEqualTo(0)\n                .andMemberIdEqualTo(member.getId());\n        if(status!=null){\n            criteria.andStatusEqualTo(status);\n        }\n        orderExample.setOrderByClause(\"create_time desc\");\n        List<OmsOrder> orderList = orderMapper.selectByExample(orderExample);\n        CommonPage<OmsOrder> orderPage = CommonPage.restPage(orderList);\n        //设置分页信息\n        CommonPage<OmsOrderDetail> resultPage = new CommonPage<>();\n        resultPage.setPageNum(orderPage.getPageNum());\n        resultPage.setPageSize(orderPage.getPageSize());\n        resultPage.setTotal(orderPage.getTotal());\n        resultPage.setTotalPage(orderPage.getTotalPage());\n        if(CollUtil.isEmpty(orderList)){\n            return resultPage;\n        }\n        //设置数据信息\n        List<Long> orderIds = orderList.stream().map(OmsOrder::getId).collect(Collectors.toList());\n        OmsOrderItemExample orderItemExample = new OmsOrderItemExample();\n        orderItemExample.createCriteria().andOrderIdIn(orderIds);\n        List<OmsOrderItem> orderItemList = orderItemMapper.selectByExample(orderItemExample);\n        List<OmsOrderDetail> orderDetailList = new ArrayList<>();\n        for (OmsOrder omsOrder : orderList) {\n            OmsOrderDetail orderDetail = new OmsOrderDetail();\n            BeanUtil.copyProperties(omsOrder,orderDetail);\n            List<OmsOrderItem> relatedItemList = orderItemList.stream().filter(item -> item.getOrderId().equals(orderDetail.getId())).collect(Collectors.toList());\n            orderDetail.setOrderItemList(relatedItemList);\n            orderDetailList.add(orderDetail);\n        }\n        resultPage.setList(orderDetailList);\n        return resultPage;\n    }\n\n    @Override\n    public OmsOrderDetail detail(Long orderId) {\n        OmsOrder omsOrder = orderMapper.selectByPrimaryKey(orderId);\n        OmsOrderItemExample example = new OmsOrderItemExample();\n        example.createCriteria().andOrderIdEqualTo(orderId);\n        List<OmsOrderItem> orderItemList = orderItemMapper.selectByExample(example);\n        OmsOrderDetail orderDetail = new OmsOrderDetail();\n        BeanUtil.copyProperties(omsOrder,orderDetail);\n        orderDetail.setOrderItemList(orderItemList);\n        return orderDetail;\n    }\n\n    @Override\n    public void deleteOrder(Long orderId) {\n        UmsMember member = memberService.getCurrentMember();\n        OmsOrder order = orderMapper.selectByPrimaryKey(orderId);\n        if(!member.getId().equals(order.getMemberId())){\n            Asserts.fail(\"不能删除他人订单！\");\n        }\n        if(order.getStatus()==3||order.getStatus()==4){\n            order.setDeleteStatus(1);\n            orderMapper.updateByPrimaryKey(order);\n        }else{\n            Asserts.fail(\"只能删除已完成或已关闭的订单！\");\n        }\n    }\n\n    @Override\n    public void paySuccessByOrderSn(String orderSn, Integer payType) {\n        OmsOrderExample example =  new OmsOrderExample();\n        example.createCriteria()\n                .andOrderSnEqualTo(orderSn)\n                .andStatusEqualTo(0)\n                .andDeleteStatusEqualTo(0);\n        List<OmsOrder> orderList = orderMapper.selectByExample(example);\n        if(CollUtil.isNotEmpty(orderList)){\n            OmsOrder order = orderList.get(0);\n            paySuccess(order.getId(),payType);\n        }\n    }\n\n    /**\n     * 生成18位订单编号:8位日期+2位平台号码+2位支付方式+6位以上自增id\n     */\n    private String generateOrderSn(OmsOrder order) {\n        StringBuilder sb = new StringBuilder();\n        String date = new SimpleDateFormat(\"yyyyMMdd\").format(new Date());\n        String key = REDIS_DATABASE+\":\"+ REDIS_KEY_ORDER_ID + date;\n        Long increment = redisService.incr(key, 1);\n        sb.append(date);\n        sb.append(String.format(\"%02d\", order.getSourceType()));\n        sb.append(String.format(\"%02d\", order.getPayType()));\n        String incrementStr = increment.toString();\n        if (incrementStr.length() <= 6) {\n            sb.append(String.format(\"%06d\", increment));\n        } else {\n            sb.append(incrementStr);\n        }\n        return sb.toString();\n    }\n\n    /**\n     * 从购物车中删除已下单的商品信息\n     */\n    private void deleteCartItemList(List<CartPromotionItem> cartPromotionItemList, UmsMember currentMember) {\n        List<Long> ids = new ArrayList<>();\n        for (CartPromotionItem cartPromotionItem : cartPromotionItemList) {\n            ids.add(cartPromotionItem.getId());\n        }\n        cartItemService.delete(currentMember.getId(), ids);\n    }\n\n    /**\n     * 计算该订单赠送的成长值\n     */\n    private Integer calcGiftGrowth(List<OmsOrderItem> orderItemList) {\n        Integer sum = 0;\n        for (OmsOrderItem orderItem : orderItemList) {\n            sum = sum + orderItem.getGiftGrowth() * orderItem.getProductQuantity();\n        }\n        return sum;\n    }\n\n    /**\n     * 计算该订单赠送的积分\n     */\n    private Integer calcGifIntegration(List<OmsOrderItem> orderItemList) {\n        int sum = 0;\n        for (OmsOrderItem orderItem : orderItemList) {\n            sum += orderItem.getGiftIntegration() * orderItem.getProductQuantity();\n        }\n        return sum;\n    }\n\n    /**\n     * 将优惠券信息更改为指定状态\n     *\n     * @param couponId  优惠券id\n     * @param memberId  会员id\n     * @param useStatus 0->未使用；1->已使用\n     */\n    private void updateCouponStatus(Long couponId, Long memberId, Integer useStatus) {\n        if (couponId == null) return;\n        //查询第一张优惠券\n        SmsCouponHistoryExample example = new SmsCouponHistoryExample();\n        example.createCriteria().andMemberIdEqualTo(memberId)\n                .andCouponIdEqualTo(couponId).andUseStatusEqualTo(useStatus == 0 ? 1 : 0);\n        List<SmsCouponHistory> couponHistoryList = couponHistoryMapper.selectByExample(example);\n        if (!CollectionUtils.isEmpty(couponHistoryList)) {\n            SmsCouponHistory couponHistory = couponHistoryList.get(0);\n            couponHistory.setUseTime(new Date());\n            couponHistory.setUseStatus(useStatus);\n            couponHistoryMapper.updateByPrimaryKeySelective(couponHistory);\n        }\n    }\n\n    private void handleRealAmount(List<OmsOrderItem> orderItemList) {\n        for (OmsOrderItem orderItem : orderItemList) {\n            //原价-促销优惠-优惠券抵扣-积分抵扣\n            BigDecimal realAmount = orderItem.getProductPrice()\n                    .subtract(orderItem.getPromotionAmount())\n                    .subtract(orderItem.getCouponAmount())\n                    .subtract(orderItem.getIntegrationAmount());\n            orderItem.setRealAmount(realAmount);\n        }\n    }\n\n    /**\n     * 获取订单促销信息\n     */\n    private String getOrderPromotionInfo(List<OmsOrderItem> orderItemList) {\n        StringBuilder sb = new StringBuilder();\n        for (OmsOrderItem orderItem : orderItemList) {\n            sb.append(orderItem.getPromotionName());\n            sb.append(\";\");\n        }\n        String result = sb.toString();\n        if (result.endsWith(\";\")) {\n            result = result.substring(0, result.length() - 1);\n        }\n        return result;\n    }\n\n    /**\n     * 计算订单应付金额\n     */\n    private BigDecimal calcPayAmount(OmsOrder order) {\n        //总金额+运费-促销优惠-优惠券优惠-积分抵扣\n        BigDecimal payAmount = order.getTotalAmount()\n                .add(order.getFreightAmount())\n                .subtract(order.getPromotionAmount())\n                .subtract(order.getCouponAmount())\n                .subtract(order.getIntegrationAmount());\n        return payAmount;\n    }\n\n    /**\n     * 计算订单优惠券金额\n     */\n    private BigDecimal calcIntegrationAmount(List<OmsOrderItem> orderItemList) {\n        BigDecimal integrationAmount = new BigDecimal(0);\n        for (OmsOrderItem orderItem : orderItemList) {\n            if (orderItem.getIntegrationAmount() != null) {\n                integrationAmount = integrationAmount.add(orderItem.getIntegrationAmount().multiply(new BigDecimal(orderItem.getProductQuantity())));\n            }\n        }\n        return integrationAmount;\n    }\n\n    /**\n     * 计算订单优惠券金额\n     */\n    private BigDecimal calcCouponAmount(List<OmsOrderItem> orderItemList) {\n        BigDecimal couponAmount = new BigDecimal(0);\n        for (OmsOrderItem orderItem : orderItemList) {\n            if (orderItem.getCouponAmount() != null) {\n                couponAmount = couponAmount.add(orderItem.getCouponAmount().multiply(new BigDecimal(orderItem.getProductQuantity())));\n            }\n        }\n        return couponAmount;\n    }\n\n    /**\n     * 计算订单活动优惠\n     */\n    private BigDecimal calcPromotionAmount(List<OmsOrderItem> orderItemList) {\n        BigDecimal promotionAmount = new BigDecimal(0);\n        for (OmsOrderItem orderItem : orderItemList) {\n            if (orderItem.getPromotionAmount() != null) {\n                promotionAmount = promotionAmount.add(orderItem.getPromotionAmount().multiply(new BigDecimal(orderItem.getProductQuantity())));\n            }\n        }\n        return promotionAmount;\n    }\n\n    /**\n     * 获取可用积分抵扣金额\n     *\n     * @param useIntegration 使用的积分数量\n     * @param totalAmount    订单总金额\n     * @param currentMember  使用的用户\n     * @param hasCoupon      是否已经使用优惠券\n     */\n    private BigDecimal getUseIntegrationAmount(Integer useIntegration, BigDecimal totalAmount, UmsMember currentMember, boolean hasCoupon) {\n        BigDecimal zeroAmount = new BigDecimal(0);\n        //判断用户是否有这么多积分\n        if (useIntegration.compareTo(currentMember.getIntegration()) > 0) {\n            return zeroAmount;\n        }\n        //根据积分使用规则判断是否可用\n        //是否可与优惠券共用\n        UmsIntegrationConsumeSetting integrationConsumeSetting = integrationConsumeSettingMapper.selectByPrimaryKey(1L);\n        if (hasCoupon && integrationConsumeSetting.getCouponStatus().equals(0)) {\n            //不可与优惠券共用\n            return zeroAmount;\n        }\n        //是否达到最低使用积分门槛\n        if (useIntegration.compareTo(integrationConsumeSetting.getUseUnit()) < 0) {\n            return zeroAmount;\n        }\n        //是否超过订单抵用最高百分比\n        BigDecimal integrationAmount = new BigDecimal(useIntegration).divide(new BigDecimal(integrationConsumeSetting.getUseUnit()), 2, RoundingMode.HALF_EVEN);\n        BigDecimal maxPercent = new BigDecimal(integrationConsumeSetting.getMaxPercentPerOrder()).divide(new BigDecimal(100), 2, RoundingMode.HALF_EVEN);\n        if (integrationAmount.compareTo(totalAmount.multiply(maxPercent)) > 0) {\n            return zeroAmount;\n        }\n        return integrationAmount;\n    }\n\n    /**\n     * 对优惠券优惠进行处理\n     *\n     * @param orderItemList       order_item列表\n     * @param couponHistoryDetail 可用优惠券详情\n     */\n    private void handleCouponAmount(List<OmsOrderItem> orderItemList, SmsCouponHistoryDetail couponHistoryDetail) {\n        SmsCoupon coupon = couponHistoryDetail.getCoupon();\n        if (coupon.getUseType().equals(0)) {\n            //全场通用\n            calcPerCouponAmount(orderItemList, coupon);\n        } else if (coupon.getUseType().equals(1)) {\n            //指定分类\n            List<OmsOrderItem> couponOrderItemList = getCouponOrderItemByRelation(couponHistoryDetail, orderItemList, 0);\n            calcPerCouponAmount(couponOrderItemList, coupon);\n        } else if (coupon.getUseType().equals(2)) {\n            //指定商品\n            List<OmsOrderItem> couponOrderItemList = getCouponOrderItemByRelation(couponHistoryDetail, orderItemList, 1);\n            calcPerCouponAmount(couponOrderItemList, coupon);\n        }\n    }\n\n    /**\n     * 对每个下单商品进行优惠券金额分摊的计算\n     *\n     * @param orderItemList 可用优惠券的下单商品商品\n     */\n    private void calcPerCouponAmount(List<OmsOrderItem> orderItemList, SmsCoupon coupon) {\n        BigDecimal totalAmount = calcTotalAmount(orderItemList);\n        for (OmsOrderItem orderItem : orderItemList) {\n            //(商品价格/可用商品总价)*优惠券面额\n            BigDecimal couponAmount = orderItem.getProductPrice().divide(totalAmount, 3, RoundingMode.HALF_EVEN).multiply(coupon.getAmount());\n            orderItem.setCouponAmount(couponAmount);\n        }\n    }\n\n    /**\n     * 获取与优惠券有关系的下单商品\n     *\n     * @param couponHistoryDetail 优惠券详情\n     * @param orderItemList       下单商品\n     * @param type                使用关系类型：0->相关分类；1->指定商品\n     */\n    private List<OmsOrderItem> getCouponOrderItemByRelation(SmsCouponHistoryDetail couponHistoryDetail, List<OmsOrderItem> orderItemList, int type) {\n        List<OmsOrderItem> result = new ArrayList<>();\n        if (type == 0) {\n            List<Long> categoryIdList = new ArrayList<>();\n            for (SmsCouponProductCategoryRelation productCategoryRelation : couponHistoryDetail.getCategoryRelationList()) {\n                categoryIdList.add(productCategoryRelation.getProductCategoryId());\n            }\n            for (OmsOrderItem orderItem : orderItemList) {\n                if (categoryIdList.contains(orderItem.getProductCategoryId())) {\n                    result.add(orderItem);\n                } else {\n                    orderItem.setCouponAmount(new BigDecimal(0));\n                }\n            }\n        } else if (type == 1) {\n            List<Long> productIdList = new ArrayList<>();\n            for (SmsCouponProductRelation productRelation : couponHistoryDetail.getProductRelationList()) {\n                productIdList.add(productRelation.getProductId());\n            }\n            for (OmsOrderItem orderItem : orderItemList) {\n                if (productIdList.contains(orderItem.getProductId())) {\n                    result.add(orderItem);\n                } else {\n                    orderItem.setCouponAmount(new BigDecimal(0));\n                }\n            }\n        }\n        return result;\n    }\n\n    /**\n     * 获取该用户可以使用的优惠券\n     *\n     * @param cartPromotionItemList 购物车优惠列表\n     * @param couponId              使用优惠券id\n     */\n    private SmsCouponHistoryDetail getUseCoupon(List<CartPromotionItem> cartPromotionItemList, Long couponId) {\n        List<SmsCouponHistoryDetail> couponHistoryDetailList = memberCouponService.listCart(cartPromotionItemList, 1);\n        for (SmsCouponHistoryDetail couponHistoryDetail : couponHistoryDetailList) {\n            if (couponHistoryDetail.getCoupon().getId().equals(couponId)) {\n                return couponHistoryDetail;\n            }\n        }\n        return null;\n    }\n\n    /**\n     * 计算总金额\n     */\n    private BigDecimal calcTotalAmount(List<OmsOrderItem> orderItemList) {\n        BigDecimal totalAmount = new BigDecimal(\"0\");\n        for (OmsOrderItem item : orderItemList) {\n            totalAmount = totalAmount.add(item.getProductPrice().multiply(new BigDecimal(item.getProductQuantity())));\n        }\n        return totalAmount;\n    }\n\n    /**\n     * 锁定下单商品的所有库存\n     */\n    private void lockStock(List<CartPromotionItem> cartPromotionItemList) {\n        for (CartPromotionItem cartPromotionItem : cartPromotionItemList) {\n            PmsSkuStock skuStock = skuStockMapper.selectByPrimaryKey(cartPromotionItem.getProductSkuId());\n            skuStock.setLockStock(skuStock.getLockStock() + cartPromotionItem.getQuantity());\n            int count = portalOrderDao.lockStockBySkuId(cartPromotionItem.getProductSkuId(),cartPromotionItem.getQuantity());\n            if(count==0){\n                Asserts.fail(\"库存不足，无法下单\");\n            }\n        }\n    }\n\n    /**\n     * 判断下单商品是否都有库存\n     */\n    private boolean hasStock(List<CartPromotionItem> cartPromotionItemList) {\n        for (CartPromotionItem cartPromotionItem : cartPromotionItemList) {\n            if (cartPromotionItem.getRealStock()==null //判断真实库存是否为空\n                    ||cartPromotionItem.getRealStock() <= 0 //判断真实库存是否小于0\n                    || cartPromotionItem.getRealStock() < cartPromotionItem.getQuantity()) //判断真实库存是否小于下单的数量\n            {\n                return false;\n            }\n        }\n        return true;\n    }\n\n    /**\n     * 计算购物车中商品的价格\n     */\n    private ConfirmOrderResult.CalcAmount calcCartAmount(List<CartPromotionItem> cartPromotionItemList) {\n        ConfirmOrderResult.CalcAmount calcAmount = new ConfirmOrderResult.CalcAmount();\n        calcAmount.setFreightAmount(new BigDecimal(0));\n        BigDecimal totalAmount = new BigDecimal(\"0\");\n        BigDecimal promotionAmount = new BigDecimal(\"0\");\n        for (CartPromotionItem cartPromotionItem : cartPromotionItemList) {\n            totalAmount = totalAmount.add(cartPromotionItem.getPrice().multiply(new BigDecimal(cartPromotionItem.getQuantity())));\n            promotionAmount = promotionAmount.add(cartPromotionItem.getReduceAmount().multiply(new BigDecimal(cartPromotionItem.getQuantity())));\n        }\n        calcAmount.setTotalAmount(totalAmount);\n        calcAmount.setPromotionAmount(promotionAmount);\n        calcAmount.setPayAmount(totalAmount.subtract(promotionAmount));\n        return calcAmount;\n    }\n\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPromotionServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.model.OmsCartItem;\nimport com.macro.mall.model.PmsProductFullReduction;\nimport com.macro.mall.model.PmsProductLadder;\nimport com.macro.mall.model.PmsSkuStock;\nimport com.macro.mall.portal.dao.PortalProductDao;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport com.macro.mall.portal.domain.PromotionProduct;\nimport com.macro.mall.portal.service.OmsPromotionService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.math.BigDecimal;\nimport java.math.RoundingMode;\nimport java.util.*;\n\n/**\n * Created by macro on 2018/8/27.\n * 促销管理Service实现类\n */\n@Service\npublic class OmsPromotionServiceImpl implements OmsPromotionService {\n    @Autowired\n    private PortalProductDao portalProductDao;\n\n    @Override\n    public List<CartPromotionItem> calcCartPromotion(List<OmsCartItem> cartItemList) {\n        //1.先根据productId对CartItem进行分组，以spu为单位进行计算优惠\n        Map<Long, List<OmsCartItem>> productCartMap = groupCartItemBySpu(cartItemList);\n        //2.查询所有商品的优惠相关信息\n        List<PromotionProduct> promotionProductList = getPromotionProductList(cartItemList);\n        //3.根据商品促销类型计算商品促销优惠价格\n        List<CartPromotionItem> cartPromotionItemList = new ArrayList<>();\n        for (Map.Entry<Long, List<OmsCartItem>> entry : productCartMap.entrySet()) {\n            Long productId = entry.getKey();\n            PromotionProduct promotionProduct = getPromotionProductById(productId, promotionProductList);\n            List<OmsCartItem> itemList = entry.getValue();\n            Integer promotionType = promotionProduct.getPromotionType();\n            if (promotionType == 1) {\n                //单品促销\n                for (OmsCartItem item : itemList) {\n                    CartPromotionItem cartPromotionItem = new CartPromotionItem();\n                    BeanUtils.copyProperties(item,cartPromotionItem);\n                    cartPromotionItem.setPromotionMessage(\"单品促销\");\n                    //商品原价-促销价\n                    PmsSkuStock skuStock = getOriginalPrice(promotionProduct, item.getProductSkuId());\n                    BigDecimal originalPrice = skuStock.getPrice();\n                    //单品促销使用原价\n                    cartPromotionItem.setPrice(originalPrice);\n                    cartPromotionItem.setReduceAmount(originalPrice.subtract(skuStock.getPromotionPrice()));\n                    cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock());\n                    cartPromotionItem.setIntegration(promotionProduct.getGiftPoint());\n                    cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth());\n                    cartPromotionItemList.add(cartPromotionItem);\n                }\n            } else if (promotionType == 3) {\n                //打折优惠\n                int count = getCartItemCount(itemList);\n                PmsProductLadder ladder = getProductLadder(count, promotionProduct.getProductLadderList());\n                if(ladder!=null){\n                    for (OmsCartItem item : itemList) {\n                        CartPromotionItem cartPromotionItem = new CartPromotionItem();\n                        BeanUtils.copyProperties(item,cartPromotionItem);\n                        String message = getLadderPromotionMessage(ladder);\n                        cartPromotionItem.setPromotionMessage(message);\n                        //商品原价-折扣*商品原价\n                        PmsSkuStock skuStock = getOriginalPrice(promotionProduct,item.getProductSkuId());\n                        BigDecimal originalPrice = skuStock.getPrice();\n                        BigDecimal reduceAmount = originalPrice.subtract(ladder.getDiscount().multiply(originalPrice));\n                        cartPromotionItem.setReduceAmount(reduceAmount);\n                        cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock());\n                        cartPromotionItem.setIntegration(promotionProduct.getGiftPoint());\n                        cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth());\n                        cartPromotionItemList.add(cartPromotionItem);\n                    }\n                }else{\n                    handleNoReduce(cartPromotionItemList,itemList,promotionProduct);\n                }\n            } else if (promotionType == 4) {\n                //满减\n                BigDecimal totalAmount= getCartItemAmount(itemList,promotionProductList);\n                PmsProductFullReduction fullReduction = getProductFullReduction(totalAmount,promotionProduct.getProductFullReductionList());\n                if(fullReduction!=null){\n                    for (OmsCartItem item : itemList) {\n                        CartPromotionItem cartPromotionItem = new CartPromotionItem();\n                        BeanUtils.copyProperties(item,cartPromotionItem);\n                        String message = getFullReductionPromotionMessage(fullReduction);\n                        cartPromotionItem.setPromotionMessage(message);\n                        //(商品原价/总价)*满减金额\n                        PmsSkuStock skuStock= getOriginalPrice(promotionProduct, item.getProductSkuId());\n                        BigDecimal originalPrice = skuStock.getPrice();\n                        BigDecimal reduceAmount = originalPrice.divide(totalAmount,RoundingMode.HALF_EVEN).multiply(fullReduction.getReducePrice());\n                        cartPromotionItem.setReduceAmount(reduceAmount);\n                        cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock());\n                        cartPromotionItem.setIntegration(promotionProduct.getGiftPoint());\n                        cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth());\n                        cartPromotionItemList.add(cartPromotionItem);\n                    }\n                }else{\n                    handleNoReduce(cartPromotionItemList,itemList,promotionProduct);\n                }\n            } else {\n                //无优惠\n                handleNoReduce(cartPromotionItemList, itemList,promotionProduct);\n            }\n        }\n        return cartPromotionItemList;\n    }\n\n    /**\n     * 查询所有商品的优惠相关信息\n     */\n    private List<PromotionProduct> getPromotionProductList(List<OmsCartItem> cartItemList) {\n        List<Long> productIdList = new ArrayList<>();\n        for(OmsCartItem cartItem:cartItemList){\n            productIdList.add(cartItem.getProductId());\n        }\n        return portalProductDao.getPromotionProductList(productIdList);\n    }\n\n    /**\n     * 以spu为单位对购物车中商品进行分组\n     */\n    private Map<Long, List<OmsCartItem>> groupCartItemBySpu(List<OmsCartItem> cartItemList) {\n        Map<Long, List<OmsCartItem>> productCartMap = new TreeMap<>();\n        for (OmsCartItem cartItem : cartItemList) {\n            List<OmsCartItem> productCartItemList = productCartMap.get(cartItem.getProductId());\n            if (productCartItemList == null) {\n                productCartItemList = new ArrayList<>();\n                productCartItemList.add(cartItem);\n                productCartMap.put(cartItem.getProductId(), productCartItemList);\n            } else {\n                productCartItemList.add(cartItem);\n            }\n        }\n        return productCartMap;\n    }\n\n    /**\n     * 获取满减促销消息\n     */\n    private String getFullReductionPromotionMessage(PmsProductFullReduction fullReduction) {\n        StringBuilder sb = new StringBuilder();\n        sb.append(\"满减优惠：\");\n        sb.append(\"满\");\n        sb.append(fullReduction.getFullPrice());\n        sb.append(\"元，\");\n        sb.append(\"减\");\n        sb.append(fullReduction.getReducePrice());\n        sb.append(\"元\");\n        return sb.toString();\n    }\n\n    /**\n     * 对没满足优惠条件的商品进行处理\n     */\n    private void handleNoReduce(List<CartPromotionItem> cartPromotionItemList, List<OmsCartItem> itemList,PromotionProduct promotionProduct) {\n        for (OmsCartItem item : itemList) {\n            CartPromotionItem cartPromotionItem = new CartPromotionItem();\n            BeanUtils.copyProperties(item,cartPromotionItem);\n            cartPromotionItem.setPromotionMessage(\"无优惠\");\n            cartPromotionItem.setReduceAmount(new BigDecimal(0));\n            PmsSkuStock skuStock = getOriginalPrice(promotionProduct,item.getProductSkuId());\n            if(skuStock!=null){\n                cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock());\n            }\n            cartPromotionItem.setIntegration(promotionProduct.getGiftPoint());\n            cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth());\n            cartPromotionItemList.add(cartPromotionItem);\n        }\n    }\n\n    private PmsProductFullReduction getProductFullReduction(BigDecimal totalAmount,List<PmsProductFullReduction> fullReductionList) {\n        //按条件从高到低排序\n        fullReductionList.sort(new Comparator<PmsProductFullReduction>() {\n            @Override\n            public int compare(PmsProductFullReduction o1, PmsProductFullReduction o2) {\n                return o2.getFullPrice().subtract(o1.getFullPrice()).intValue();\n            }\n        });\n        for(PmsProductFullReduction fullReduction:fullReductionList){\n            if(totalAmount.subtract(fullReduction.getFullPrice()).intValue()>=0){\n                return fullReduction;\n            }\n        }\n        return null;\n    }\n\n    /**\n     * 获取打折优惠的促销信息\n     */\n    private String getLadderPromotionMessage(PmsProductLadder ladder) {\n        StringBuilder sb = new StringBuilder();\n        sb.append(\"打折优惠：\");\n        sb.append(\"满\");\n        sb.append(ladder.getCount());\n        sb.append(\"件，\");\n        sb.append(\"打\");\n        sb.append(ladder.getDiscount().multiply(new BigDecimal(10)));\n        sb.append(\"折\");\n        return sb.toString();\n    }\n\n    /**\n     * 根据购买商品数量获取满足条件的打折优惠策略\n     */\n    private PmsProductLadder getProductLadder(int count, List<PmsProductLadder> productLadderList) {\n        //按数量从大到小排序\n        productLadderList.sort(new Comparator<PmsProductLadder>() {\n            @Override\n            public int compare(PmsProductLadder o1, PmsProductLadder o2) {\n                return o2.getCount() - o1.getCount();\n            }\n        });\n        for (PmsProductLadder productLadder : productLadderList) {\n            if (count >= productLadder.getCount()) {\n                return productLadder;\n            }\n        }\n        return null;\n    }\n\n    /**\n     * 获取购物车中指定商品的数量\n     */\n    private int getCartItemCount(List<OmsCartItem> itemList) {\n        int count = 0;\n        for (OmsCartItem item : itemList) {\n            count += item.getQuantity();\n        }\n        return count;\n    }\n\n    /**\n     * 获取购物车中指定商品的总价\n     */\n    private BigDecimal getCartItemAmount(List<OmsCartItem> itemList, List<PromotionProduct> promotionProductList) {\n        BigDecimal amount = new BigDecimal(0);\n        for (OmsCartItem item : itemList) {\n            //计算出商品原价\n            PromotionProduct promotionProduct = getPromotionProductById(item.getProductId(), promotionProductList);\n            PmsSkuStock skuStock = getOriginalPrice(promotionProduct,item.getProductSkuId());\n            amount = amount.add(skuStock.getPrice().multiply(new BigDecimal(item.getQuantity())));\n        }\n        return amount;\n    }\n\n    /**\n     * 获取商品的原价\n     */\n    private PmsSkuStock getOriginalPrice(PromotionProduct promotionProduct, Long productSkuId) {\n        for (PmsSkuStock skuStock : promotionProduct.getSkuStockList()) {\n            if (productSkuId.equals(skuStock.getId())) {\n                return skuStock;\n            }\n        }\n        return null;\n    }\n\n    /**\n     * 根据商品id获取商品的促销信息\n     */\n    private PromotionProduct getPromotionProductById(Long productId, List<PromotionProduct> promotionProductList) {\n        for (PromotionProduct promotionProduct : promotionProductList) {\n            if (productId.equals(promotionProduct.getId())) {\n                return promotionProduct;\n            }\n        }\n        return null;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/PmsPortalBrandServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.mapper.PmsBrandMapper;\nimport com.macro.mall.mapper.PmsProductMapper;\nimport com.macro.mall.model.PmsBrand;\nimport com.macro.mall.model.PmsProduct;\nimport com.macro.mall.model.PmsProductExample;\nimport com.macro.mall.portal.dao.HomeDao;\nimport com.macro.mall.portal.service.PmsPortalBrandService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * 前台品牌管理Service实现类\n * Created by macro on 2020/5/15.\n */\n@Service\npublic class PmsPortalBrandServiceImpl implements PmsPortalBrandService {\n    @Autowired\n    private HomeDao homeDao;\n    @Autowired\n    private PmsBrandMapper brandMapper;\n    @Autowired\n    private PmsProductMapper productMapper;\n\n    @Override\n    public List<PmsBrand> recommendList(Integer pageNum, Integer pageSize) {\n        int offset = (pageNum - 1) * pageSize;\n        return homeDao.getRecommendBrandList(offset, pageSize);\n    }\n\n    @Override\n    public PmsBrand detail(Long brandId) {\n        return brandMapper.selectByPrimaryKey(brandId);\n    }\n\n    @Override\n    public CommonPage<PmsProduct> productList(Long brandId, Integer pageNum, Integer pageSize) {\n        PageHelper.startPage(pageNum,pageSize);\n        PmsProductExample example = new PmsProductExample();\n        example.createCriteria().andDeleteStatusEqualTo(0)\n                .andPublishStatusEqualTo(1)\n                .andBrandIdEqualTo(brandId);\n        List<PmsProduct> productList = productMapper.selectByExample(example);\n        return CommonPage.restPage(productList);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/PmsPortalProductServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport cn.hutool.core.collection.CollUtil;\nimport cn.hutool.core.util.StrUtil;\nimport com.github.pagehelper.PageHelper;\nimport com.macro.mall.mapper.*;\nimport com.macro.mall.model.*;\nimport com.macro.mall.portal.dao.PortalProductDao;\nimport com.macro.mall.portal.domain.PmsPortalProductDetail;\nimport com.macro.mall.portal.domain.PmsProductCategoryNode;\nimport com.macro.mall.portal.service.PmsPortalProductService;\nimport org.springframework.beans.BeanUtils;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\nimport java.util.stream.Collectors;\n\n/**\n * 前台订单管理Service实现类\n * Created by macro on 2020/4/6.\n */\n@Service\npublic class PmsPortalProductServiceImpl implements PmsPortalProductService {\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Autowired\n    private PmsProductCategoryMapper productCategoryMapper;\n    @Autowired\n    private PmsBrandMapper brandMapper;\n    @Autowired\n    private PmsProductAttributeMapper productAttributeMapper;\n    @Autowired\n    private PmsProductAttributeValueMapper productAttributeValueMapper;\n    @Autowired\n    private PmsSkuStockMapper skuStockMapper;\n    @Autowired\n    private PmsProductLadderMapper productLadderMapper;\n    @Autowired\n    private PmsProductFullReductionMapper productFullReductionMapper;\n    @Autowired\n    private PortalProductDao portalProductDao;\n\n    @Override\n    public List<PmsProduct> search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize, Integer sort) {\n        PageHelper.startPage(pageNum, pageSize);\n        PmsProductExample example = new PmsProductExample();\n        PmsProductExample.Criteria criteria = example.createCriteria();\n        criteria.andDeleteStatusEqualTo(0);\n        criteria.andPublishStatusEqualTo(1);\n        if (StrUtil.isNotEmpty(keyword)) {\n            criteria.andNameLike(\"%\" + keyword + \"%\");\n        }\n        if (brandId != null) {\n            criteria.andBrandIdEqualTo(brandId);\n        }\n        if (productCategoryId != null) {\n            criteria.andProductCategoryIdEqualTo(productCategoryId);\n        }\n        //1->按新品；2->按销量；3->价格从低到高；4->价格从高到低\n        if (sort == 1) {\n            example.setOrderByClause(\"id desc\");\n        } else if (sort == 2) {\n            example.setOrderByClause(\"sale desc\");\n        } else if (sort == 3) {\n            example.setOrderByClause(\"price asc\");\n        } else if (sort == 4) {\n            example.setOrderByClause(\"price desc\");\n        }\n        return productMapper.selectByExample(example);\n    }\n\n    @Override\n    public List<PmsProductCategoryNode> categoryTreeList() {\n        PmsProductCategoryExample example = new PmsProductCategoryExample();\n        List<PmsProductCategory> allList = productCategoryMapper.selectByExample(example);\n        List<PmsProductCategoryNode> result = allList.stream()\n                .filter(item -> item.getParentId().equals(0L))\n                .map(item -> covert(item, allList))\n                .collect(Collectors.toList());\n        return result;\n    }\n\n    @Override\n    public PmsPortalProductDetail detail(Long id) {\n        PmsPortalProductDetail result = new PmsPortalProductDetail();\n        //获取商品信息\n        PmsProduct product = productMapper.selectByPrimaryKey(id);\n        result.setProduct(product);\n        //获取品牌信息\n        PmsBrand brand = brandMapper.selectByPrimaryKey(product.getBrandId());\n        result.setBrand(brand);\n        //获取商品属性信息\n        PmsProductAttributeExample attributeExample = new PmsProductAttributeExample();\n        attributeExample.createCriteria().andProductAttributeCategoryIdEqualTo(product.getProductAttributeCategoryId());\n        List<PmsProductAttribute> productAttributeList = productAttributeMapper.selectByExample(attributeExample);\n        result.setProductAttributeList(productAttributeList);\n        //获取商品属性值信息\n        if(CollUtil.isNotEmpty(productAttributeList)){\n            List<Long> attributeIds = productAttributeList.stream().map(PmsProductAttribute::getId).collect(Collectors.toList());\n            PmsProductAttributeValueExample attributeValueExample = new PmsProductAttributeValueExample();\n            attributeValueExample.createCriteria().andProductIdEqualTo(product.getId())\n                    .andProductAttributeIdIn(attributeIds);\n            List<PmsProductAttributeValue> productAttributeValueList = productAttributeValueMapper.selectByExample(attributeValueExample);\n            result.setProductAttributeValueList(productAttributeValueList);\n        }\n        //获取商品SKU库存信息\n        PmsSkuStockExample skuExample = new PmsSkuStockExample();\n        skuExample.createCriteria().andProductIdEqualTo(product.getId());\n        List<PmsSkuStock> skuStockList = skuStockMapper.selectByExample(skuExample);\n        result.setSkuStockList(skuStockList);\n        //商品阶梯价格设置\n        if(product.getPromotionType()==3){\n            PmsProductLadderExample ladderExample = new PmsProductLadderExample();\n            ladderExample.createCriteria().andProductIdEqualTo(product.getId());\n            List<PmsProductLadder> productLadderList = productLadderMapper.selectByExample(ladderExample);\n            result.setProductLadderList(productLadderList);\n        }\n        //商品满减价格设置\n        if(product.getPromotionType()==4){\n            PmsProductFullReductionExample fullReductionExample = new PmsProductFullReductionExample();\n            fullReductionExample.createCriteria().andProductIdEqualTo(product.getId());\n            List<PmsProductFullReduction> productFullReductionList = productFullReductionMapper.selectByExample(fullReductionExample);\n            result.setProductFullReductionList(productFullReductionList);\n        }\n        //商品可用优惠券\n        result.setCouponList(portalProductDao.getAvailableCouponList(product.getId(),product.getProductCategoryId()));\n        return result;\n    }\n\n\n    /**\n     * 初始对象转化为节点对象\n     */\n    private PmsProductCategoryNode covert(PmsProductCategory item, List<PmsProductCategory> allList) {\n        PmsProductCategoryNode node = new PmsProductCategoryNode();\n        BeanUtils.copyProperties(item, node);\n        List<PmsProductCategoryNode> children = allList.stream()\n                .filter(subItem -> subItem.getParentId().equals(item.getId()))\n                .map(subItem -> covert(subItem, allList)).collect(Collectors.toList());\n        node.setChildren(children);\n        return node;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberCacheServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.common.service.RedisService;\nimport com.macro.mall.mapper.UmsMemberMapper;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.portal.service.UmsMemberCacheService;\nimport com.macro.mall.security.annotation.CacheException;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.stereotype.Service;\n\n/**\n * UmsMemberCacheService实现类\n * Created by macro on 2020/3/14.\n */\n@Service\npublic class UmsMemberCacheServiceImpl implements UmsMemberCacheService {\n    @Autowired\n    private RedisService redisService;\n    @Autowired\n    private UmsMemberMapper memberMapper;\n    @Value(\"${redis.database}\")\n    private String REDIS_DATABASE;\n    @Value(\"${redis.expire.common}\")\n    private Long REDIS_EXPIRE;\n    @Value(\"${redis.expire.authCode}\")\n    private Long REDIS_EXPIRE_AUTH_CODE;\n    @Value(\"${redis.key.member}\")\n    private String REDIS_KEY_MEMBER;\n    @Value(\"${redis.key.authCode}\")\n    private String REDIS_KEY_AUTH_CODE;\n\n    @Override\n    public void delMember(Long memberId) {\n        UmsMember umsMember = memberMapper.selectByPrimaryKey(memberId);\n        if (umsMember != null) {\n            String key = REDIS_DATABASE + \":\" + REDIS_KEY_MEMBER + \":\" + umsMember.getUsername();\n            redisService.del(key);\n        }\n    }\n\n    @Override\n    public UmsMember getMember(String username) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_MEMBER + \":\" + username;\n        return (UmsMember) redisService.get(key);\n    }\n\n    @Override\n    public void setMember(UmsMember member) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_MEMBER + \":\" + member.getUsername();\n        redisService.set(key, member, REDIS_EXPIRE);\n    }\n\n    @CacheException\n    @Override\n    public void setAuthCode(String telephone, String authCode) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_AUTH_CODE + \":\" + telephone;\n        redisService.set(key,authCode,REDIS_EXPIRE_AUTH_CODE);\n    }\n\n    @CacheException\n    @Override\n    public String getAuthCode(String telephone) {\n        String key = REDIS_DATABASE + \":\" + REDIS_KEY_AUTH_CODE + \":\" + telephone;\n        return (String) redisService.get(key);\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberCouponServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport cn.hutool.core.collection.CollUtil;\nimport com.macro.mall.common.exception.Asserts;\nimport com.macro.mall.mapper.*;\nimport com.macro.mall.model.*;\nimport com.macro.mall.portal.dao.SmsCouponHistoryDao;\nimport com.macro.mall.portal.domain.CartPromotionItem;\nimport com.macro.mall.portal.domain.SmsCouponHistoryDetail;\nimport com.macro.mall.portal.service.UmsMemberCouponService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport java.math.BigDecimal;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.Random;\nimport java.util.stream.Collectors;\n\n/**\n * 会员优惠券管理Service实现类\n * Created by macro on 2018/8/29.\n */\n@Service\npublic class UmsMemberCouponServiceImpl implements UmsMemberCouponService {\n    @Autowired\n    private UmsMemberService memberService;\n    @Autowired\n    private SmsCouponMapper couponMapper;\n    @Autowired\n    private SmsCouponHistoryMapper couponHistoryMapper;\n    @Autowired\n    private SmsCouponHistoryDao couponHistoryDao;\n    @Autowired\n    private SmsCouponProductRelationMapper couponProductRelationMapper;\n    @Autowired\n    private SmsCouponProductCategoryRelationMapper couponProductCategoryRelationMapper;\n    @Autowired\n    private PmsProductMapper productMapper;\n    @Override\n    public void add(Long couponId) {\n        UmsMember currentMember = memberService.getCurrentMember();\n        //获取优惠券信息，判断数量\n        SmsCoupon coupon = couponMapper.selectByPrimaryKey(couponId);\n        if(coupon==null){\n            Asserts.fail(\"优惠券不存在\");\n        }\n        if(coupon.getCount()<=0){\n            Asserts.fail(\"优惠券已经领完了\");\n        }\n        Date now = new Date();\n        if(now.before(coupon.getEnableTime())){\n            Asserts.fail(\"优惠券还没到领取时间\");\n        }\n        //判断用户领取的优惠券数量是否超过限制\n        SmsCouponHistoryExample couponHistoryExample = new SmsCouponHistoryExample();\n        couponHistoryExample.createCriteria().andCouponIdEqualTo(couponId).andMemberIdEqualTo(currentMember.getId());\n        long count = couponHistoryMapper.countByExample(couponHistoryExample);\n        if(count>=coupon.getPerLimit()){\n            Asserts.fail(\"您已经领取过该优惠券\");\n        }\n        //生成领取优惠券历史\n        SmsCouponHistory couponHistory = new SmsCouponHistory();\n        couponHistory.setCouponId(couponId);\n        couponHistory.setCouponCode(generateCouponCode(currentMember.getId()));\n        couponHistory.setCreateTime(now);\n        couponHistory.setMemberId(currentMember.getId());\n        couponHistory.setMemberNickname(currentMember.getNickname());\n        //主动领取\n        couponHistory.setGetType(1);\n        //未使用\n        couponHistory.setUseStatus(0);\n        couponHistoryMapper.insert(couponHistory);\n        //修改优惠券表的数量、领取数量\n        coupon.setCount(coupon.getCount()-1);\n        coupon.setReceiveCount(coupon.getReceiveCount()==null?1:coupon.getReceiveCount()+1);\n        couponMapper.updateByPrimaryKey(coupon);\n    }\n\n    /**\n     * 16位优惠码生成：时间戳后8位+4位随机数+用户id后4位\n     */\n    private String generateCouponCode(Long memberId) {\n        StringBuilder sb = new StringBuilder();\n        Long currentTimeMillis = System.currentTimeMillis();\n        String timeMillisStr = currentTimeMillis.toString();\n        sb.append(timeMillisStr.substring(timeMillisStr.length() - 8));\n        for (int i = 0; i < 4; i++) {\n            sb.append(new Random().nextInt(10));\n        }\n        String memberIdStr = memberId.toString();\n        if (memberIdStr.length() <= 4) {\n            sb.append(String.format(\"%04d\", memberId));\n        } else {\n            sb.append(memberIdStr.substring(memberIdStr.length()-4));\n        }\n        return sb.toString();\n    }\n\n    @Override\n    public List<SmsCouponHistory> listHistory(Integer useStatus) {\n        UmsMember currentMember = memberService.getCurrentMember();\n        SmsCouponHistoryExample couponHistoryExample=new SmsCouponHistoryExample();\n        SmsCouponHistoryExample.Criteria criteria = couponHistoryExample.createCriteria();\n        criteria.andMemberIdEqualTo(currentMember.getId());\n        if(useStatus!=null){\n            criteria.andUseStatusEqualTo(useStatus);\n        }\n        return couponHistoryMapper.selectByExample(couponHistoryExample);\n    }\n\n    @Override\n    public List<SmsCouponHistoryDetail> listCart(List<CartPromotionItem> cartItemList, Integer type) {\n        UmsMember currentMember = memberService.getCurrentMember();\n        Date now = new Date();\n        //获取该用户所有优惠券\n        List<SmsCouponHistoryDetail> allList = couponHistoryDao.getDetailList(currentMember.getId());\n        //根据优惠券使用类型来判断优惠券是否可用\n        List<SmsCouponHistoryDetail> enableList = new ArrayList<>();\n        List<SmsCouponHistoryDetail> disableList = new ArrayList<>();\n        for (SmsCouponHistoryDetail couponHistoryDetail : allList) {\n            Integer useType = couponHistoryDetail.getCoupon().getUseType();\n            BigDecimal minPoint = couponHistoryDetail.getCoupon().getMinPoint();\n            Date endTime = couponHistoryDetail.getCoupon().getEndTime();\n            if(useType.equals(0)){\n                //0->全场通用\n                //判断是否满足优惠起点\n                //计算购物车商品的总价\n                BigDecimal totalAmount = calcTotalAmount(cartItemList);\n                if(now.before(endTime)&&totalAmount.subtract(minPoint).floatValue()>=0){\n                    enableList.add(couponHistoryDetail);\n                }else{\n                    disableList.add(couponHistoryDetail);\n                }\n            }else if(useType.equals(1)){\n                //1->指定分类\n                //计算指定分类商品的总价\n                List<Long> productCategoryIds = new ArrayList<>();\n                for (SmsCouponProductCategoryRelation categoryRelation : couponHistoryDetail.getCategoryRelationList()) {\n                    productCategoryIds.add(categoryRelation.getProductCategoryId());\n                }\n                BigDecimal totalAmount = calcTotalAmountByproductCategoryId(cartItemList,productCategoryIds);\n                if(now.before(endTime)&&totalAmount.floatValue()>0&&totalAmount.subtract(minPoint).floatValue()>=0){\n                    enableList.add(couponHistoryDetail);\n                }else{\n                    disableList.add(couponHistoryDetail);\n                }\n            }else if(useType.equals(2)){\n                //2->指定商品\n                //计算指定商品的总价\n                List<Long> productIds = new ArrayList<>();\n                for (SmsCouponProductRelation productRelation : couponHistoryDetail.getProductRelationList()) {\n                    productIds.add(productRelation.getProductId());\n                }\n                BigDecimal totalAmount = calcTotalAmountByProductId(cartItemList,productIds);\n                if(now.before(endTime)&&totalAmount.floatValue()>0&&totalAmount.subtract(minPoint).floatValue()>=0){\n                    enableList.add(couponHistoryDetail);\n                }else{\n                    disableList.add(couponHistoryDetail);\n                }\n            }\n        }\n        if(type.equals(1)){\n            return enableList;\n        }else{\n            return disableList;\n        }\n    }\n\n    @Override\n    public List<SmsCoupon> listByProduct(Long productId) {\n        List<Long> allCouponIds = new ArrayList<>();\n        //获取指定商品优惠券\n        SmsCouponProductRelationExample cprExample = new SmsCouponProductRelationExample();\n        cprExample.createCriteria().andProductIdEqualTo(productId);\n        List<SmsCouponProductRelation> cprList = couponProductRelationMapper.selectByExample(cprExample);\n        if(CollUtil.isNotEmpty(cprList)){\n            List<Long> couponIds = cprList.stream().map(SmsCouponProductRelation::getCouponId).collect(Collectors.toList());\n            allCouponIds.addAll(couponIds);\n        }\n        //获取指定分类优惠券\n        PmsProduct product = productMapper.selectByPrimaryKey(productId);\n        SmsCouponProductCategoryRelationExample cpcrExample = new SmsCouponProductCategoryRelationExample();\n        cpcrExample.createCriteria().andProductCategoryIdEqualTo(product.getProductCategoryId());\n        List<SmsCouponProductCategoryRelation> cpcrList = couponProductCategoryRelationMapper.selectByExample(cpcrExample);\n        if(CollUtil.isNotEmpty(cpcrList)){\n            List<Long> couponIds = cpcrList.stream().map(SmsCouponProductCategoryRelation::getCouponId).collect(Collectors.toList());\n            allCouponIds.addAll(couponIds);\n        }\n        //所有优惠券\n        SmsCouponExample couponExample = new SmsCouponExample();\n        couponExample.createCriteria().andEndTimeGreaterThan(new Date())\n                .andStartTimeLessThan(new Date())\n                .andUseTypeEqualTo(0);\n        if(CollUtil.isNotEmpty(allCouponIds)){\n            couponExample.or(couponExample.createCriteria()\n                    .andEndTimeGreaterThan(new Date())\n                    .andStartTimeLessThan(new Date())\n                    .andUseTypeNotEqualTo(0)\n                    .andIdIn(allCouponIds));\n        }\n        return couponMapper.selectByExample(couponExample);\n    }\n\n    @Override\n    public List<SmsCoupon> list(Integer useStatus) {\n        UmsMember member = memberService.getCurrentMember();\n        return couponHistoryDao.getCouponList(member.getId(),useStatus);\n    }\n\n    private BigDecimal calcTotalAmount(List<CartPromotionItem> cartItemList) {\n        BigDecimal total = new BigDecimal(\"0\");\n        for (CartPromotionItem item : cartItemList) {\n            BigDecimal realPrice = item.getPrice().subtract(item.getReduceAmount());\n            total=total.add(realPrice.multiply(new BigDecimal(item.getQuantity())));\n        }\n        return total;\n    }\n\n    private BigDecimal calcTotalAmountByproductCategoryId(List<CartPromotionItem> cartItemList,List<Long> productCategoryIds) {\n        BigDecimal total = new BigDecimal(\"0\");\n        for (CartPromotionItem item : cartItemList) {\n            if(productCategoryIds.contains(item.getProductCategoryId())){\n                BigDecimal realPrice = item.getPrice().subtract(item.getReduceAmount());\n                total=total.add(realPrice.multiply(new BigDecimal(item.getQuantity())));\n            }\n        }\n        return total;\n    }\n\n    private BigDecimal calcTotalAmountByProductId(List<CartPromotionItem> cartItemList,List<Long> productIds) {\n        BigDecimal total = new BigDecimal(\"0\");\n        for (CartPromotionItem item : cartItemList) {\n            if(productIds.contains(item.getProductId())){\n                BigDecimal realPrice = item.getPrice().subtract(item.getReduceAmount());\n                total=total.add(realPrice.multiply(new BigDecimal(item.getQuantity())));\n            }\n        }\n        return total;\n    }\n\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberReceiveAddressServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport com.macro.mall.mapper.UmsMemberReceiveAddressMapper;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.model.UmsMemberReceiveAddress;\nimport com.macro.mall.model.UmsMemberReceiveAddressExample;\nimport com.macro.mall.portal.service.UmsMemberReceiveAddressService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.util.List;\n\n/**\n * 用户地址管理Service实现类\n * Created by macro on 2018/8/28.\n */\n@Service\npublic class UmsMemberReceiveAddressServiceImpl implements UmsMemberReceiveAddressService {\n    @Autowired\n    private UmsMemberService memberService;\n    @Autowired\n    private UmsMemberReceiveAddressMapper addressMapper;\n    @Override\n    public int add(UmsMemberReceiveAddress address) {\n        UmsMember currentMember = memberService.getCurrentMember();\n        address.setMemberId(currentMember.getId());\n        return addressMapper.insert(address);\n    }\n\n    @Override\n    public int delete(Long id) {\n        UmsMember currentMember = memberService.getCurrentMember();\n        UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();\n        example.createCriteria().andMemberIdEqualTo(currentMember.getId()).andIdEqualTo(id);\n        return addressMapper.deleteByExample(example);\n    }\n\n    @Override\n    public int update(Long id, UmsMemberReceiveAddress address) {\n        address.setId(null);\n        UmsMember currentMember = memberService.getCurrentMember();\n        UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();\n        example.createCriteria().andMemberIdEqualTo(currentMember.getId()).andIdEqualTo(id);\n        if(address.getDefaultStatus()==null){\n            address.setDefaultStatus(0);\n        }\n        if(address.getDefaultStatus()==1){\n            //先将原来的默认地址去除\n            UmsMemberReceiveAddress record= new UmsMemberReceiveAddress();\n            record.setDefaultStatus(0);\n            UmsMemberReceiveAddressExample updateExample = new UmsMemberReceiveAddressExample();\n            updateExample.createCriteria()\n                    .andMemberIdEqualTo(currentMember.getId())\n                    .andDefaultStatusEqualTo(1);\n            addressMapper.updateByExampleSelective(record,updateExample);\n        }\n        return addressMapper.updateByExampleSelective(address,example);\n    }\n\n    @Override\n    public List<UmsMemberReceiveAddress> list() {\n        UmsMember currentMember = memberService.getCurrentMember();\n        UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();\n        example.createCriteria().andMemberIdEqualTo(currentMember.getId());\n        return addressMapper.selectByExample(example);\n    }\n\n    @Override\n    public UmsMemberReceiveAddress getItem(Long id) {\n        UmsMember currentMember = memberService.getCurrentMember();\n        UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();\n        example.createCriteria().andMemberIdEqualTo(currentMember.getId()).andIdEqualTo(id);\n        List<UmsMemberReceiveAddress> addressList = addressMapper.selectByExample(example);\n        if(!CollectionUtils.isEmpty(addressList)){\n            return addressList.get(0);\n        }\n        return null;\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberServiceImpl.java",
    "content": "package com.macro.mall.portal.service.impl;\n\nimport cn.hutool.core.util.StrUtil;\nimport com.macro.mall.common.exception.Asserts;\nimport com.macro.mall.mapper.UmsMemberLevelMapper;\nimport com.macro.mall.mapper.UmsMemberMapper;\nimport com.macro.mall.model.UmsMember;\nimport com.macro.mall.model.UmsMemberExample;\nimport com.macro.mall.model.UmsMemberLevel;\nimport com.macro.mall.model.UmsMemberLevelExample;\nimport com.macro.mall.portal.domain.MemberDetails;\nimport com.macro.mall.portal.service.UmsMemberCacheService;\nimport com.macro.mall.portal.service.UmsMemberService;\nimport com.macro.mall.security.util.JwtTokenUtil;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.security.authentication.BadCredentialsException;\nimport org.springframework.security.authentication.UsernamePasswordAuthenticationToken;\nimport org.springframework.security.core.Authentication;\nimport org.springframework.security.core.AuthenticationException;\nimport org.springframework.security.core.context.SecurityContext;\nimport org.springframework.security.core.context.SecurityContextHolder;\nimport org.springframework.security.core.userdetails.UserDetails;\nimport org.springframework.security.core.userdetails.UsernameNotFoundException;\nimport org.springframework.security.crypto.password.PasswordEncoder;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.util.Date;\nimport java.util.List;\nimport java.util.Random;\n\n/**\n * 会员管理Service实现类\n * Created by macro on 2018/8/3.\n */\n@Service\npublic class UmsMemberServiceImpl implements UmsMemberService {\n    private static final Logger LOGGER = LoggerFactory.getLogger(UmsMemberServiceImpl.class);\n    @Autowired\n    private PasswordEncoder passwordEncoder;\n    @Autowired\n    private JwtTokenUtil jwtTokenUtil;\n    @Autowired\n    private UmsMemberMapper memberMapper;\n    @Autowired\n    private UmsMemberLevelMapper memberLevelMapper;\n    @Autowired\n    private UmsMemberCacheService memberCacheService;\n    @Value(\"${redis.key.authCode}\")\n    private String REDIS_KEY_PREFIX_AUTH_CODE;\n    @Value(\"${redis.expire.authCode}\")\n    private Long AUTH_CODE_EXPIRE_SECONDS;\n\n    @Override\n    public UmsMember getByUsername(String username) {\n        UmsMember member = memberCacheService.getMember(username);\n        if(member!=null) return member;\n        UmsMemberExample example = new UmsMemberExample();\n        example.createCriteria().andUsernameEqualTo(username);\n        List<UmsMember> memberList = memberMapper.selectByExample(example);\n        if (!CollectionUtils.isEmpty(memberList)) {\n            member = memberList.get(0);\n            memberCacheService.setMember(member);\n            return member;\n        }\n        return null;\n    }\n\n    @Override\n    public UmsMember getById(Long id) {\n        return memberMapper.selectByPrimaryKey(id);\n    }\n\n    @Override\n    public void register(String username, String password, String telephone, String authCode) {\n        //验证验证码\n        if(!verifyAuthCode(authCode,telephone)){\n            Asserts.fail(\"验证码错误\");\n        }\n        //查询是否已有该用户\n        UmsMemberExample example = new UmsMemberExample();\n        example.createCriteria().andUsernameEqualTo(username);\n        example.or(example.createCriteria().andPhoneEqualTo(telephone));\n        List<UmsMember> umsMembers = memberMapper.selectByExample(example);\n        if (!CollectionUtils.isEmpty(umsMembers)) {\n            Asserts.fail(\"该用户已经存在\");\n        }\n        //没有该用户进行添加操作\n        UmsMember umsMember = new UmsMember();\n        umsMember.setUsername(username);\n        umsMember.setPhone(telephone);\n        umsMember.setPassword(passwordEncoder.encode(password));\n        umsMember.setCreateTime(new Date());\n        umsMember.setStatus(1);\n        //获取默认会员等级并设置\n        UmsMemberLevelExample levelExample = new UmsMemberLevelExample();\n        levelExample.createCriteria().andDefaultStatusEqualTo(1);\n        List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);\n        if (!CollectionUtils.isEmpty(memberLevelList)) {\n            umsMember.setMemberLevelId(memberLevelList.get(0).getId());\n        }\n        memberMapper.insert(umsMember);\n        umsMember.setPassword(null);\n    }\n\n    @Override\n    public String generateAuthCode(String telephone) {\n        StringBuilder sb = new StringBuilder();\n        Random random = new Random();\n        for(int i=0;i<6;i++){\n            sb.append(random.nextInt(10));\n        }\n        memberCacheService.setAuthCode(telephone,sb.toString());\n        return sb.toString();\n    }\n\n    @Override\n    public void updatePassword(String telephone, String password, String authCode) {\n        UmsMemberExample example = new UmsMemberExample();\n        example.createCriteria().andPhoneEqualTo(telephone);\n        List<UmsMember> memberList = memberMapper.selectByExample(example);\n        if(CollectionUtils.isEmpty(memberList)){\n            Asserts.fail(\"该账号不存在\");\n        }\n        //验证验证码\n        if(!verifyAuthCode(authCode,telephone)){\n            Asserts.fail(\"验证码错误\");\n        }\n        UmsMember umsMember = memberList.get(0);\n        umsMember.setPassword(passwordEncoder.encode(password));\n        memberMapper.updateByPrimaryKeySelective(umsMember);\n        memberCacheService.delMember(umsMember.getId());\n    }\n\n    @Override\n    public UmsMember getCurrentMember() {\n        SecurityContext ctx = SecurityContextHolder.getContext();\n        Authentication auth = ctx.getAuthentication();\n        MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();\n        return memberDetails.getUmsMember();\n    }\n\n    @Override\n    public void updateIntegration(Long id, Integer integration) {\n        UmsMember record=new UmsMember();\n        record.setId(id);\n        record.setIntegration(integration);\n        memberMapper.updateByPrimaryKeySelective(record);\n        memberCacheService.delMember(id);\n    }\n\n    @Override\n    public UserDetails loadUserByUsername(String username) {\n        UmsMember member = getByUsername(username);\n        if(member!=null){\n            return new MemberDetails(member);\n        }\n        throw new UsernameNotFoundException(\"用户名或密码错误\");\n    }\n\n    @Override\n    public String login(String username, String password) {\n        String token = null;\n        //密码需要客户端加密后传递\n        try {\n            UserDetails userDetails = loadUserByUsername(username);\n            if(!passwordEncoder.matches(password,userDetails.getPassword())){\n                throw new BadCredentialsException(\"密码不正确\");\n            }\n            UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());\n            SecurityContextHolder.getContext().setAuthentication(authentication);\n            token = jwtTokenUtil.generateToken(userDetails);\n        } catch (AuthenticationException e) {\n            LOGGER.warn(\"登录异常:{}\", e.getMessage());\n        }\n        return token;\n    }\n\n    @Override\n    public String refreshToken(String token) {\n        return jwtTokenUtil.refreshHeadToken(token);\n    }\n\n    //对输入的验证码进行校验\n    private boolean verifyAuthCode(String authCode, String telephone){\n        if(StrUtil.isEmpty(authCode)){\n            return false;\n        }\n        String realAuthCode = memberCacheService.getAuthCode(telephone);\n        return authCode.equals(realAuthCode);\n    }\n\n}\n"
  },
  {
    "path": "mall-portal/src/main/java/com/macro/mall/portal/util/DateUtil.java",
    "content": "package com.macro.mall.portal.util;\n\nimport java.util.Calendar;\nimport java.util.Date;\n\n/**\n * 日期工具类\n * Created by macro on 2019/1/29.\n */\npublic class DateUtil {\n\n    /**\n     * 从Date类型的时间中提取日期部分\n     */\n    public static Date getDate(Date date) {\n        Calendar calendar = Calendar.getInstance();\n        calendar.setTime(date);\n        calendar.set(Calendar.HOUR_OF_DAY, 0);\n        calendar.set(Calendar.MINUTE, 0);\n        calendar.set(Calendar.SECOND, 0);\n        return calendar.getTime();\n    }\n\n    /**\n     * 从Date类型的时间中提取时间部分\n     */\n    public static Date getTime(Date date) {\n        Calendar calendar = Calendar.getInstance();\n        calendar.setTime(date);\n        calendar.set(Calendar.YEAR, 1970);\n        calendar.set(Calendar.MONTH, 0);\n        calendar.set(Calendar.DAY_OF_MONTH, 1);\n        return calendar.getTime();\n    }\n}\n"
  },
  {
    "path": "mall-portal/src/main/resources/application-dev.yml",
    "content": "server:\n  port: 8085\n\nspring:\n  datasource:\n    url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: root\n    password: root\n    druid:\n      initial-size: 5 #连接池初始化大小\n      min-idle: 10 #最小空闲连接数\n      max-active: 20 #最大连接数\n      web-stat-filter:\n        exclusions: \"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*\" #不统计这些请求数据\n      stat-view-servlet: #访问监控网页的登录用户名和密码\n        login-username: druid\n        login-password: druid\n  data:\n    mongodb:\n      host: localhost\n      port: 27017\n      database: mall-port\n  redis:\n    host: localhost # Redis服务器地址\n    database: 0 # Redis数据库索引（默认为0）\n    port: 6379 # Redis服务器连接端口\n    password: # Redis服务器连接密码（默认为空）\n    timeout: 300ms # 连接超时时间（毫秒）\n  rabbitmq:\n    host: localhost\n    port: 5672\n    virtual-host: /mall\n    username: mall\n    password: mall\n\nlogging:\n  level:\n    root: info\n    com.macro.mall: debug\n\nlogstash:\n  host: localhost\n  enableInnerLog: false\n\nalipay:\n  gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do\n  appId: your appId\n  alipayPublicKey: your alipayPublicKey\n  appPrivateKey: your appPrivateKey\n  returnUrl: http://localhost:8060/#/pages/money/paySuccess\n  notifyUrl:\n\n"
  },
  {
    "path": "mall-portal/src/main/resources/application-prod.yml",
    "content": "server:\n  port: 8085\n\nspring:\n  datasource:\n    url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: reader\n    password: 123456\n    druid:\n      initial-size: 5 #连接池初始化大小\n      min-idle: 10 #最小空闲连接数\n      max-active: 20 #最大连接数\n      web-stat-filter:\n        exclusions: \"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*\" #不统计这些请求数据\n      stat-view-servlet: #访问监控网页的登录用户名和密码\n        login-username: druid\n        login-password: druid\n\n  data:\n    mongodb:\n      host: mongo\n      port: 27017\n      database: mall-port\n\n  redis:\n    host: redis # Redis服务器地址\n    database: 0 # Redis数据库索引（默认为0）\n    port: 6379 # Redis服务器连接端口\n    password: # Redis服务器连接密码（默认为空）\n    timeout: 300ms # 连接超时时间（毫秒）\n\n  rabbitmq:\n    host: rabbit\n    port: 5672\n    virtual-host: /mall\n    username: mall\n    password: mall\n\nmongo:\n  insert:\n    sqlEnable: true # 用于控制是否通过数据库数据来插入mongo\n\nlogging:\n  file:\n    path: /var/logs\n  level:\n    root: info\n    com.macro.mall: info\n\nlogstash:\n  host: logstash\n\nalipay:\n  gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do\n  appId: your appId\n  alipayPublicKey: your alipayPublicKey\n  appPrivateKey: your appPrivateKey\n  returnUrl: http://192.168.3.101:8060/#/pages/money/paySuccess\n  notifyUrl:\n\n"
  },
  {
    "path": "mall-portal/src/main/resources/application.yml",
    "content": "spring:\n  application:\n    name: mall-portal\n  profiles:\n    active: dev #默认为开发环境\n  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher\n\nmybatis:\n  mapper-locations:\n    - classpath:dao/*.xml\n    - classpath*:com/**/mapper/*.xml\n\njwt:\n  tokenHeader: Authorization #JWT存储的请求头\n  secret: mall-portal-secret #JWT加解密使用的密钥\n  expiration: 604800 #JWT的超期限时间(60*60*24*7)\n  tokenHead: 'Bearer '  #JWT负载中拿到开头\n\nsecure:\n  ignored:\n    urls: #安全路径白名单\n      - /swagger-ui/\n      - /swagger-resources/**\n      - /**/v2/api-docs\n      - /**/*.html\n      - /**/*.js\n      - /**/*.css\n      - /**/*.png\n      - /**/*.map\n      - /favicon.ico\n      - /druid/**\n      - /actuator/**\n      - /sso/**\n      - /home/**\n      - /product/**\n      - /brand/**\n      - /alipay/**\n\n# 自定义redis key\nredis:\n  database: mall\n  key:\n    authCode: 'ums:authCode'\n    orderId: 'oms:orderId'\n    member: 'ums:member'\n  expire:\n    authCode: 90 # 验证码超期时间\n    common: 86400 # 24小时\n\nmongo:\n  insert:\n    sqlEnable: true # 用于控制是否通过数据库数据来插入mongo\n\n# 消息队列定义\nrabbitmq:\n  queue:\n    name:\n      cancelOrder: cancelOrderQueue\n\n"
  },
  {
    "path": "mall-portal/src/main/resources/dao/HomeDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.portal.dao.HomeDao\">\n    <resultMap id=\"flashPromotionProduct\" type=\"com.macro.mall.portal.domain.FlashPromotionProduct\"\n               extends=\"com.macro.mall.mapper.PmsProductMapper.BaseResultMap\">\n        <result column=\"flash_promotion_price\" property=\"flashPromotionPrice\"/>\n        <result column=\"flash_promotion_count\" property=\"flashPromotionCount\"/>\n        <result column=\"flash_promotion_limit\" property=\"flashPromotionLimit\"/>\n    </resultMap>\n\n    <select id=\"getRecommendBrandList\" resultMap=\"com.macro.mall.mapper.PmsBrandMapper.BaseResultMap\">\n        SELECT b.*\n        FROM\n            sms_home_brand hb\n            LEFT JOIN pms_brand b ON hb.brand_id = b.id\n        WHERE\n            hb.recommend_status = 1\n            AND b.show_status = 1\n        ORDER BY\n            hb.sort DESC\n        LIMIT #{offset}, #{limit}\n    </select>\n\n    <select id=\"getFlashProductList\" resultMap=\"flashPromotionProduct\">\n        SELECT\n            pr.flash_promotion_price,\n            pr.flash_promotion_count,\n            pr.flash_promotion_limit,\n            p.*\n        FROM\n            sms_flash_promotion_product_relation pr\n            LEFT JOIN pms_product p ON pr.product_id = p.id\n        WHERE\n            pr.flash_promotion_id = #{flashPromotionId}\n            AND pr.flash_promotion_session_id = #{sessionId}\n    </select>\n\n    <select id=\"getNewProductList\" resultMap=\"com.macro.mall.mapper.PmsProductMapper.BaseResultMap\">\n        SELECT p.*\n        FROM\n            sms_home_new_product hp\n            LEFT JOIN pms_product p ON hp.product_id = p.id\n        WHERE\n            hp.recommend_status = 1\n            AND p.publish_status = 1\n        ORDER BY\n            hp.sort DESC\n        LIMIT #{offset}, #{limit};\n    </select>\n\n    <select id=\"getHotProductList\" resultMap=\"com.macro.mall.mapper.PmsProductMapper.BaseResultMap\">\n        SELECT p.*\n        FROM\n            sms_home_recommend_product hp\n            LEFT JOIN pms_product p ON hp.product_id = p.id\n        WHERE\n            hp.recommend_status = 1\n            AND p.publish_status = 1\n        ORDER BY\n            hp.sort DESC\n        LIMIT #{offset}, #{limit};\n    </select>\n\n    <select id=\"getRecommendSubjectList\" resultMap=\"com.macro.mall.mapper.CmsSubjectMapper.BaseResultMap\">\n        SELECT s.*\n        FROM\n            sms_home_recommend_subject hs\n            LEFT JOIN cms_subject s ON hs.subject_id = s.id\n        WHERE\n            hs.recommend_status = 1\n            AND s.show_status = 1\n        ORDER BY\n            hs.sort DESC\n        LIMIT #{offset}, #{limit};\n    </select>\n</mapper>"
  },
  {
    "path": "mall-portal/src/main/resources/dao/PortalOrderDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.portal.dao.PortalOrderDao\">\n    <resultMap id=\"orderDetailMap\" type=\"com.macro.mall.portal.domain.OmsOrderDetail\"\n               extends=\"com.macro.mall.mapper.OmsOrderMapper.BaseResultMap\">\n        <collection property=\"orderItemList\" columnPrefix=\"ot_\"\n                    resultMap=\"com.macro.mall.mapper.OmsOrderItemMapper.BaseResultMap\">\n        </collection>\n    </resultMap>\n    <select id=\"getDetail\" resultMap=\"orderDetailMap\">\n        SELECT\n            o.id,\n            o.order_sn,\n            o.coupon_id,\n            o.integration,\n            o.member_id,\n            ot.id ot_id,\n            ot.product_name ot_product_name,\n            ot.product_sku_id ot_product_sku_id,\n            ot.product_sku_code ot_product_sku_code,\n            ot.product_quantity ot_product_quantity\n        FROM\n            oms_order o\n            LEFT JOIN oms_order_item ot ON o.id = ot.order_id\n        WHERE\n            o.id = #{orderId}\n    </select>\n\n    <select id=\"getTimeOutOrders\" resultMap=\"orderDetailMap\">\n        SELECT\n            o.id,\n            o.order_sn,\n            o.coupon_id,\n            o.integration,\n            o.member_id,\n            o.use_integration,\n            ot.id               ot_id,\n            ot.product_name     ot_product_name,\n            ot.product_sku_id   ot_product_sku_id,\n            ot.product_sku_code ot_product_sku_code,\n            ot.product_quantity ot_product_quantity\n        FROM\n            oms_order o\n            LEFT JOIN oms_order_item ot ON o.id = ot.order_id\n        WHERE\n            o.status = 0\n            AND o.create_time &lt; date_add(NOW(), INTERVAL -#{minute} MINUTE);\n    </select>\n\n    <update id=\"updateSkuStock\">\n        UPDATE pms_sku_stock\n        SET\n            stock = CASE id\n            <foreach collection=\"itemList\" item=\"item\">\n              WHEN #{item.productSkuId} THEN stock - #{item.productQuantity}\n            </foreach>\n            END,\n            lock_stock = CASE id\n            <foreach collection=\"itemList\" item=\"item\">\n              WHEN #{item.productSkuId} THEN lock_stock - #{item.productQuantity}\n            </foreach>\n            END\n        WHERE\n            id IN\n        <foreach collection=\"itemList\" item=\"item\" separator=\",\" open=\"(\" close=\")\">\n            #{item.productSkuId}\n        </foreach>\n    </update>\n    <update id=\"updateOrderStatus\">\n        update oms_order\n        set status=#{status}\n        where id in\n        <foreach collection=\"ids\" item=\"id\" separator=\",\" open=\"(\" close=\")\">\n            #{id}\n        </foreach>\n    </update>\n    <update id=\"releaseSkuStockLock\">\n        UPDATE pms_sku_stock\n        SET\n        lock_stock = CASE id\n        <foreach collection=\"itemList\" item=\"item\">\n            WHEN #{item.productSkuId} THEN lock_stock - #{item.productQuantity}\n        </foreach>\n        END\n        WHERE\n        id IN\n        <foreach collection=\"itemList\" item=\"item\" separator=\",\" open=\"(\" close=\")\">\n            #{item.productSkuId}\n        </foreach>\n    </update>\n    <update id=\"lockStockBySkuId\">\n        UPDATE pms_sku_stock\n        SET lock_stock = lock_stock + #{quantity}\n        WHERE\n        id = #{productSkuId}\n        AND lock_stock + #{quantity} &lt;= stock\n    </update>\n    <update id=\"reduceSkuStock\">\n        UPDATE pms_sku_stock\n        SET lock_stock = lock_stock - #{quantity},\n            stock = stock - #{quantity}\n        WHERE\n            id = #{productSkuId}\n          AND stock - #{quantity} &gt;= 0\n          AND lock_stock - #{quantity} &gt;= 0\n    </update>\n    <update id=\"releaseStockBySkuId\">\n        UPDATE pms_sku_stock\n        SET lock_stock = lock_stock - #{quantity}\n        WHERE\n            id = #{productSkuId}\n          AND lock_stock - #{quantity} &gt;= 0\n    </update>\n</mapper>"
  },
  {
    "path": "mall-portal/src/main/resources/dao/PortalOrderItemDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.portal.dao.PortalOrderItemDao\">\n    <insert id=\"insertList\">\n        insert into oms_order_item (order_id, order_sn, product_id,\n        product_pic, product_name, product_brand,\n        product_sn, product_price, product_quantity,\n        product_sku_id, product_category_id, product_sku_code,promotion_name,\n        promotion_amount, coupon_amount, integration_amount,\n        real_amount,product_attr) values\n        <foreach collection=\"list\" item=\"item\" separator=\",\" index=\"index\">\n            (#{item.orderId,jdbcType=BIGINT}, #{item.orderSn,jdbcType=VARCHAR}, #{item.productId,jdbcType=BIGINT},\n            #{item.productPic,jdbcType=VARCHAR}, #{item.productName,jdbcType=VARCHAR}, #{item.productBrand,jdbcType=VARCHAR},\n            #{item.productSn,jdbcType=VARCHAR}, #{item.productPrice,jdbcType=DECIMAL}, #{item.productQuantity,jdbcType=INTEGER},\n            #{item.productSkuId,jdbcType=BIGINT}, #{item.productCategoryId,jdbcType=BIGINT}, #{item.productSkuCode,jdbcType=VARCHAR},\n            #{item.promotionName,jdbcType=VARCHAR},\n            #{item.promotionAmount,jdbcType=DECIMAL}, #{item.couponAmount,jdbcType=DECIMAL},\n            #{item.integrationAmount,jdbcType=DECIMAL},\n            #{item.realAmount,jdbcType=DECIMAL},#{item.productAttr,jdbcType=VARCHAR})\n        </foreach>\n    </insert>\n</mapper>"
  },
  {
    "path": "mall-portal/src/main/resources/dao/PortalProductDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.portal.dao.PortalProductDao\">\n    <resultMap id=\"cartProductMap\" type=\"com.macro.mall.portal.domain.CartProduct\" autoMapping=\"true\">\n        <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n        <collection property=\"productAttributeList\" columnPrefix=\"attr_\" resultMap=\"com.macro.mall.mapper.PmsProductAttributeMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"skuStockList\" columnPrefix=\"sku_\" resultMap=\"com.macro.mall.mapper.PmsSkuStockMapper.BaseResultMap\">\n        </collection>\n    </resultMap>\n    <resultMap id=\"promotionProductMap\" type=\"com.macro.mall.portal.domain.PromotionProduct\" extends=\"com.macro.mall.mapper.PmsProductMapper.BaseResultMap\">\n        <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n        <collection property=\"skuStockList\" columnPrefix=\"sku_\" resultMap=\"com.macro.mall.mapper.PmsSkuStockMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"productLadderList\" columnPrefix=\"ladder_\" resultMap=\"com.macro.mall.mapper.PmsProductLadderMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"productFullReductionList\" columnPrefix=\"full_\" resultMap=\"com.macro.mall.mapper.PmsProductFullReductionMapper.BaseResultMap\">\n        </collection>\n    </resultMap>\n    <select id=\"getCartProduct\" resultMap=\"cartProductMap\">\n        SELECT\n            p.id id,\n            p.`name` name,\n            p.sub_title subTitle,\n            p.price price,\n            p.pic pic,\n            p.product_attribute_category_id productAttributeCategoryId,\n            p.stock stock,\n            pa.id attr_id,\n            pa.`name` attr_name,\n            ps.id sku_id,\n            ps.sku_code sku_code,\n            ps.price sku_price,\n            ps.stock sku_stock,\n            ps.pic sku_pic\n        FROM\n            pms_product p\n            LEFT JOIN pms_product_attribute pa ON p.product_attribute_category_id = pa.product_attribute_category_id\n            LEFT JOIN pms_sku_stock ps ON p.id=ps.product_id\n        WHERE\n            p.id = #{id}\n            AND pa.type = 0\n        ORDER BY pa.sort desc\n    </select>\n    <select id=\"getPromotionProductList\" resultMap=\"promotionProductMap\">\n        SELECT\n            p.id,\n            p.`name`,\n            p.promotion_type,\n            p.gift_growth,\n            p.gift_point,\n            sku.id sku_id,\n            sku.price sku_price,\n            sku.sku_code sku_sku_code,\n            sku.promotion_price sku_promotion_price,\n            sku.stock sku_stock,\n            sku.lock_stock sku_lock_stock,\n            ladder.id ladder_id,\n            ladder.count ladder_count,\n            ladder.discount ladder_discount,\n            full_re.id full_id,\n            full_re.full_price full_full_price,\n            full_re.reduce_price full_reduce_price\n        FROM\n            pms_product p\n            LEFT JOIN pms_sku_stock sku ON p.id = sku.product_id\n            LEFT JOIN pms_product_ladder ladder ON p.id = ladder.product_id\n            LEFT JOIN pms_product_full_reduction full_re ON p.id = full_re.product_id\n        WHERE\n            p.id IN\n        <foreach collection=\"ids\" open=\"(\" close=\")\" item=\"id\" separator=\",\">\n            #{id}\n        </foreach>\n    </select>\n    <select id=\"getAvailableCouponList\" resultMap=\"com.macro.mall.mapper.SmsCouponMapper.BaseResultMap\">\n        SELECT *\n        FROM sms_coupon\n        WHERE use_type = 0\n          AND start_time &lt; NOW()\n          AND end_time &gt; NOW()\n        UNION\n        (\n            SELECT c.*\n            FROM sms_coupon_product_category_relation cpc\n                     LEFT JOIN sms_coupon c ON cpc.coupon_id = c.id\n            WHERE c.use_type = 1\n              AND c.start_time &lt; NOW()\n              AND c.end_time &gt; NOW()\n              AND cpc.product_category_id = #{productCategoryId}\n        )\n        UNION\n        (\n            SELECT c.*\n            FROM sms_coupon_product_relation cp\n                     LEFT JOIN sms_coupon c ON cp.coupon_id = c.id\n            WHERE c.use_type = 2\n              AND c.start_time &lt; NOW()\n              AND c.end_time &gt; NOW()\n              AND cp.product_id = #{productId}\n        )\n    </select>\n</mapper>"
  },
  {
    "path": "mall-portal/src/main/resources/dao/SmsCouponHistoryDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.portal.dao.SmsCouponHistoryDao\">\n    <resultMap id=\"couponHistoryDetailMap\" type=\"com.macro.mall.portal.domain.SmsCouponHistoryDetail\"\n               extends=\"com.macro.mall.mapper.SmsCouponHistoryMapper.BaseResultMap\">\n        <association property=\"coupon\" resultMap=\"com.macro.mall.mapper.SmsCouponMapper.BaseResultMap\" columnPrefix=\"c_\">\n        </association>\n        <collection property=\"productRelationList\" columnPrefix=\"cpr_\" resultMap=\"com.macro.mall.mapper.SmsCouponProductRelationMapper.BaseResultMap\">\n        </collection>\n        <collection property=\"categoryRelationList\" columnPrefix=\"cpcr_\" resultMap=\"com.macro.mall.mapper.SmsCouponProductCategoryRelationMapper.BaseResultMap\">\n        </collection>\n    </resultMap>\n    <select id=\"getDetailList\" resultMap=\"couponHistoryDetailMap\">\n        SELECT\n            ch.*,\n            c.id c_id,\n            c.name c_name,\n            c.amount c_amount,\n            c.min_point c_min_point,\n            c.platform c_platform,\n            c.start_time c_start_time,\n            c.end_time c_end_time,\n            c.note c_note,\n            c.use_type c_use_type,\n            c.type c_type,\n            cpr.id cpr_id,cpr.product_id cpr_product_id,\n            cpcr.id cpcr_id,cpcr.product_category_id cpcr_product_category_id\n        FROM\n            sms_coupon_history ch\n            LEFT JOIN sms_coupon c ON ch.coupon_id = c.id\n            LEFT JOIN sms_coupon_product_relation cpr ON cpr.coupon_id = c.id\n            LEFT JOIN sms_coupon_product_category_relation cpcr ON cpcr.coupon_id = c.id\n        WHERE ch.member_id = #{memberId}\n        AND ch.use_status = 0\n    </select>\n\n    <select id=\"getCouponList\" resultMap=\"com.macro.mall.mapper.SmsCouponMapper.BaseResultMap\">\n        SELECT\n          c.*\n        FROM\n            sms_coupon_history ch\n                LEFT JOIN sms_coupon c ON ch.coupon_id = c.id\n        WHERE ch.member_id = #{memberId}\n        <if test=\"useStatus!=null and useStatus!=2\">\n            AND ch.use_status = #{useStatus}\n            AND NOW() > c.start_time\n            AND c.end_time > NOW()\n        </if>\n        <if test=\"useStatus!=null and useStatus==2\">\n            AND NOW() > c.end_time\n        </if>\n    </select>\n</mapper>"
  },
  {
    "path": "mall-portal/src/test/java/com/macro/mall/portal/MallPortalApplicationTests.java",
    "content": "package com.macro.mall.portal;\n\nimport org.junit.jupiter.api.Test;\nimport org.springframework.boot.test.context.SpringBootTest;\n\n@SpringBootTest\npublic class MallPortalApplicationTests {\n\n    @Test\n    public void contextLoads() {\n    }\n\n}\n"
  },
  {
    "path": "mall-portal/src/test/java/com/macro/mall/portal/PortalProductDaoTests.java",
    "content": "package com.macro.mall.portal;\n\nimport com.macro.mall.portal.dao.PortalProductDao;\nimport com.macro.mall.portal.domain.PromotionProduct;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.boot.test.context.SpringBootTest;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\n\n/**\n * Created by macro on 2018/8/27.\n * 前台商品查询逻辑单元测试\n */\n@SpringBootTest\npublic class PortalProductDaoTests {\n    @Autowired\n    private PortalProductDao portalProductDao;\n    @Test\n    public void testGetPromotionProductList(){\n        List<Long> ids = new ArrayList<>();\n        ids.add(26L);\n        ids.add(27L);\n        ids.add(28L);\n        ids.add(29L);\n        List<PromotionProduct> promotionProductList = portalProductDao.getPromotionProductList(ids);\n        assertEquals(4,promotionProductList.size());\n    }\n}\n"
  },
  {
    "path": "mall-search/.gitignore",
    "content": "/target/\n!.mvn/wrapper/maven-wrapper.jar\n\n### STS ###\n.apt_generated\n.classpath\n.factorypath\n.project\n.settings\n.springBeans\n.sts4-cache\n\n### IntelliJ IDEA ###\n.idea\n*.iws\n*.iml\n*.ipr\n\n### NetBeans ###\n/nbproject/private/\n/build/\n/nbbuild/\n/dist/\n/nbdist/\n/.nb-gradle/"
  },
  {
    "path": "mall-search/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-search</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-search</name>\n    <description>mall-search project for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-mbg</artifactId>\n            <exclusions>\n                <exclusion>\n                    <groupId>org.springframework.boot</groupId>\n                    <artifactId>spring-boot-starter-data-redis</artifactId>\n                </exclusion>\n            </exclusions>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>\n        </dependency>\n    </dependencies>\n\n    <build>\n        <plugins>\n            <plugin>\n                <groupId>org.springframework.boot</groupId>\n                <artifactId>spring-boot-maven-plugin</artifactId>\n            </plugin>\n            <plugin>\n                <groupId>io.fabric8</groupId>\n                <artifactId>docker-maven-plugin</artifactId>\n            </plugin>\n        </plugins>\n    </build>\n\n</project>\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/MallSearchApplication.java",
    "content": "package com.macro.mall.search;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication(scanBasePackages = \"com.macro.mall\")\npublic class MallSearchApplication {\n\n    public static void main(String[] args) {\n        SpringApplication.run(MallSearchApplication.class, args);\n    }\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/config/MyBatisConfig.java",
    "content": "package com.macro.mall.search.config;\n\nimport org.mybatis.spring.annotation.MapperScan;\nimport org.springframework.context.annotation.Configuration;\n\n/**\n * MyBatis相关配置\n * Created by macro on 2019/4/8.\n */\n@Configuration\n@MapperScan({\"com.macro.mall.mapper\",\"com.macro.mall.search.dao\"})\npublic class MyBatisConfig {\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/config/SwaggerConfig.java",
    "content": "package com.macro.mall.search.config;\n\nimport com.macro.mall.common.config.BaseSwaggerConfig;\nimport com.macro.mall.common.domain.SwaggerProperties;\nimport org.springframework.beans.factory.config.BeanPostProcessor;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport springfox.documentation.swagger2.annotations.EnableSwagger2;\n\n/**\n * Swagger API文档相关配置\n * Created by macro on 2018/4/26.\n */\n@Configuration\n@EnableSwagger2\npublic class SwaggerConfig extends BaseSwaggerConfig {\n\n    @Override\n    public SwaggerProperties swaggerProperties() {\n        return SwaggerProperties.builder()\n                .apiBasePackage(\"com.macro.mall.search.controller\")\n                .title(\"mall搜索系统\")\n                .description(\"mall搜索相关接口文档\")\n                .contactName(\"macro\")\n                .version(\"1.0\")\n                .enableSecurity(false)\n                .build();\n    }\n\n    @Bean\n    public BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {\n        return generateBeanPostProcessor();\n    }\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/controller/EsProductController.java",
    "content": "package com.macro.mall.search.controller;\n\nimport com.macro.mall.common.api.CommonPage;\nimport com.macro.mall.common.api.CommonResult;\nimport com.macro.mall.search.domain.EsProduct;\nimport com.macro.mall.search.domain.EsProductRelatedInfo;\nimport com.macro.mall.search.service.EsProductService;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiImplicitParam;\nimport io.swagger.annotations.ApiOperation;\nimport io.swagger.v3.oas.annotations.tags.Tag;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * 搜索商品管理Controller\n * Created by macro on 2018/6/19.\n */\n@Controller\n@Api(tags = \"EsProductController\")\n@Tag(name = \"EsProductController\",description = \"搜索商品管理\")\n@RequestMapping(\"/esProduct\")\npublic class EsProductController {\n    @Autowired\n    private EsProductService esProductService;\n\n    @ApiOperation(value = \"导入所有数据库中商品到ES\")\n    @RequestMapping(value = \"/importAll\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult<Integer> importAllList() {\n        int count = esProductService.importAll();\n        return CommonResult.success(count);\n    }\n\n    @ApiOperation(value = \"根据id删除商品\")\n    @RequestMapping(value = \"/delete/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<Object> delete(@PathVariable Long id) {\n        esProductService.delete(id);\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(value = \"根据id批量删除商品\")\n    @RequestMapping(value = \"/delete/batch\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult<Object> delete(@RequestParam(\"ids\") List<Long> ids) {\n        esProductService.delete(ids);\n        return CommonResult.success(null);\n    }\n\n    @ApiOperation(value = \"根据id创建商品\")\n    @RequestMapping(value = \"/create/{id}\", method = RequestMethod.POST)\n    @ResponseBody\n    public CommonResult<EsProduct> create(@PathVariable Long id) {\n        EsProduct esProduct = esProductService.create(id);\n        if (esProduct != null) {\n            return CommonResult.success(esProduct);\n        } else {\n            return CommonResult.failed();\n        }\n    }\n\n    @ApiOperation(value = \"简单搜索\")\n    @RequestMapping(value = \"/search/simple\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<EsProduct>> search(@RequestParam(required = false) String keyword,\n                                                      @RequestParam(required = false, defaultValue = \"0\") Integer pageNum,\n                                                      @RequestParam(required = false, defaultValue = \"5\") Integer pageSize) {\n        Page<EsProduct> esProductPage = esProductService.search(keyword, pageNum, pageSize);\n        return CommonResult.success(CommonPage.restPage(esProductPage));\n    }\n\n    @ApiOperation(value = \"综合搜索、筛选、排序\")\n    @ApiImplicitParam(name = \"sort\", value = \"排序字段:0->按相关度；1->按新品；2->按销量；3->价格从低到高；4->价格从高到低\",\n            defaultValue = \"0\", allowableValues = \"0,1,2,3,4\", paramType = \"query\", dataType = \"integer\")\n    @RequestMapping(value = \"/search\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<EsProduct>> search(@RequestParam(required = false) String keyword,\n                                                      @RequestParam(required = false) Long brandId,\n                                                      @RequestParam(required = false) Long productCategoryId,\n                                                      @RequestParam(required = false, defaultValue = \"0\") Integer pageNum,\n                                                      @RequestParam(required = false, defaultValue = \"5\") Integer pageSize,\n                                                      @RequestParam(required = false, defaultValue = \"0\") Integer sort) {\n        Page<EsProduct> esProductPage = esProductService.search(keyword, brandId, productCategoryId, pageNum, pageSize, sort);\n        return CommonResult.success(CommonPage.restPage(esProductPage));\n    }\n\n    @ApiOperation(value = \"根据商品id推荐商品\")\n    @RequestMapping(value = \"/recommend/{id}\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<CommonPage<EsProduct>> recommend(@PathVariable Long id,\n                                                         @RequestParam(required = false, defaultValue = \"0\") Integer pageNum,\n                                                         @RequestParam(required = false, defaultValue = \"5\") Integer pageSize) {\n        Page<EsProduct> esProductPage = esProductService.recommend(id, pageNum, pageSize);\n        return CommonResult.success(CommonPage.restPage(esProductPage));\n    }\n\n    @ApiOperation(value = \"获取搜索的相关品牌、分类及筛选属性\")\n    @RequestMapping(value = \"/search/relate\", method = RequestMethod.GET)\n    @ResponseBody\n    public CommonResult<EsProductRelatedInfo> searchRelatedInfo(@RequestParam(required = false) String keyword) {\n        EsProductRelatedInfo productRelatedInfo = esProductService.searchRelatedInfo(keyword);\n        return CommonResult.success(productRelatedInfo);\n    }\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/dao/EsProductDao.java",
    "content": "package com.macro.mall.search.dao;\n\nimport com.macro.mall.search.domain.EsProduct;\nimport org.apache.ibatis.annotations.Param;\n\nimport java.util.List;\n\n/**\n * 搜索商品管理自定义Dao\n * Created by macro on 2018/6/19.\n */\npublic interface EsProductDao {\n    /**\n     * 获取指定ID的搜索商品\n     */\n    List<EsProduct> getAllEsProductList(@Param(\"id\") Long id);\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/domain/EsProduct.java",
    "content": "package com.macro.mall.search.domain;\n\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport org.springframework.data.annotation.Id;\nimport org.springframework.data.elasticsearch.annotations.Document;\nimport org.springframework.data.elasticsearch.annotations.Field;\nimport org.springframework.data.elasticsearch.annotations.FieldType;\nimport org.springframework.data.elasticsearch.annotations.Setting;\n\nimport java.io.Serializable;\nimport java.math.BigDecimal;\nimport java.util.List;\n\n/**\n * 搜索商品的信息\n * Created by macro on 2018/6/19.\n */\n@Data\n@EqualsAndHashCode\n@Document(indexName = \"pms\")\n@Setting(shards = 1,replicas = 0)\npublic class EsProduct implements Serializable {\n    private static final long serialVersionUID = -1L;\n    @Id\n    private Long id;\n    @Field(type = FieldType.Keyword)\n    private String productSn;\n    private Long brandId;\n    @Field(type = FieldType.Keyword)\n    private String brandName;\n    private Long productCategoryId;\n    @Field(type = FieldType.Keyword)\n    private String productCategoryName;\n    private String pic;\n    @Field(analyzer = \"ik_max_word\",type = FieldType.Text)\n    private String name;\n    @Field(analyzer = \"ik_max_word\",type = FieldType.Text)\n    private String subTitle;\n    @Field(analyzer = \"ik_max_word\",type = FieldType.Text)\n    private String keywords;\n    private BigDecimal price;\n    private Integer sale;\n    private Integer newStatus;\n    private Integer recommandStatus;\n    private Integer stock;\n    private Integer promotionType;\n    private Integer sort;\n    @Field(type = FieldType.Nested, fielddata = true)\n    private List<EsProductAttributeValue> attrValueList;\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/domain/EsProductAttributeValue.java",
    "content": "package com.macro.mall.search.domain;\n\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport org.springframework.data.elasticsearch.annotations.Field;\nimport org.springframework.data.elasticsearch.annotations.FieldType;\n\nimport java.io.Serializable;\n\n/**\n * 搜索商品的属性信息\n * Created by macro on 2018/6/27.\n */\n@Data\n@EqualsAndHashCode\npublic class EsProductAttributeValue implements Serializable {\n    private static final long serialVersionUID = 1L;\n    private Long id;\n    private Long productAttributeId;\n    //属性值\n    @Field(type = FieldType.Keyword)\n    private String value;\n    //属性参数：0->规格；1->参数\n    private Integer type;\n    //属性名称\n    @Field(type=FieldType.Keyword)\n    private String name;\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/domain/EsProductRelatedInfo.java",
    "content": "package com.macro.mall.search.domain;\n\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport java.util.List;\n\n/**\n * 搜索商品的关联信息，包括品牌名称，分类名称及属性\n * Created by macro on 2018/6/27.\n */\n@Data\n@EqualsAndHashCode\npublic class EsProductRelatedInfo {\n    private List<String> brandNames;\n    private List<String> productCategoryNames;\n    private List<ProductAttr> productAttrs;\n\n    @Data\n    @EqualsAndHashCode\n    public static class ProductAttr {\n        private Long attrId;\n        private String attrName;\n        private List<String> attrValues;\n    }\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/repository/EsProductRepository.java",
    "content": "package com.macro.mall.search.repository;\n\nimport com.macro.mall.search.domain.EsProduct;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.data.elasticsearch.repository.ElasticsearchRepository;\n\n/**\n * 搜索商品ES操作类\n * Created by macro on 2018/6/19.\n */\npublic interface EsProductRepository extends ElasticsearchRepository<EsProduct, Long> {\n    /**\n     * 搜索查询\n     *\n     * @param name              商品名称\n     * @param subTitle          商品标题\n     * @param keywords          商品关键字\n     * @param page              分页信息\n     */\n    Page<EsProduct> findByNameOrSubTitleOrKeywords(String name, String subTitle, String keywords,Pageable page);\n\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/service/EsProductService.java",
    "content": "package com.macro.mall.search.service;\n\nimport com.macro.mall.search.domain.EsProduct;\nimport com.macro.mall.search.domain.EsProductRelatedInfo;\nimport org.springframework.data.domain.Page;\n\nimport java.util.List;\n\n/**\n * 搜索商品管理Service\n * Created by macro on 2018/6/19.\n */\npublic interface EsProductService {\n    /**\n     * 从数据库中导入所有商品到ES\n     */\n    int importAll();\n\n    /**\n     * 根据id删除商品\n     */\n    void delete(Long id);\n\n    /**\n     * 根据id创建商品\n     */\n    EsProduct create(Long id);\n\n    /**\n     * 批量删除商品\n     */\n    void delete(List<Long> ids);\n\n    /**\n     * 根据关键字通过名称或副标题查询商品\n     */\n    Page<EsProduct> search(String keyword, Integer pageNum, Integer pageSize);\n\n    /**\n     * 根据关键字通过名称或副标题复合查询商品\n     */\n    Page<EsProduct> search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize,Integer sort);\n\n    /**\n     * 根据商品id推荐相关商品\n     */\n    Page<EsProduct> recommend(Long id, Integer pageNum, Integer pageSize);\n\n    /**\n     * 搜索关键字相关品牌、分类、属性\n     */\n    EsProductRelatedInfo searchRelatedInfo(String keyword);\n}\n"
  },
  {
    "path": "mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java",
    "content": "package com.macro.mall.search.service.impl;\n\nimport cn.hutool.core.collection.ListUtil;\nimport cn.hutool.core.util.StrUtil;\nimport com.macro.mall.search.dao.EsProductDao;\nimport com.macro.mall.search.domain.EsProduct;\nimport com.macro.mall.search.domain.EsProductRelatedInfo;\nimport com.macro.mall.search.repository.EsProductRepository;\nimport com.macro.mall.search.service.EsProductService;\nimport org.elasticsearch.common.lucene.search.function.FunctionScoreQuery;\nimport org.elasticsearch.index.query.BoolQueryBuilder;\nimport org.elasticsearch.index.query.QueryBuilders;\nimport org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;\nimport org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;\nimport org.elasticsearch.search.aggregations.AbstractAggregationBuilder;\nimport org.elasticsearch.search.aggregations.Aggregation;\nimport org.elasticsearch.search.aggregations.AggregationBuilders;\nimport org.elasticsearch.search.aggregations.Aggregations;\nimport org.elasticsearch.search.aggregations.bucket.filter.ParsedFilter;\nimport org.elasticsearch.search.aggregations.bucket.nested.ParsedNested;\nimport org.elasticsearch.search.aggregations.bucket.terms.ParsedLongTerms;\nimport org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms;\nimport org.elasticsearch.search.aggregations.bucket.terms.Terms;\nimport org.elasticsearch.search.sort.SortBuilders;\nimport org.elasticsearch.search.sort.SortOrder;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageImpl;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.data.domain.Pageable;\nimport org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;\nimport org.springframework.data.elasticsearch.core.SearchHit;\nimport org.springframework.data.elasticsearch.core.SearchHits;\nimport org.springframework.data.elasticsearch.core.query.NativeSearchQuery;\nimport org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;\nimport org.springframework.stereotype.Service;\nimport org.springframework.util.CollectionUtils;\n\nimport java.util.ArrayList;\nimport java.util.Iterator;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Collectors;\n\n\n/**\n * 搜索商品管理Service实现类\n * Created by macro on 2018/6/19.\n */\n@Service\npublic class EsProductServiceImpl implements EsProductService {\n    private static final Logger LOGGER = LoggerFactory.getLogger(EsProductServiceImpl.class);\n    @Autowired\n    private EsProductDao productDao;\n    @Autowired\n    private EsProductRepository productRepository;\n    @Autowired\n    private ElasticsearchRestTemplate elasticsearchRestTemplate;\n    @Override\n    public int importAll() {\n        List<EsProduct> esProductList = productDao.getAllEsProductList(null);\n        Iterable<EsProduct> esProductIterable = productRepository.saveAll(esProductList);\n        Iterator<EsProduct> iterator = esProductIterable.iterator();\n        int result = 0;\n        while (iterator.hasNext()) {\n            result++;\n            iterator.next();\n        }\n        return result;\n    }\n\n    @Override\n    public void delete(Long id) {\n        productRepository.deleteById(id);\n    }\n\n    @Override\n    public EsProduct create(Long id) {\n        EsProduct result = null;\n        List<EsProduct> esProductList = productDao.getAllEsProductList(id);\n        if (esProductList.size() > 0) {\n            EsProduct esProduct = esProductList.get(0);\n            result = productRepository.save(esProduct);\n        }\n        return result;\n    }\n\n    @Override\n    public void delete(List<Long> ids) {\n        if (!CollectionUtils.isEmpty(ids)) {\n            List<EsProduct> esProductList = new ArrayList<>();\n            for (Long id : ids) {\n                EsProduct esProduct = new EsProduct();\n                esProduct.setId(id);\n                esProductList.add(esProduct);\n            }\n            productRepository.deleteAll(esProductList);\n        }\n    }\n\n    @Override\n    public Page<EsProduct> search(String keyword, Integer pageNum, Integer pageSize) {\n        Pageable pageable = PageRequest.of(pageNum, pageSize);\n        return productRepository.findByNameOrSubTitleOrKeywords(keyword, keyword, keyword, pageable);\n    }\n\n    @Override\n    public Page<EsProduct> search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize,Integer sort) {\n        Pageable pageable = PageRequest.of(pageNum, pageSize);\n        NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();\n        //分页\n        nativeSearchQueryBuilder.withPageable(pageable);\n        //过滤\n        if (brandId != null || productCategoryId != null) {\n            BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();\n            if (brandId != null) {\n                boolQueryBuilder.must(QueryBuilders.termQuery(\"brandId\", brandId));\n            }\n            if (productCategoryId != null) {\n                boolQueryBuilder.must(QueryBuilders.termQuery(\"productCategoryId\", productCategoryId));\n            }\n            nativeSearchQueryBuilder.withFilter(boolQueryBuilder);\n        }\n        //搜索\n        if (StrUtil.isEmpty(keyword)) {\n            nativeSearchQueryBuilder.withQuery(QueryBuilders.matchAllQuery());\n        } else {\n            List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"name\", keyword),\n                    ScoreFunctionBuilders.weightFactorFunction(10)));\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"subTitle\", keyword),\n                    ScoreFunctionBuilders.weightFactorFunction(5)));\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"keywords\", keyword),\n                    ScoreFunctionBuilders.weightFactorFunction(2)));\n            FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];\n            filterFunctionBuilders.toArray(builders);\n            FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(builders)\n                    .scoreMode(FunctionScoreQuery.ScoreMode.SUM)\n                    .setMinScore(2);\n            nativeSearchQueryBuilder.withQuery(functionScoreQueryBuilder);\n        }\n        //排序\n        if(sort==1){\n            //按新品从新到旧\n            nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort(\"id\").order(SortOrder.DESC));\n        }else if(sort==2){\n            //按销量从高到低\n            nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort(\"sale\").order(SortOrder.DESC));\n        }else if(sort==3){\n            //按价格从低到高\n            nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort(\"price\").order(SortOrder.ASC));\n        }else if(sort==4){\n            //按价格从高到低\n            nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort(\"price\").order(SortOrder.DESC));\n        }else{\n            //按相关度\n            nativeSearchQueryBuilder.withSorts(SortBuilders.scoreSort().order(SortOrder.DESC));\n        }\n        nativeSearchQueryBuilder.withSorts(SortBuilders.scoreSort().order(SortOrder.DESC));\n        NativeSearchQuery searchQuery = nativeSearchQueryBuilder.build();\n        LOGGER.info(\"DSL:{}\", searchQuery.getQuery().toString());\n        SearchHits<EsProduct> searchHits = elasticsearchRestTemplate.search(searchQuery, EsProduct.class);\n        if(searchHits.getTotalHits()<=0){\n            return new PageImpl<>(ListUtil.empty(),pageable,0);\n        }\n        List<EsProduct> searchProductList = searchHits.stream().map(SearchHit::getContent).collect(Collectors.toList());\n        return new PageImpl<>(searchProductList,pageable,searchHits.getTotalHits());\n    }\n\n    @Override\n    public Page<EsProduct> recommend(Long id, Integer pageNum, Integer pageSize) {\n        Pageable pageable = PageRequest.of(pageNum, pageSize);\n        List<EsProduct> esProductList = productDao.getAllEsProductList(id);\n        if (esProductList.size() > 0) {\n            EsProduct esProduct = esProductList.get(0);\n            String keyword = esProduct.getName();\n            Long brandId = esProduct.getBrandId();\n            Long productCategoryId = esProduct.getProductCategoryId();\n            //根据商品标题、品牌、分类进行搜索\n            List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"name\", keyword),\n                    ScoreFunctionBuilders.weightFactorFunction(8)));\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"subTitle\", keyword),\n                    ScoreFunctionBuilders.weightFactorFunction(2)));\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"keywords\", keyword),\n                    ScoreFunctionBuilders.weightFactorFunction(2)));\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"brandId\", brandId),\n                    ScoreFunctionBuilders.weightFactorFunction(5)));\n            filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery(\"productCategoryId\", productCategoryId),\n                    ScoreFunctionBuilders.weightFactorFunction(3)));\n            FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];\n            filterFunctionBuilders.toArray(builders);\n            FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(builders)\n                    .scoreMode(FunctionScoreQuery.ScoreMode.SUM)\n                    .setMinScore(2);\n            //用于过滤掉相同的商品\n            BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();\n            boolQueryBuilder.mustNot(QueryBuilders.termQuery(\"id\",id));\n            //构建查询条件\n            NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();\n            builder.withQuery(functionScoreQueryBuilder);\n            builder.withFilter(boolQueryBuilder);\n            builder.withPageable(pageable);\n            NativeSearchQuery searchQuery = builder.build();\n            LOGGER.info(\"DSL:{}\", searchQuery.getQuery().toString());\n            SearchHits<EsProduct> searchHits = elasticsearchRestTemplate.search(searchQuery, EsProduct.class);\n            if(searchHits.getTotalHits()<=0){\n                return new PageImpl<>(ListUtil.empty(),pageable,0);\n            }\n            List<EsProduct> searchProductList = searchHits.stream().map(SearchHit::getContent).collect(Collectors.toList());\n            return new PageImpl<>(searchProductList,pageable,searchHits.getTotalHits());\n        }\n        return new PageImpl<>(ListUtil.empty());\n    }\n\n    @Override\n    public EsProductRelatedInfo searchRelatedInfo(String keyword) {\n        NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();\n        //搜索条件\n        if(StrUtil.isEmpty(keyword)){\n            builder.withQuery(QueryBuilders.matchAllQuery());\n        }else{\n            builder.withQuery(QueryBuilders.multiMatchQuery(keyword,\"name\",\"subTitle\",\"keywords\"));\n        }\n        //聚合搜索品牌名称\n        builder.withAggregations(AggregationBuilders.terms(\"brandNames\").field(\"brandName\"));\n        //聚合搜索分类名称\n        builder.withAggregations(AggregationBuilders.terms(\"productCategoryNames\").field(\"productCategoryName\"));\n        //聚合搜索商品属性，去除type=0的属性\n        AbstractAggregationBuilder aggregationBuilder = AggregationBuilders.nested(\"allAttrValues\",\"attrValueList\")\n                .subAggregation(AggregationBuilders.filter(\"productAttrs\",QueryBuilders.termQuery(\"attrValueList.type\",1))\n                        .subAggregation(AggregationBuilders.terms(\"attrIds\")\n                                .field(\"attrValueList.productAttributeId\")\n                                .subAggregation(AggregationBuilders.terms(\"attrValues\")\n                                        .field(\"attrValueList.value\"))\n                                .subAggregation(AggregationBuilders.terms(\"attrNames\")\n                                        .field(\"attrValueList.name\"))));\n        builder.withAggregations(aggregationBuilder);\n        NativeSearchQuery searchQuery = builder.build();\n        SearchHits<EsProduct> searchHits = elasticsearchRestTemplate.search(searchQuery, EsProduct.class);\n        return convertProductRelatedInfo(searchHits);\n    }\n\n    /**\n     * 将返回结果转换为对象\n     */\n    private EsProductRelatedInfo convertProductRelatedInfo(SearchHits<EsProduct> response) {\n        EsProductRelatedInfo productRelatedInfo = new EsProductRelatedInfo();\n        Map<String, Aggregation> aggregationMap = ((Aggregations)response.getAggregations().aggregations()).asMap();\n        //设置品牌\n        Aggregation brandNames = aggregationMap.get(\"brandNames\");\n        List<String> brandNameList = new ArrayList<>();\n        for(int i = 0; i<((Terms) brandNames).getBuckets().size(); i++){\n            brandNameList.add(((Terms) brandNames).getBuckets().get(i).getKeyAsString());\n        }\n        productRelatedInfo.setBrandNames(brandNameList);\n        //设置分类\n        Aggregation productCategoryNames = aggregationMap.get(\"productCategoryNames\");\n        List<String> productCategoryNameList = new ArrayList<>();\n        for(int i=0;i<((Terms) productCategoryNames).getBuckets().size();i++){\n            productCategoryNameList.add(((Terms) productCategoryNames).getBuckets().get(i).getKeyAsString());\n        }\n        productRelatedInfo.setProductCategoryNames(productCategoryNameList);\n        //设置参数\n        Aggregation productAttrs = aggregationMap.get(\"allAttrValues\");\n        List<? extends Terms.Bucket> attrIds = ((ParsedLongTerms) ((ParsedFilter) ((ParsedNested) productAttrs).getAggregations().get(\"productAttrs\")).getAggregations().get(\"attrIds\")).getBuckets();\n        List<EsProductRelatedInfo.ProductAttr> attrList = new ArrayList<>();\n        for (Terms.Bucket attrId : attrIds) {\n            EsProductRelatedInfo.ProductAttr attr = new EsProductRelatedInfo.ProductAttr();\n            attr.setAttrId((Long) attrId.getKey());\n            List<String> attrValueList = new ArrayList<>();\n            List<? extends Terms.Bucket> attrValues = ((ParsedStringTerms) attrId.getAggregations().get(\"attrValues\")).getBuckets();\n            List<? extends Terms.Bucket> attrNames = ((ParsedStringTerms) attrId.getAggregations().get(\"attrNames\")).getBuckets();\n            for (Terms.Bucket attrValue : attrValues) {\n                attrValueList.add(attrValue.getKeyAsString());\n            }\n            attr.setAttrValues(attrValueList);\n            if(!CollectionUtils.isEmpty(attrNames)){\n                String attrName = attrNames.get(0).getKeyAsString();\n                attr.setAttrName(attrName);\n            }\n            attrList.add(attr);\n        }\n        productRelatedInfo.setProductAttrs(attrList);\n        return productRelatedInfo;\n    }\n}\n"
  },
  {
    "path": "mall-search/src/main/resources/application-dev.yml",
    "content": "spring:\n  datasource:\n    url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: root\n    password: root\n    druid:\n      initial-size: 5 #连接池初始化大小\n      min-idle: 10 #最小空闲连接数\n      max-active: 20 #最大连接数\n      web-stat-filter:\n        exclusions: \"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*\" #不统计这些请求数据\n      stat-view-servlet: #访问监控网页的登录用户名和密码\n        login-username: druid\n        login-password: druid\n  data:\n    elasticsearch:\n      repositories:\n        enabled: true\n  elasticsearch:\n    uris: localhost:9200\n\nlogging:\n  level:\n    root: info\n    com.macro.mall: debug\n\nlogstash:\n  host: localhost\n  enableInnerLog: false"
  },
  {
    "path": "mall-search/src/main/resources/application-prod.yml",
    "content": "spring:\n  datasource:\n    url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false\n    username: reader\n    password: 123456\n    druid:\n      initial-size: 5 #连接池初始化大小\n      min-idle: 10 #最小空闲连接数\n      max-active: 20 #最大连接数\n      web-stat-filter:\n        exclusions: \"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*\" #不统计这些请求数据\n      stat-view-servlet: #访问监控网页的登录用户名和密码\n        login-username: druid\n        login-password: druid\n  data:\n    elasticsearch:\n      repositories:\n        enabled: true\n  elasticsearch:\n    uris: es:9200\n\nlogging:\n  file:\n    path: /var/logs\n  level:\n    root: info\n    com.macro.mall: info\n\nlogstash:\n  host: logstash"
  },
  {
    "path": "mall-search/src/main/resources/application.yml",
    "content": "spring:\n  application:\n    name: mall-search\n  profiles:\n    active: dev #默认为开发环境\n  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher\n\nserver:\n  port: 8081\n\nmybatis:\n  mapper-locations:\n    - classpath:dao/*.xml\n    - classpath*:com/**/mapper/*.xml\n\n\n\n"
  },
  {
    "path": "mall-search/src/main/resources/dao/EsProductDao.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"com.macro.mall.search.dao.EsProductDao\">\n    <resultMap id=\"esProductListMap\" type=\"com.macro.mall.search.domain.EsProduct\" autoMapping=\"true\">\n        <id column=\"id\" jdbcType=\"BIGINT\" property=\"id\" />\n        <collection property=\"attrValueList\" columnPrefix=\"attr_\" ofType=\"com.macro.mall.search.domain.EsProductAttributeValue\">\n            <id column=\"id\" property=\"id\" jdbcType=\"BIGINT\"/>\n            <result column=\"product_attribute_id\" property=\"productAttributeId\" jdbcType=\"BIGINT\"/>\n            <result column=\"value\" property=\"value\" jdbcType=\"VARCHAR\"/>\n            <result column=\"type\" property=\"type\"/>\n            <result column=\"name\" property=\"name\"/>\n        </collection>\n    </resultMap>\n    <select id=\"getAllEsProductList\" resultMap=\"esProductListMap\">\n        select\n            p.id id,\n            p.product_sn productSn,\n            p.brand_id brandId,\n            p.brand_name brandName,\n            p.product_category_id productCategoryId,\n            p.product_category_name productCategoryName,\n            p.pic pic,\n            p.name name,\n            p.sub_title subTitle,\n            p.price price,\n            p.sale sale,\n            p.new_status newStatus,\n            p.recommand_status recommandStatus,\n            p.stock stock,\n            p.promotion_type promotionType,\n            p.keywords keywords,\n            p.sort sort,\n            pav.id attr_id,\n            pav.value attr_value,\n            pav.product_attribute_id attr_product_attribute_id,\n            pa.type attr_type,\n            pa.name attr_name\n        from pms_product p\n        left join pms_product_attribute_value pav on p.id = pav.product_id\n        left join pms_product_attribute pa on pav.product_attribute_id= pa.id\n        where delete_status = 0 and publish_status = 1\n        <if test=\"id!=null\">\n            and p.id=#{id}\n        </if>\n    </select>\n</mapper>"
  },
  {
    "path": "mall-search/src/test/java/com/macro/mall/search/MallSearchApplicationTests.java",
    "content": "package com.macro.mall.search;\n\nimport com.macro.mall.search.dao.EsProductDao;\nimport com.macro.mall.search.domain.EsProduct;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.boot.test.context.SpringBootTest;\nimport org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;\nimport org.springframework.data.elasticsearch.core.IndexOperations;\nimport org.springframework.test.context.junit4.SpringRunner;\n\nimport java.util.List;\nimport java.util.Map;\n\n@SpringBootTest\npublic class MallSearchApplicationTests {\n    @Autowired\n    private EsProductDao productDao;\n    @Autowired\n    private ElasticsearchRestTemplate elasticsearchTemplate;\n    @Test\n    public void contextLoads() {\n    }\n    @Test\n    public void testGetAllEsProductList(){\n        List<EsProduct> esProductList = productDao.getAllEsProductList(null);\n        System.out.print(esProductList);\n    }\n    @Test\n    public void testEsProductMapping(){\n        IndexOperations indexOperations = elasticsearchTemplate.indexOps(EsProduct.class);\n        indexOperations.putMapping(indexOperations.createMapping(EsProduct.class));\n        Map mapping = indexOperations.getMapping();\n        System.out.println(mapping);\n    }\n\n}\n"
  },
  {
    "path": "mall-security/.gitignore",
    "content": "HELP.md\ntarget/\n!.mvn/wrapper/maven-wrapper.jar\n!**/src/main/**\n!**/src/test/**\n\n### STS ###\n.apt_generated\n.classpath\n.factorypath\n.project\n.settings\n.springBeans\n.sts4-cache\n\n### IntelliJ IDEA ###\n.idea\n*.iws\n*.iml\n*.ipr\n\n### NetBeans ###\n/nbproject/private/\n/nbbuild/\n/dist/\n/nbdist/\n/.nb-gradle/\nbuild/\n\n### VS Code ###\n.vscode/\n"
  },
  {
    "path": "mall-security/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall-security</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <name>mall-security</name>\n    <description>mall-security project for mall</description>\n\n    <parent>\n        <groupId>com.macro.mall</groupId>\n        <artifactId>mall</artifactId>\n        <version>1.0-SNAPSHOT</version>\n    </parent>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.macro.mall</groupId>\n            <artifactId>mall-common</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-web</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-security</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-data-redis</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>io.jsonwebtoken</groupId>\n            <artifactId>jjwt</artifactId>\n        </dependency>\n    </dependencies>\n\n</project>\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/annotation/CacheException.java",
    "content": "package com.macro.mall.security.annotation;\n\nimport java.lang.annotation.*;\n\n/**\n * 自定义缓存异常注解，有该注解的缓存方法会抛出异常\n * Created by macro on 2020/3/17.\n */\n@Documented\n@Target(ElementType.METHOD)\n@Retention(RetentionPolicy.RUNTIME)\npublic @interface CacheException {\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/aspect/RedisCacheAspect.java",
    "content": "package com.macro.mall.security.aspect;\n\nimport com.macro.mall.security.annotation.CacheException;\nimport org.aspectj.lang.ProceedingJoinPoint;\nimport org.aspectj.lang.Signature;\nimport org.aspectj.lang.annotation.Around;\nimport org.aspectj.lang.annotation.Aspect;\nimport org.aspectj.lang.annotation.Pointcut;\nimport org.aspectj.lang.reflect.MethodSignature;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.core.annotation.Order;\nimport org.springframework.stereotype.Component;\n\nimport java.lang.reflect.Method;\n\n/**\n * Redis缓存切面，防止Redis宕机影响正常业务逻辑\n * Created by macro on 2020/3/17.\n */\n@Aspect\n@Component\n@Order(2)\npublic class RedisCacheAspect {\n    private static final Logger LOGGER = LoggerFactory.getLogger(RedisCacheAspect.class);\n\n    @Pointcut(\"execution(public * com.macro.mall.portal.service.*CacheService.*(..)) || execution(public * com.macro.mall.service.*CacheService.*(..))\")\n    public void cacheAspect() {\n    }\n\n    @Around(\"cacheAspect()\")\n    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {\n        Signature signature = joinPoint.getSignature();\n        MethodSignature methodSignature = (MethodSignature) signature;\n        Method method = methodSignature.getMethod();\n        Object result = null;\n        try {\n            result = joinPoint.proceed();\n        } catch (Throwable throwable) {\n            //有CacheException注解的方法需要抛出异常\n            if (method.isAnnotationPresent(CacheException.class)) {\n                throw throwable;\n            } else {\n                LOGGER.error(throwable.getMessage());\n            }\n        }\n        return result;\n    }\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/DynamicAccessDecisionManager.java",
    "content": "package com.macro.mall.security.component;\n\nimport cn.hutool.core.collection.CollUtil;\nimport org.springframework.security.access.AccessDecisionManager;\nimport org.springframework.security.access.AccessDeniedException;\nimport org.springframework.security.access.ConfigAttribute;\nimport org.springframework.security.authentication.InsufficientAuthenticationException;\nimport org.springframework.security.core.Authentication;\nimport org.springframework.security.core.GrantedAuthority;\n\nimport java.util.Collection;\nimport java.util.Iterator;\n\n/**\n * 动态权限决策管理器，用于判断用户是否有访问权限\n * Created by macro on 2020/2/7.\n */\npublic class DynamicAccessDecisionManager implements AccessDecisionManager {\n\n    @Override\n    public void decide(Authentication authentication, Object object,\n                       Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {\n        // 当接口未被配置资源时直接放行\n        if (CollUtil.isEmpty(configAttributes)) {\n            return;\n        }\n        Iterator<ConfigAttribute> iterator = configAttributes.iterator();\n        while (iterator.hasNext()) {\n            ConfigAttribute configAttribute = iterator.next();\n            //将访问所需资源或用户拥有资源进行比对\n            String needAuthority = configAttribute.getAttribute();\n            for (GrantedAuthority grantedAuthority : authentication.getAuthorities()) {\n                if (needAuthority.trim().equals(grantedAuthority.getAuthority())) {\n                    return;\n                }\n            }\n        }\n        throw new AccessDeniedException(\"抱歉，您没有访问权限\");\n    }\n\n    @Override\n    public boolean supports(ConfigAttribute configAttribute) {\n        return true;\n    }\n\n    @Override\n    public boolean supports(Class<?> aClass) {\n        return true;\n    }\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/DynamicSecurityFilter.java",
    "content": "package com.macro.mall.security.component;\n\nimport com.macro.mall.security.config.IgnoreUrlsConfig;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.http.HttpMethod;\nimport org.springframework.security.access.SecurityMetadataSource;\nimport org.springframework.security.access.intercept.AbstractSecurityInterceptor;\nimport org.springframework.security.access.intercept.InterceptorStatusToken;\nimport org.springframework.security.web.FilterInvocation;\nimport org.springframework.util.AntPathMatcher;\nimport org.springframework.util.PathMatcher;\n\nimport javax.servlet.*;\nimport javax.servlet.http.HttpServletRequest;\nimport java.io.IOException;\n\n/**\n * 动态权限过滤器，用于实现基于路径的动态权限过滤\n * Created by macro on 2020/2/7.\n */\npublic class DynamicSecurityFilter extends AbstractSecurityInterceptor implements Filter {\n\n    @Autowired\n    private DynamicSecurityMetadataSource dynamicSecurityMetadataSource;\n    @Autowired\n    private IgnoreUrlsConfig ignoreUrlsConfig;\n\n    @Autowired\n    public void setMyAccessDecisionManager(DynamicAccessDecisionManager dynamicAccessDecisionManager) {\n        super.setAccessDecisionManager(dynamicAccessDecisionManager);\n    }\n\n    @Override\n    public void init(FilterConfig filterConfig) throws ServletException {\n    }\n\n    @Override\n    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {\n        HttpServletRequest request = (HttpServletRequest) servletRequest;\n        FilterInvocation fi = new FilterInvocation(servletRequest, servletResponse, filterChain);\n        //OPTIONS请求直接放行\n        if(request.getMethod().equals(HttpMethod.OPTIONS.toString())){\n            fi.getChain().doFilter(fi.getRequest(), fi.getResponse());\n            return;\n        }\n        //白名单请求直接放行\n        PathMatcher pathMatcher = new AntPathMatcher();\n        for (String path : ignoreUrlsConfig.getUrls()) {\n            if(pathMatcher.match(path,request.getRequestURI())){\n                fi.getChain().doFilter(fi.getRequest(), fi.getResponse());\n                return;\n            }\n        }\n        //此处会调用AccessDecisionManager中的decide方法进行鉴权操作\n        InterceptorStatusToken token = super.beforeInvocation(fi);\n        try {\n            fi.getChain().doFilter(fi.getRequest(), fi.getResponse());\n        } finally {\n            super.afterInvocation(token, null);\n        }\n    }\n\n    @Override\n    public void destroy() {\n    }\n\n    @Override\n    public Class<?> getSecureObjectClass() {\n        return FilterInvocation.class;\n    }\n\n    @Override\n    public SecurityMetadataSource obtainSecurityMetadataSource() {\n        return dynamicSecurityMetadataSource;\n    }\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/DynamicSecurityMetadataSource.java",
    "content": "package com.macro.mall.security.component;\n\nimport cn.hutool.core.util.URLUtil;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.security.access.ConfigAttribute;\nimport org.springframework.security.web.FilterInvocation;\nimport org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource;\nimport org.springframework.util.AntPathMatcher;\nimport org.springframework.util.PathMatcher;\n\nimport javax.annotation.PostConstruct;\nimport java.util.*;\n\n/**\n * 动态权限数据源，用于获取动态权限规则\n * Created by macro on 2020/2/7.\n */\npublic class DynamicSecurityMetadataSource implements FilterInvocationSecurityMetadataSource {\n\n    private static Map<String, ConfigAttribute> configAttributeMap = null;\n    @Autowired\n    private DynamicSecurityService dynamicSecurityService;\n\n    @PostConstruct\n    public void loadDataSource() {\n        configAttributeMap = dynamicSecurityService.loadDataSource();\n    }\n\n    public void clearDataSource() {\n        configAttributeMap.clear();\n        configAttributeMap = null;\n    }\n\n    @Override\n    public Collection<ConfigAttribute> getAttributes(Object o) throws IllegalArgumentException {\n        if (configAttributeMap == null) this.loadDataSource();\n        List<ConfigAttribute>  configAttributes = new ArrayList<>();\n        //获取当前访问的路径\n        String url = ((FilterInvocation) o).getRequestUrl();\n        String path = URLUtil.getPath(url);\n        PathMatcher pathMatcher = new AntPathMatcher();\n        Iterator<String> iterator = configAttributeMap.keySet().iterator();\n        //获取访问该路径所需资源\n        while (iterator.hasNext()) {\n            String pattern = iterator.next();\n            if (pathMatcher.match(pattern, path)) {\n                configAttributes.add(configAttributeMap.get(pattern));\n            }\n        }\n        // 未设置操作请求权限，返回空集合\n        return configAttributes;\n    }\n\n    @Override\n    public Collection<ConfigAttribute> getAllConfigAttributes() {\n        return null;\n    }\n\n    @Override\n    public boolean supports(Class<?> aClass) {\n        return true;\n    }\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/DynamicSecurityService.java",
    "content": "package com.macro.mall.security.component;\n\nimport org.springframework.security.access.ConfigAttribute;\n\nimport java.util.Map;\n\n/**\n * 动态权限相关业务接口\n * Created by macro on 2020/2/7.\n */\npublic interface DynamicSecurityService {\n    /**\n     * 加载资源ANT通配符和资源对应MAP\n     */\n    Map<String, ConfigAttribute> loadDataSource();\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/JwtAuthenticationTokenFilter.java",
    "content": "package com.macro.mall.security.component;\n\nimport com.macro.mall.security.util.JwtTokenUtil;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.security.authentication.UsernamePasswordAuthenticationToken;\nimport org.springframework.security.core.context.SecurityContextHolder;\nimport org.springframework.security.core.userdetails.UserDetails;\nimport org.springframework.security.core.userdetails.UserDetailsService;\nimport org.springframework.security.web.authentication.WebAuthenticationDetailsSource;\nimport org.springframework.web.filter.OncePerRequestFilter;\n\nimport javax.servlet.FilterChain;\nimport javax.servlet.ServletException;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.IOException;\n\n/**\n * JWT登录授权过滤器\n * Created by macro on 2018/4/26.\n */\npublic class JwtAuthenticationTokenFilter extends OncePerRequestFilter {\n    private static final Logger LOGGER = LoggerFactory.getLogger(JwtAuthenticationTokenFilter.class);\n    @Autowired\n    private UserDetailsService userDetailsService;\n    @Autowired\n    private JwtTokenUtil jwtTokenUtil;\n    @Value(\"${jwt.tokenHeader}\")\n    private String tokenHeader;\n    @Value(\"${jwt.tokenHead}\")\n    private String tokenHead;\n\n    @Override\n    protected void doFilterInternal(HttpServletRequest request,\n                                    HttpServletResponse response,\n                                    FilterChain chain) throws ServletException, IOException {\n        String authHeader = request.getHeader(this.tokenHeader);\n        if (authHeader != null && authHeader.startsWith(this.tokenHead)) {\n            String authToken = authHeader.substring(this.tokenHead.length());// The part after \"Bearer \"\n            String username = jwtTokenUtil.getUserNameFromToken(authToken);\n            LOGGER.info(\"checking username:{}\", username);\n            if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {\n                UserDetails userDetails = this.userDetailsService.loadUserByUsername(username);\n                if (jwtTokenUtil.validateToken(authToken, userDetails)) {\n                    UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());\n                    authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));\n                    LOGGER.info(\"authenticated user:{}\", username);\n                    SecurityContextHolder.getContext().setAuthentication(authentication);\n                }\n            }\n        }\n        chain.doFilter(request, response);\n    }\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/RestAuthenticationEntryPoint.java",
    "content": "package com.macro.mall.security.component;\n\nimport cn.hutool.json.JSONUtil;\nimport com.macro.mall.common.api.CommonResult;\nimport org.springframework.security.core.AuthenticationException;\nimport org.springframework.security.web.AuthenticationEntryPoint;\nimport org.springframework.stereotype.Component;\n\nimport javax.servlet.ServletException;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.IOException;\n\n/**\n * 自定义未登录或者token失效时的返回结果\n * Created by macro on 2018/5/14.\n */\npublic class RestAuthenticationEntryPoint implements AuthenticationEntryPoint {\n    @Override\n    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {\n        response.setHeader(\"Access-Control-Allow-Origin\", \"*\");\n        response.setHeader(\"Cache-Control\",\"no-cache\");\n        response.setCharacterEncoding(\"UTF-8\");\n        response.setContentType(\"application/json\");\n        response.getWriter().println(JSONUtil.parse(CommonResult.unauthorized(authException.getMessage())));\n        response.getWriter().flush();\n    }\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/component/RestfulAccessDeniedHandler.java",
    "content": "package com.macro.mall.security.component;\n\nimport cn.hutool.json.JSONUtil;\nimport com.macro.mall.common.api.CommonResult;\nimport org.springframework.security.access.AccessDeniedException;\nimport org.springframework.security.web.access.AccessDeniedHandler;\nimport org.springframework.stereotype.Component;\n\nimport javax.servlet.ServletException;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.IOException;\n\n/**\n * 自定义无权限访问的返回结果\n * Created by macro on 2018/4/26.\n */\npublic class RestfulAccessDeniedHandler implements AccessDeniedHandler{\n    @Override\n    public void handle(HttpServletRequest request,\n                       HttpServletResponse response,\n                       AccessDeniedException e) throws IOException, ServletException {\n        response.setHeader(\"Access-Control-Allow-Origin\", \"*\");\n        response.setHeader(\"Cache-Control\",\"no-cache\");\n        response.setCharacterEncoding(\"UTF-8\");\n        response.setContentType(\"application/json\");\n        response.getWriter().println(JSONUtil.parse(CommonResult.forbidden(e.getMessage())));\n        response.getWriter().flush();\n    }\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/config/CommonSecurityConfig.java",
    "content": "package com.macro.mall.security.config;\n\nimport com.macro.mall.security.component.*;\nimport com.macro.mall.security.util.JwtTokenUtil;\nimport org.springframework.boot.autoconfigure.condition.ConditionalOnBean;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;\nimport org.springframework.security.crypto.password.PasswordEncoder;\n\n/**\n * SpringSecurity通用配置\n * 包括通用Bean、Security通用Bean及动态权限通用Bean\n * Created by macro on 2022/5/20.\n */\n@Configuration\npublic class CommonSecurityConfig {\n\n    @Bean\n    public PasswordEncoder passwordEncoder() {\n        return new BCryptPasswordEncoder();\n    }\n\n    @Bean\n    public IgnoreUrlsConfig ignoreUrlsConfig() {\n        return new IgnoreUrlsConfig();\n    }\n\n    @Bean\n    public JwtTokenUtil jwtTokenUtil() {\n        return new JwtTokenUtil();\n    }\n\n    @Bean\n    public RestfulAccessDeniedHandler restfulAccessDeniedHandler() {\n        return new RestfulAccessDeniedHandler();\n    }\n\n    @Bean\n    public RestAuthenticationEntryPoint restAuthenticationEntryPoint() {\n        return new RestAuthenticationEntryPoint();\n    }\n\n    @Bean\n    public JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter(){\n        return new JwtAuthenticationTokenFilter();\n    }\n\n    @ConditionalOnBean(name = \"dynamicSecurityService\")\n    @Bean\n    public DynamicAccessDecisionManager dynamicAccessDecisionManager() {\n        return new DynamicAccessDecisionManager();\n    }\n\n    @ConditionalOnBean(name = \"dynamicSecurityService\")\n    @Bean\n    public DynamicSecurityMetadataSource dynamicSecurityMetadataSource() {\n        return new DynamicSecurityMetadataSource();\n    }\n\n    @ConditionalOnBean(name = \"dynamicSecurityService\")\n    @Bean\n    public DynamicSecurityFilter dynamicSecurityFilter(){\n        return new DynamicSecurityFilter();\n    }\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/config/IgnoreUrlsConfig.java",
    "content": "package com.macro.mall.security.config;\n\nimport lombok.Getter;\nimport lombok.Setter;\nimport org.springframework.boot.context.properties.ConfigurationProperties;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * SpringSecurity白名单资源路径配置\n * Created by macro on 2018/11/5.\n */\n@Getter\n@Setter\n@ConfigurationProperties(prefix = \"secure.ignored\")\npublic class IgnoreUrlsConfig {\n\n    private List<String> urls = new ArrayList<>();\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/config/RedisConfig.java",
    "content": "package com.macro.mall.security.config;\n\nimport com.macro.mall.common.config.BaseRedisConfig;\nimport org.springframework.cache.annotation.EnableCaching;\nimport org.springframework.context.annotation.Configuration;\n\n/**\n * Redis相关配置\n * Created by macro on 2020/3/2.\n */\n@EnableCaching\n@Configuration\npublic class RedisConfig extends BaseRedisConfig {\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/config/SecurityConfig.java",
    "content": "package com.macro.mall.security.config;\n\nimport com.macro.mall.security.component.*;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.http.HttpMethod;\nimport org.springframework.security.config.annotation.web.builders.HttpSecurity;\nimport org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;\nimport org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;\nimport org.springframework.security.config.http.SessionCreationPolicy;\nimport org.springframework.security.web.SecurityFilterChain;\nimport org.springframework.security.web.access.intercept.FilterSecurityInterceptor;\nimport org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;\n\n\n/**\n * SpringSecurity相关配置，仅用于配置SecurityFilterChain\n * Created by macro on 2019/11/5.\n */\n@Configuration\n@EnableWebSecurity\npublic class SecurityConfig {\n\n    @Autowired\n    private IgnoreUrlsConfig ignoreUrlsConfig;\n    @Autowired\n    private RestfulAccessDeniedHandler restfulAccessDeniedHandler;\n    @Autowired\n    private RestAuthenticationEntryPoint restAuthenticationEntryPoint;\n    @Autowired\n    private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;\n    @Autowired(required = false)\n    private DynamicSecurityService dynamicSecurityService;\n    @Autowired(required = false)\n    private DynamicSecurityFilter dynamicSecurityFilter;\n\n    @Bean\n    SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {\n        ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry = httpSecurity\n                .authorizeRequests();\n        //不需要保护的资源路径允许访问\n        for (String url : ignoreUrlsConfig.getUrls()) {\n            registry.antMatchers(url).permitAll();\n        }\n        //允许跨域请求的OPTIONS请求\n        registry.antMatchers(HttpMethod.OPTIONS)\n                .permitAll();\n        //任何请求都需要身份认证\n        registry.and()\n                .authorizeRequests()\n                .anyRequest()\n                .authenticated()\n                //关闭跨站请求防护及不使用session\n                .and()\n                .csrf()\n                .disable()\n                .sessionManagement()\n                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)\n                //自定义权限拒绝处理类\n                .and()\n                .exceptionHandling()\n                .accessDeniedHandler(restfulAccessDeniedHandler)\n                .authenticationEntryPoint(restAuthenticationEntryPoint)\n                //自定义权限拦截器JWT过滤器\n                .and()\n                .addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);\n        //有动态权限配置时添加动态权限校验过滤器\n        if(dynamicSecurityService!=null){\n            registry.and().addFilterBefore(dynamicSecurityFilter, FilterSecurityInterceptor.class);\n        }\n        return httpSecurity.build();\n    }\n\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/util/JwtTokenUtil.java",
    "content": "package com.macro.mall.security.util;\n\nimport cn.hutool.core.date.DateUtil;\nimport cn.hutool.core.util.StrUtil;\nimport io.jsonwebtoken.Claims;\nimport io.jsonwebtoken.Jwts;\nimport io.jsonwebtoken.SignatureAlgorithm;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.security.core.userdetails.UserDetails;\n\nimport java.util.Date;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * JwtToken生成的工具类\n * JWT token的格式：header.payload.signature\n * header的格式（算法、token的类型）：\n * {\"alg\": \"HS512\",\"typ\": \"JWT\"}\n * payload的格式（用户名、创建时间、生成时间）：\n * {\"sub\":\"wang\",\"created\":1489079981393,\"exp\":1489684781}\n * signature的生成算法：\n * HMACSHA512(base64UrlEncode(header) + \".\" +base64UrlEncode(payload),secret)\n * Created by macro on 2018/4/26.\n */\npublic class JwtTokenUtil {\n    private static final Logger LOGGER = LoggerFactory.getLogger(JwtTokenUtil.class);\n    private static final String CLAIM_KEY_USERNAME = \"sub\";\n    private static final String CLAIM_KEY_CREATED = \"created\";\n    @Value(\"${jwt.secret}\")\n    private String secret;\n    @Value(\"${jwt.expiration}\")\n    private Long expiration;\n    @Value(\"${jwt.tokenHead}\")\n    private String tokenHead;\n\n    /**\n     * 根据负责生成JWT的token\n     */\n    private String generateToken(Map<String, Object> claims) {\n        return Jwts.builder()\n                .setClaims(claims)\n                .setExpiration(generateExpirationDate())\n                .signWith(SignatureAlgorithm.HS512, secret)\n                .compact();\n    }\n\n    /**\n     * 从token中获取JWT中的负载\n     */\n    private Claims getClaimsFromToken(String token) {\n        Claims claims = null;\n        try {\n            claims = Jwts.parser()\n                    .setSigningKey(secret)\n                    .parseClaimsJws(token)\n                    .getBody();\n        } catch (Exception e) {\n            LOGGER.info(\"JWT格式验证失败:{}\", token);\n        }\n        return claims;\n    }\n\n    /**\n     * 生成token的过期时间\n     */\n    private Date generateExpirationDate() {\n        return new Date(System.currentTimeMillis() + expiration * 1000);\n    }\n\n    /**\n     * 从token中获取登录用户名\n     */\n    public String getUserNameFromToken(String token) {\n        String username;\n        try {\n            Claims claims = getClaimsFromToken(token);\n            username = claims.getSubject();\n        } catch (Exception e) {\n            username = null;\n        }\n        return username;\n    }\n\n    /**\n     * 验证token是否还有效\n     *\n     * @param token       客户端传入的token\n     * @param userDetails 从数据库中查询出来的用户信息\n     */\n    public boolean validateToken(String token, UserDetails userDetails) {\n        String username = getUserNameFromToken(token);\n        return username.equals(userDetails.getUsername()) && !isTokenExpired(token);\n    }\n\n    /**\n     * 判断token是否已经失效\n     */\n    private boolean isTokenExpired(String token) {\n        Date expiredDate = getExpiredDateFromToken(token);\n        return expiredDate.before(new Date());\n    }\n\n    /**\n     * 从token中获取过期时间\n     */\n    private Date getExpiredDateFromToken(String token) {\n        Claims claims = getClaimsFromToken(token);\n        return claims.getExpiration();\n    }\n\n    /**\n     * 根据用户信息生成token\n     */\n    public String generateToken(UserDetails userDetails) {\n        Map<String, Object> claims = new HashMap<>();\n        claims.put(CLAIM_KEY_USERNAME, userDetails.getUsername());\n        claims.put(CLAIM_KEY_CREATED, new Date());\n        return generateToken(claims);\n    }\n\n    /**\n     * 当原来的token没过期时是可以刷新的\n     *\n     * @param oldToken 带tokenHead的token\n     */\n    public String refreshHeadToken(String oldToken) {\n        if(StrUtil.isEmpty(oldToken)){\n            return null;\n        }\n        String token = oldToken.substring(tokenHead.length());\n        if(StrUtil.isEmpty(token)){\n            return null;\n        }\n        //token校验不通过\n        Claims claims = getClaimsFromToken(token);\n        if(claims==null){\n            return null;\n        }\n        //如果token已经过期，不支持刷新\n        if(isTokenExpired(token)){\n            return null;\n        }\n        //如果token在30分钟之内刚刷新过，返回原token\n        if(tokenRefreshJustBefore(token,30*60)){\n            return token;\n        }else{\n            claims.put(CLAIM_KEY_CREATED, new Date());\n            return generateToken(claims);\n        }\n    }\n\n    /**\n     * 判断token在指定时间内是否刚刚刷新过\n     * @param token 原token\n     * @param time 指定时间（秒）\n     */\n    private boolean tokenRefreshJustBefore(String token, int time) {\n        Claims claims = getClaimsFromToken(token);\n        Date created = claims.get(CLAIM_KEY_CREATED, Date.class);\n        Date refreshDate = new Date();\n        //刷新时间在创建时间的指定时间内\n        if(refreshDate.after(created)&&refreshDate.before(DateUtil.offsetSecond(created,time))){\n            return true;\n        }\n        return false;\n    }\n}\n"
  },
  {
    "path": "mall-security/src/main/java/com/macro/mall/security/util/SpringUtil.java",
    "content": "package com.macro.mall.security.util;\n\nimport org.springframework.beans.BeansException;\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.context.ApplicationContextAware;\nimport org.springframework.stereotype.Component;\n\n/**\n * Spring工具类\n * Created by macro on 2020/3/3.\n */\n@Component\npublic class SpringUtil implements ApplicationContextAware {\n\n    private static ApplicationContext applicationContext;\n\n    // 获取applicationContext\n    public static ApplicationContext getApplicationContext() {\n        return applicationContext;\n    }\n\n    @Override\n    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {\n        if (SpringUtil.applicationContext == null) {\n            SpringUtil.applicationContext = applicationContext;\n        }\n    }\n\n    // 通过name获取Bean\n    public static Object getBean(String name) {\n        return getApplicationContext().getBean(name);\n    }\n\n    // 通过class获取Bean\n    public static <T> T getBean(Class<T> clazz) {\n        return getApplicationContext().getBean(clazz);\n    }\n\n    // 通过name,以及Clazz返回指定的Bean\n    public static <T> T getBean(String name, Class<T> clazz) {\n        return getApplicationContext().getBean(name, clazz);\n    }\n\n}\n"
  },
  {
    "path": "pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.macro.mall</groupId>\n    <artifactId>mall</artifactId>\n    <version>1.0-SNAPSHOT</version>\n    <packaging>pom</packaging>\n\n    <modules>\n        <module>mall-common</module>\n        <module>mall-mbg</module>\n        <module>mall-security</module>\n        <module>mall-demo</module>\n        <module>mall-admin</module>\n        <module>mall-search</module>\n        <module>mall-portal</module>\n    </modules>\n\n    <parent>\n        <groupId>org.springframework.boot</groupId>\n        <artifactId>spring-boot-starter-parent</artifactId>\n        <version>2.7.5</version>\n        <relativePath/> <!-- lookup parent from repository -->\n    </parent>\n\n    <properties>\n        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\n        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\n        <java.version>1.8</java.version>\n        <skipTests>true</skipTests>\n        <docker.host>http://192.168.3.101:2375</docker.host>\n        <docker.maven.plugin.version>0.40.2</docker.maven.plugin.version>\n        <pagehelper-starter.version>1.4.5</pagehelper-starter.version>\n        <pagehelper.version>5.3.2</pagehelper.version>\n        <druid.version>1.2.14</druid.version>\n        <hutool.version>5.8.9</hutool.version>\n        <springfox-swagger.version>3.0.0</springfox-swagger.version>\n        <swagger-models.version>1.6.0</swagger-models.version>\n        <swagger-annotations.version>1.6.0</swagger-annotations.version>\n        <mybatis-generator.version>1.4.1</mybatis-generator.version>\n        <mybatis.version>3.5.10</mybatis.version>\n        <mysql-connector.version>8.0.29</mysql-connector.version>\n        <spring-data-commons.version>2.7.5</spring-data-commons.version>\n        <jjwt.version>0.9.1</jjwt.version>\n        <aliyun-oss.version>2.5.0</aliyun-oss.version>\n        <alipay-sdk.version>4.38.61.ALL</alipay-sdk.version>\n        <logstash-logback.version>7.2</logstash-logback.version>\n        <minio.version>8.4.5</minio.version>\n        <jaxb-api.version>2.3.1</jaxb-api.version>\n        <mall-common.version>1.0-SNAPSHOT</mall-common.version>\n        <mall-mbg.version>1.0-SNAPSHOT</mall-mbg.version>\n        <mall-security.version>1.0-SNAPSHOT</mall-security.version>\n    </properties>\n\n    <dependencies>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-actuator</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-aop</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-starter-test</artifactId>\n            <scope>test</scope>\n        </dependency>\n        <dependency>\n            <groupId>cn.hutool</groupId>\n            <artifactId>hutool-all</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.projectlombok</groupId>\n            <artifactId>lombok</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-configuration-processor</artifactId>\n            <optional>true</optional>\n        </dependency>\n        <!--解决JDK 11 兼容性问题-->\n        <dependency>\n            <groupId>javax.xml.bind</groupId>\n            <artifactId>jaxb-api</artifactId>\n            <version>${jaxb-api.version}</version>\n        </dependency>\n    </dependencies>\n\n    <dependencyManagement>\n        <dependencies>\n            <!--mall通用模块-->\n            <dependency>\n                <groupId>com.macro.mall</groupId>\n                <artifactId>mall-common</artifactId>\n                <version>${mall-common.version}</version>\n            </dependency>\n            <!--mall中MBG生成模块-->\n            <dependency>\n                <groupId>com.macro.mall</groupId>\n                <artifactId>mall-mbg</artifactId>\n                <version>${mall-mbg.version}</version>\n            </dependency>\n            <!--mall安全模块-->\n            <dependency>\n                <groupId>com.macro.mall</groupId>\n                <artifactId>mall-security</artifactId>\n                <version>${mall-security.version}</version>\n            </dependency>\n            <!--MyBatis分页插件starter-->\n            <dependency>\n                <groupId>com.github.pagehelper</groupId>\n                <artifactId>pagehelper-spring-boot-starter</artifactId>\n                <version>${pagehelper-starter.version}</version>\n            </dependency>\n            <!--MyBatis分页插件-->\n            <dependency>\n                <groupId>com.github.pagehelper</groupId>\n                <artifactId>pagehelper</artifactId>\n                <version>${pagehelper.version}</version>\n            </dependency>\n            <!--集成druid连接池-->\n            <dependency>\n                <groupId>com.alibaba</groupId>\n                <artifactId>druid-spring-boot-starter</artifactId>\n                <version>${druid.version}</version>\n            </dependency>\n            <!--Hutool Java工具包-->\n            <dependency>\n                <groupId>cn.hutool</groupId>\n                <artifactId>hutool-all</artifactId>\n                <version>${hutool.version}</version>\n            </dependency>\n            <!--Swagger-UI API文档生产工具-->\n            <dependency>\n                <groupId>io.springfox</groupId>\n                <artifactId>springfox-boot-starter</artifactId>\n                <version>${springfox-swagger.version}</version>\n            </dependency>\n            <!--解决Swagger访问主页时的NumberFormatException问题-->\n            <dependency>\n                <groupId>io.swagger</groupId>\n                <artifactId>swagger-models</artifactId>\n                <version>${swagger-models.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>io.swagger</groupId>\n                <artifactId>swagger-annotations</artifactId>\n                <version>${swagger-annotations.version}</version>\n            </dependency>\n            <!-- MyBatis 生成器 -->\n            <dependency>\n                <groupId>org.mybatis.generator</groupId>\n                <artifactId>mybatis-generator-core</artifactId>\n                <version>${mybatis-generator.version}</version>\n            </dependency>\n            <!-- MyBatis-->\n            <dependency>\n                <groupId>org.mybatis</groupId>\n                <artifactId>mybatis</artifactId>\n                <version>${mybatis.version}</version>\n            </dependency>\n            <!--Mysql数据库驱动-->\n            <dependency>\n                <groupId>mysql</groupId>\n                <artifactId>mysql-connector-java</artifactId>\n                <version>${mysql-connector.version}</version>\n            </dependency>\n            <!--SpringData工具包-->\n            <dependency>\n                <groupId>org.springframework.data</groupId>\n                <artifactId>spring-data-commons</artifactId>\n                <version>${spring-data-commons.version}</version>\n            </dependency>\n            <!--JWT(Json Web Token)登录支持-->\n            <dependency>\n                <groupId>io.jsonwebtoken</groupId>\n                <artifactId>jjwt</artifactId>\n                <version>${jjwt.version}</version>\n            </dependency>\n            <!-- 阿里云OSS -->\n            <dependency>\n                <groupId>com.aliyun.oss</groupId>\n                <artifactId>aliyun-sdk-oss</artifactId>\n                <version>${aliyun-oss.version}</version>\n            </dependency>\n            <!--集成logstash-->\n            <dependency>\n                <groupId>net.logstash.logback</groupId>\n                <artifactId>logstash-logback-encoder</artifactId>\n                <version>${logstash-logback.version}</version>\n            </dependency>\n            <!--MinIO JAVA SDK-->\n            <dependency>\n                <groupId>io.minio</groupId>\n                <artifactId>minio</artifactId>\n                <version>${minio.version}</version>\n            </dependency>\n        </dependencies>\n    </dependencyManagement>\n\n    <build>\n        <pluginManagement>\n            <plugins>\n                <plugin>\n                    <groupId>org.springframework.boot</groupId>\n                    <artifactId>spring-boot-maven-plugin</artifactId>\n                </plugin>\n                <plugin>\n                    <groupId>io.fabric8</groupId>\n                    <artifactId>docker-maven-plugin</artifactId>\n                    <version>${docker.maven.plugin.version}</version>\n                        <executions>\n                            <!--如果想在项目打包时构建镜像添加-->\n                            <execution>\n                                <id>build-image</id>\n                                <phase>package</phase>\n                                <goals>\n                                    <goal>build</goal>\n                                </goals>\n                            </execution>\n                        </executions>\n                    <configuration>\n                        <!-- Docker 远程管理地址-->\n                        <dockerHost>${docker.host}</dockerHost>\n                        <images>\n                            <image>\n                                <!--定义镜像名称-->\n                                <name>mall/${project.name}:${project.version}</name>\n                                <!--定义镜像构建行为-->\n                                <build>\n                                    <!--定义基础镜像-->\n                                    <from>openjdk:8</from>\n                                    <args>\n                                        <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>\n                                    </args>\n                                    <!--定义哪些文件拷贝到容器中-->\n                                    <assembly>\n                                        <!--定义拷贝到容器的目录-->\n                                        <targetDir>/</targetDir>\n                                        <!--只拷贝生成的jar包-->\n                                        <descriptorRef>artifact</descriptorRef>\n                                    </assembly>\n                                    <!--定义容器启动命令-->\n                                    <entryPoint>[\"java\", \"-jar\",\"-Dspring.profiles.active=prod\",\"/${project.build.finalName}.jar\"]</entryPoint>\n                                    <!--定义维护者-->\n                                    <maintainer>macrozheng</maintainer>\n                                </build>\n                            </image>\n                        </images>\n                    </configuration>\n                </plugin>\n\n            </plugins>\n        </pluginManagement>\n    </build>\n\n    <!--使用aliyun的Maven镜像源提升下载速度-->\n    <repositories>\n        <repository>\n            <id>aliyunmaven</id>\n            <name>aliyun</name>\n            <url>https://maven.aliyun.com/repository/public</url>\n        </repository>\n        <repository>\n            <id>central2</id>\n            <name>central2</name>\n            <url>https://repo1.maven.org/maven2/</url>\n        </repository>\n    </repositories>\n\n    <!--使用aliyun的镜像源提升插件下载速度-->\n    <pluginRepositories>\n        <pluginRepository>\n            <id>aliyunmaven</id>\n            <name>aliyun</name>\n            <url>https://maven.aliyun.com/repository/public</url>\n        </pluginRepository>\n        <pluginRepository>\n            <id>central2</id>\n            <name>central2</name>\n            <url>https://repo1.maven.org/maven2/</url>\n        </pluginRepository>\n    </pluginRepositories>\n\n</project>"
  }
]