diff --git a/xm-core/src/main/resources/application-dev.properties b/xm-core/src/main/resources/application-dev.properties
deleted file mode 100644
index 19a32a98..00000000
--- a/xm-core/src/main/resources/application-dev.properties
+++ /dev/null
@@ -1,155 +0,0 @@
-#\u5185\u7F6E\u670D\u52A1\u5668\u7684\u7AEF\u53E3
-server.port=7067
-spring.application.name=xm
-#server.context-path=/${spring.application.name}
-#session\u5931\u6548\u65F6\u95F4 \u79D2
-server.session.timeout=43200
-spring.session.store-type=redis
-
-#eureka.client.serviceUrl.defaultZone=http://www.qingqinkj.com/eureka/
-
-
-#\u670D\u52A1\u8DDF\u8E2A
-spring.zipkin.enabled=false
-spring.zipkin.base-url=http://111.230.141.161:6019/
-spring.sleuth.sampler.percentage=1.0
-
-
-
-spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.jdbc-url=jdbc:mysql://123.207.117.5:3306/xm?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=CTT&allowPublicKeyRetrieval=true
-spring.datasource.username=root
-spring.datasource.password=1qaz@WSX
-spring.datasource.validation-query=SELECT 1
-spring.datasource.test-on-borrow=true
-spring.datasource.validation-interval=30000
-#\u9650\u5236\u6587\u4EF6\u4E0A\u4F20\u5927\u5C0F
-spring.http.multipart.maxFileSize=10Mb
-spring.http.multipart.maxRequestSize=10Mb
-
-#spring.activiti.database-schema=wf
-#spring.activiti.database-schema-update=true
-
-#\u66F4\u591A\u6570\u636E\u6E90
-#custom.datasource.names=ds1
-#custom.datasource.ds1.driver-class-name=net.ucanaccess.jdbc.UcanaccessDriver
-#custom.datasource.ds1.mdb-path=./mdb/FileScanData.mdb
-#custom.datasource.ds1.url=jdbc:ucanaccess://./mdb/FileScanData.mdb;memory=false;
-#custom.datasource.ds1.username=xb21cn
-#custom.datasource.ds1.password=
-#custom.datasource.ds1.validation-query=select 1
-#custom.datasource.ds1.test-on-borrow=false
-#custom.datasource.ds1.test-while-idle=true
-#custom.datasource.ds1.time-between-eviction-runs-millis=5000
-
-spring.jackson.mapper.default-view-inclusion=false
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.mvc.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-spring.jackson.serialization.indent_output=true
-spring.jackson.serialization.fail_on_empty_beans=false
-spring.jackson.deserialization.fail_on_unknown_properties=false
-spring.jackson.parser.allow_unquoted_control_chars=true
-spring.jackson.parser.allow_single_quotes=true
-
-mdp.arc.upload-root-path=C:/archive/attachment
-
-#\u914D\u7F6E\u56FE\u7247\u6587\u4EF6\u4E0A\u4F20\u4E0B\u8F7D\u7684\u76F8\u5173\u53C2\u6570\uFF0C\u5982\u679C\u6B64\u6B21\u914D\u7F6E\u5C06\u8986\u76D6\u6570\u636E\u5E93\u7CFB\u7EDF\u53C2\u6570\u4E2D\u7684 arcImageUploadRootPath \u53CA arcImageDownloadBaseUri\u4E24\u4E2A\u53C2\u6570
-mdp.arc.image-upload-root-path=D:/arc/image
-mdp.arc.image-download-base-uri=arc/
-mdp.arc.file-upload-root-path=D:/arc/files
-mdp.arc.file-download-base-uri=arc/
-#begin ac \u4F1A\u8BA1\u6838\u5FC3\u8D26\u6237\u76F8\u5173\u914D\u7F6E
-#\u8D26\u6237\u91D1\u989D\u6570\u636E\u7B7E\u540D\u7528\u4E8E\u751F\u6210md5\u7684key\u503C
-mdp.ac.account-key=LFt1f0EtISBDkqVk9H90rSKVixXhw9eDECClaly2Mj5
-mdp.ac.account-check-sign=true
-###end ac##########
-#mdp.auth.ips=ip1,ip2,ip3,\u6388\u6743ip\u5730\u5740\u5217\u8868\uFF0C\u5982\u679C\u975E\u6388\u6743ip\u5E94\u7528\u53EA\u5141\u8BB8\u4F7F\u752824\u5C0F\u65F6
-mdp.auth.ips=172.18.153.152
-
-
-mdp.api-gate=http://134.175.57.249:6101
-mdp.platform-branch-id=platform-branch-001
-
-# \u6743\u9650\u81EA\u52A8\u6CE8\u518C\u63A5\u53E3\uFF0C\u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/sys/qx/autoRegist\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/sys/qx/autoRegist
-mdp.auth.qx-regist-url=${mdp.api-gate}/sys/sys/qx/autoRegist
-# \u5BA1\u8BA1\u65E5\u5FD7\u6536\u96C6\uFF0C\u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/audit/base/operLog/add\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/audit/base/operLog/add
-mdp.audit.audit-log-url=${mdp.api-gate}/audit/audit/base/operLog/add
-# \u5143\u6570\u636E/\u7CFB\u7EDF\u53C2\u6570\u7B49\u63A5\u53E3 \u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/sys/meta/itemOption/list/byItemCode\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/meta/itemOption/list/byItemCode
-mdp.meta.item-options-query-uri= ${mdp.api-gate}/sys/meta/itemOption/list/byItemCode
-# \u5143\u6570\u636E/\u7CFB\u7EDF\u53C2\u6570\u7B49\u63A5\u53E3 \u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/sys/meta/item/list\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/meta/item/list
-mdp.meta.items-query-uri= ${mdp.api-gate}//sys/meta/item/list
-# \u7B2C\u4E09\u65B9\u6388\u6743\u767B\u9646\u53C2\u6570\u914D\u7F6E\u6570\u636E\u8BBF\u95EE\u63A5\u53E3 \u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/app/appTpAuth/list\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/app/appTpAuth/list
-mdp.tpa.app-tp-auth-query-uri= ${mdp.api-gate}/sys/app/appTpAuth/list
-# \u7B2C\u4E09\u65B9\u6388\u6743\u652F\u4ED8\u53C2\u6570\u914D\u7F6E\u6570\u636E\u8BBF\u95EE\u63A5\u53E3 \u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/app/appTpPay/list\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/app/appTpPay/list
-mdp.tpa.app-tp-pay-query-uri= ${mdp.api-gate}/sys/app/appTpPay/list
-# \u7B2C\u4E09\u65B9\u6388\u6743\u767B\u9646\u767B\u9646\u7528\u6237\u67E5\u8BE2\u63A5\u53E3 \u4E91\u73AF\u5883\u4E0B http://\u5FAE\u670D\u52A1\u540D\u79F0/sys/userTpa/list\uFF0C\u672C\u5730\u8C03\u8BD5 http://ip:port/sys/userTpa/list
-mdp.tpa.user-tpa-query-uri= ${mdp.api-gate}/sys/sys/userTpa/list
-
-
-# mdp\u5E73\u53F0\u6388\u6743\u9A8C\u8BC1\u670D\u52A1\u5668\u8BBF\u95EE\u5730\u5740 cloud\u73AF\u5883\u4E0B\u6362\u6210 http://oauth2server\uFF0C\u672C\u5730\u8C03\u8BD5http://127.0.0.1:7000\uFF0C\u672C\u5730\u5982\u679C\u4E0D\u8D77\u9A8C\u8BC1\u670D\u52A1\u5668\uFF0C\u53EF\u6539\u4E3A https://www.qingqinkj.com/api/m1/oauth2server
-mdp.oauth2.server.uri=http://134.175.57.249:7000
-# \u5BA2\u6237\u7AEF\u5FC5\u987B\u5728\u6570\u636E\u5E93\u8868adm.oauth_client_details\u4E2D\u914D\u7F6E\uFF0C\u5426\u5219\u65E0\u6CD5\u8BBF\u95EE
-
-# \u4E0B\u9762\u914D\u7F6E password \u6A21\u5F0F
-spring.security.oauth2.client.registration.password-client.provider=oauth2server
-spring.security.oauth2.client.registration.password-client.client-id=${spring.application.name}
-spring.security.oauth2.client.registration.password-client.client-secret= ${spring.application.name}-8888
-spring.security.oauth2.client.registration.password-client.authorization-grant-type= password
-spring.security.oauth2.client.registration.password-client.scope= all
-
-# \u4E0B\u9762\u914D\u7F6E client_credentials \u6A21\u5F0F
-spring.security.oauth2.client.registration.def-client.provider=oauth2server
-spring.security.oauth2.client.registration.def-client.client-id=${spring.application.name}
-spring.security.oauth2.client.registration.def-client.client-secret= ${spring.application.name}-8888
-spring.security.oauth2.client.registration.def-client.authorization-grant-type= client_credentials
-spring.security.oauth2.client.registration.def-client.scope= all
-
-# \u4E0B\u9762\u914D\u7F6Eauthorization_code\u6A21\u5F0F
-spring.security.oauth2.client.registration.code-client.provider=oauth2server
-spring.security.oauth2.client.registration.code-client.client-id=${spring.application.name}
-spring.security.oauth2.client.registration.code-client.client-secret= ${spring.application.name}-8888
-spring.security.oauth2.client.registration.code-client.authorization-grant-type= authorization_code
-# \u6388\u6743\u7801\u6A21\u5F0F\u4E0B\u9700\u8981\u914D\u7F6E\u91CD\u5B9A\u5411\u5730\u5740
-spring.security.oauth2.client.registration.code-client.redirect-uri= ${messages.base-uri}/authorized
-spring.security.oauth2.client.registration.code-client.scope= all
-
-# \u6388\u6743\u7801\u65B9\u5F0F\u83B7\u53D6code
-spring.security.oauth2.client.provider.oauth2server.authorization-uri= ${mdp.oauth2.server.uri}/oauth2/authorize
-# \u83B7\u53D6token\u63A5\u53E3
-spring.security.oauth2.client.provider.oauth2server.token-uri= ${mdp.oauth2.server.uri}/oauth2/token
-
-# \u8D44\u6E90\u670D\u52A1\u5668
-spring.security.oauth2.resourceserver.jwt.jwk-set-uri= ${mdp.oauth2.server.uri}/oauth2/jwks
-
-##begin \u5546\u6237\u76F8\u5173\u914D\u7F6E###\u9876\u7EA7\u5546\u6237###########################################################
-mdp.topMech.mechId=m1000
-mdp.topMech.userid=m1000
-mdp.topMech.accountId=m1000
-##end \u5546\u6237\u76F8\u5173\u914D\u7F6E################################################################
-
-
-# \u654F\u611F\u8BCD\u914D\u7F6E
-mdp.sensitive-word.words=\u4F60\u5988\u7684,\u4F60\u5976\u5976\u7684,\u60A8\u5988\u7684,\u60A8\u5976\u5976\u7684,\u8349\u4F60\u7801,\u5C3C\u739B,sb,\u50BB\u903C,\u8349\u6CE5\u9A6C,\u86CB\u75BC,\u4F60\u59B9,\u7EFF\u8336\u5A4A,\u5C4C\u7206,\u79D2\u6740,\u62A2\u7206,\u518D\u4E0D\u62A2\u5C31\u6CA1,\u4E0D\u4F1A\u518D\u4FBF\u5B9C,\u4E07\u4EBA\u75AF\u62A2,\u62A2\u75AF,\u9738\u738B\u9910,0\u5143\u4EF7,\u7B97\u547D,\u7B97\u5366,\u4FDD\u4F51,\u5E26\u6765\u597D\u8FD0\u6C14,\u589E\u5F3A\u7B2C\u516D\u611F,\u5316\u89E3\u5C0F\u4EBA,\u589E\u52A0\u4E8B\u4E1A\u8FD0,\u62DB\u8D22\u8FDB\u5B9D,\u5065\u5EB7\u5BCC\u8D35,\u63D0\u5347\u8FD0\u6C14,\u6709\u52A9\u4E8B\u4E1A,\u62A4\u8EAB,\u5E73\u8861\u6B63\u8D1F\u80FD\u91CF,\u6D88\u9664\u7CBE\u795E\u538B\u529B,\u8C03\u548C\u6C14\u538B,\u9022\u51F6\u5316\u5409,\u65F6\u6765\u8FD0\u8F6C,\u4E07\u4E8B\u4EA8\u901A,\u65FA\u4EBA,\u65FA\u8D22,\u52A9\u5409\u907F\u51F6,\u8F6C\u5BCC\u62DB\u798F,\u9AD8\u4E3D\u68D2\u5B50,\u9ED1\u9B3C,\u8840\u7EDF,\u6742\u79CD,\u4E1C\u4E9A\u75C5\u592B,\u86EE\u5937,\u5927\u7537\u4EBA,\u5C0F\u5973\u4EBA,\u7537\u5C0A\u5973\u5351,\u91CD\u7537\u8F7B\u5973,\u6D0B\u9B3C\u5B50,\u5C0F\u65E5\u672C,\u5927\u6C49\u65CF\u4E3B\u4E49,\u5168\u9762\u8C03\u6574\u4EBA\u4F53\u5185\u5206\u6CCC\u5E73\u8861,\u589E\u5F3A\u6216\u63D0\u9AD8\u514D\u75AB\u529B,\u52A9\u7720,\u5931\u7720,\u6ECB\u9634\u8865\u9633,\u58EE\u9633,\u6D88\u708E,\u53EF\u4FC3\u8FDB\u65B0\u9648\u4EE3\u8C22,\u51CF\u5C11\u7EA2\u8840\u4E1D,\u4EA7\u751F\u4F18\u5316\u7EC6\u80DE\u7ED3\u6784,\u4FEE\u590D\u53D7\u635F\u808C\u80A4,\u6CBB\u6108,\u6297\u708E,\u6D3B\u8840,\u89E3\u6BD2,\u6297\u654F,\u8131\u654F,\u51CF\u80A5,\u6E05\u70ED\u89E3\u6BD2,\u6E05\u70ED\u88AA\u6E7F,\u6CBB\u7597,\u9664\u83CC,\u6740\u83CC,\u6297\u83CC,\u706D\u83CC,\u9632\u83CC,\u6D88\u6BD2,\u6392\u6BD2,\u9632\u654F,\u67D4\u654F,\u8212\u654F,\u7F13\u654F,\u8131\u654F,\u892A\u654F,\u6539\u5584\u654F\u611F\u808C\u80A4,\u6539\u5584\u8FC7\u654F\u73B0\u8C61,\u964D\u4F4E\u808C\u80A4\u654F\u611F\u5EA6,\u9547\u5B9A,\u9547\u9759,\u7406\u6C14,\u884C\u6C14,\u6D3B\u8840,\u751F\u808C\u8089,\u8865\u8840,\u5B89\u795E,\u517B\u8111,\u76CA\u6C14,\u901A\u8109,\u80C3\u80C0\u8815\u52A8,\u5229\u5C3F,\u9A71\u5BD2\u89E3\u6BD2,\u8C03\u8282\u5185\u5206\u6CCC,\u5EF6\u7F13\u66F4\u5E74\u671F,\u8865\u80BE,\u795B\u98CE,\u751F\u53D1,\u9632\u764C,\u6297\u764C,\u795B\u75A4,\u964D\u8840\u538B,\u9632\u6CBB\u9AD8\u8840\u538B,\u6CBB\u7597,\u6539\u5584\u5185\u5206\u6CCC,\u5E73\u8861\u8377\u5C14\u8499,\u9632\u6B62\u5375\u5DE2\u53CA\u5B50\u5BAB\u7684\u529F\u80FD\u7D0A\u4E71,\u53BB\u9664\u4F53\u5185\u6BD2\u7D20,\u5438\u9644\u94C5\u6C5E,\u9664\u6E7F,\u6DA6\u71E5,\u6CBB\u7597\u814B\u81ED,\u6CBB\u7597\u4F53\u81ED,\u6CBB\u7597\u9634\u81ED,\u7F8E\u5BB9\u6CBB\u7597,\u6D88\u9664\u6591\u70B9,\u6591\u7ACB\u51C0,\u65E0\u6591,\u6CBB\u7597\u6591\u79C3,\u9010\u5C42\u51CF\u9000\u591A\u79CD\u8272\u6591,\u598A\u5A20\u7EB9,\u6BDB\u53D1\u65B0\u751F,\u6BDB\u53D1\u518D\u751F,\u751F\u9ED1\u53D1,\u6B62\u8131,\u751F\u53D1\u6B62\u8131,\u8102\u6EA2\u6027\u8131\u53D1,\u75C5\u53D8\u6027\u8131\u53D1,\u6BDB\u56CA\u6FC0\u6D3B,\u9152\u7CDF\u9F3B,\u4F24\u53E3\u6108\u5408\u6E05\u9664\u6BD2\u7D20,\u7F13\u89E3\u75C9\u631B\u62BD\u6410,\u51CF\u8F7B\u6216\u7F13\u89E3\u75BE\u75C5\u75C7\u72B6,\u5904\u65B9,\u836F\u65B9,\u4F8B\u4E34\u5E8A\u89C2\u5BDF\u5177\u6709\u660E\u663E\u6548\u679C,\u4E18\u75B9,\u8113\u75B1,\u624B\u7663,\u7532\u7663,\u4F53\u7663,\u5934\u7663,\u80A1\u7663,\u811A\u7663,\u811A\u6C14,\u9E45\u638C\u7663,\u82B1\u6591\u7663,\u725B\u76AE\u7663,\u4F20\u67D3\u6027\u6E7F\u75B9,\u4F24\u98CE\u611F\u5192,\u7ECF\u75DB,\u808C\u75DB,\u5934\u75DB,\u8179\u75DB,\u4FBF\u79D8,\u54EE\u5598,\u652F\u6C14\u7BA1\u708E,\u6D88\u5316\u4E0D\u826F,\u5200\u4F24,\u70E7\u4F24,\u70EB\u4F24,\u75AE\u75C8,\u6BDB\u56CA\u708E,\u76AE\u80A4\u611F\u67D3,\u76AE\u80A4\u9762\u90E8\u75C9\u631B,\u7EC6\u83CC,\u771F\u83CC,\u5FF5\u73E0\u83CC,\u7CE0\u79D5\u5B62\u5B50\u83CC,\u538C\u6C27\u83CC,\u7259\u5B62\u83CC,\u75E4\u75AE,\u6BDB\u56CA\u5BC4\u751F\u866B,\u96CC\u6027\u6FC0\u7D20,\u96C4\u6027\u6FC0\u7D20,\u8377\u5C14\u8499,\u6297\u751F\u7D20,\u6FC0\u7D20,\u836F\u7269,\u4E2D\u8349\u836F,\u4E2D\u67A2\u795E\u7ECF,\u7EC6\u80DE\u518D\u751F,\u7EC6\u80DE\u589E\u6B96\u548C\u5206\u5316,\u514D\u75AB\u529B,\u60A3\u5904,\u75A4\u75D5,\u5173\u8282\u75DB,\u51BB\u75AE,\u51BB\u4F24,\u76AE\u80A4\u7EC6\u80DE\u95F4\u7684\u6C27\u6C14\u4EA4\u6362,\u7EA2\u80BF,\u6DCB\u5DF4\u6DB2,\u6BDB\u7EC6\u8840\u7BA1,\u6DCB\u5DF4\u6BD2,\u91C7\u7528\u65B0\u578B\u7740\u8272\u673A\u7406\u6C38\u4E0D\u892A\u8272,\u8FC5\u901F\u4FEE\u590D\u53D7\u7D2B\u5916\u7EBF\u4F24\u5BB3\u7684\u808C\u80A4,\u66F4\u65B0\u808C\u80A4,\u7834\u574F\u9ED1\u8272\u7D20\u7EC6\u80DE,\u9ED1\u8272\u7D20\u7684\u5F62\u6210,\u4E30\u4E73,\u4E30\u80F8,\u4F7F\u4E73\u623F\u4E30\u6EE1,\u9884\u9632\u4E73\u623F\u677E\u5F1B\u4E0B\u5782,\u6539\u5584\u7761\u7720,\u8212\u7720,\u7279\u6548,\u9AD8\u6548,\u5168\u6548,\u5F3A\u6548,\u901F\u6548,\u901F\u767D,\u4E00\u6D17\u767D,XX\u5929\u89C1\u6548,XX\u5468\u671F\u89C1\u6548,\u8D85\u5F3A,\u6FC0\u6D3B,\u5168\u65B9\u4F4D,\u5168\u9762,\u5B89\u5168,\u65E0\u6BD2,\u6EB6\u8102,\u5438\u8102,\u71C3\u70E7\u8102\u80AA,\u7626\u8EAB,\u7626\u8138,\u7626\u817F,\u51CF\u80A5,\u5EF6\u5E74\u76CA\u5BFF,\u63D0\u9AD8\uFF08\u4FDD\u62A4\uFF09\u8BB0\u5FC6\u529B,\u63D0\u9AD8\u808C\u80A4\u6297\u523A\u6FC0,\u6D88\u9664,\u6E05\u9664,\u5316\u89E3\u6B7B\u7EC6\u80DE,\u53BB\uFF08\u795B\uFF09\u9664\u76B1\u7EB9,\u5E73\u76B1,\u4FEE\u590D\u65AD\u88C2\u5F39\u6027\uFF08\u529B\uFF09\u7EA4\u7EF4,\u6B62\u8131
-
- # REDIS (RedisProperties)
-# Redis\u6570\u636E\u5E93\u7D22\u5F15\uFF08\u9ED8\u8BA4\u4E3A0\uFF09
-spring.redis.database=0
-# Redis\u670D\u52A1\u5668\u5730\u5740
-spring.redis.host=134.175.57.249
-# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3
-spring.redis.port=6379
-# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09
-spring.redis.password=QqKj*123
-# \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
-spring.redis.pool.max-active=8
-# \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
-spring.redis.pool.max-wait=-1
-# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5
-spring.redis.pool.max-idle=8
-# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5
-spring.redis.pool.min-idle=2
-# \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09
-spring.redis.timeout=100000
-
-swagger2.enable=true
\ No newline at end of file
diff --git a/xm-core/src/main/resources/application-dev.yml b/xm-core/src/main/resources/application-dev.yml
new file mode 100644
index 00000000..ac7af7f1
--- /dev/null
+++ b/xm-core/src/main/resources/application-dev.yml
@@ -0,0 +1,278 @@
+server:
+ port: 7067
+ servlet:
+ context-path:
+ session:
+ timeout: 43200
+ storeType: none
+ tomcat:
+ max-swallow-size: -1
+ util:
+ http:
+ parser:
+ HttpParser: requestTargetAllow=|{}[]
+ error:
+ include-exception: true
+ include-stacktrace: ALWAYS
+ include-message: ALWAYS
+ compression:
+ enabled: true
+ min-response-size: 1024
+ mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
+
+management:
+ endpoints:
+ web:
+ exposure:
+ include: metrics,httptrace
+
+spring:
+ cloud:
+ consul:
+ host: 134.175.57.249
+ port: 8500
+ inetutils:
+ preferredNetworks[0]: ^10\.
+ preferredNetworks[1]: ^172\.
+ servlet:
+ multipart:
+ max-file-size: 10MB
+ max-request-size: 10MB
+ # 安全模块
+ security:
+ oauth2:
+ resourceserver:
+ jwt:
+ jwk-set-uri: ${mdp.oauth2.server.uri}/oauth2/jwks
+ client:
+ # 下面配置 password 模式
+ registration:
+ password-client:
+ provider: def-oauth-server
+ client-id: ${spring.application.name}
+ client-secret: ${spring.application.name}-8888
+ authorization-grant-type: password
+ scope: all
+ # 下面配置 client_credentials 模式
+ def-client:
+ provider: def-oauth-server
+ client-id: ${spring.application.name}
+ client-secret: ${spring.application.name}-8888
+ authorization-grant-type: client_credentials
+ scope: all
+ # 下面配置authorization_code模式
+ code-client:
+ provider: def-oauth-server
+ client-id: ${spring.application.name}
+ client-secret: ${spring.application.name}-8888
+ authorization-grant-type: authorization_code
+ # 授权码模式下需要配置重定向地址
+ redirect-uri: ${messages.base-uri}/authorized
+ scope: all
+ provider:
+ def-oauth-server:
+ # 授权码方式获取code
+ authorization-uri: ${mdp.oauth2.server.uri}/oauth2/authorize
+ # 获取token接口
+ token-uri: ${mdp.oauth2.server.uri}/oauth2/token
+ mail:
+ host: smtp.mxhichina.com
+ port: 25
+ username: kf@qingqinkj.com
+ password: QqKj@169$458
+ default-encoding: UTF-8
+ properties:
+ mail:
+ smtp:
+ auth: true
+ starttls:
+ enable: true
+ required: true
+ socketFactoryClass: javax.net.ssl.SSLSocketFactory
+ debug: true
+ jackson:
+ mapper:
+ default-view-inclusion: false
+ date-format: yyyy-MM-dd HH:mm:ss
+ time-zone: GMT+8
+ serialization:
+ indent_output: true
+ fail_on_empty_beans: false
+ deserialization:
+ fail_on_unknown_properties: false
+ parser:
+ allow_unquoted_control_chars: true
+ allow_single_quotes: true
+
+ mvc:
+ date-format: yyyy-MM-dd HH:mm:ss
+ ## quartz定时任务,采用数据库方式
+ quartz:
+ job-store-type: jdbc
+ initialize-schema: embedded
+ #定时任务启动开关,true-开 false-关
+ auto-startup: false
+ #启动时更新己存在的Job
+ overwrite-existing-jobs: false
+ properties:
+ org:
+ quartz:
+ scheduler:
+ instanceName: MyScheduler
+ instanceId: AUTO
+ jobStore:
+ class: org.quartz.impl.jdbcjobstore.JobStoreTX
+ driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
+ tablePrefix: QRTZ_
+ isClustered: true
+ misfireThreshold: 60000
+ clusterCheckinInterval: 10000
+ threadPool:
+ class: org.quartz.simpl.SimpleThreadPool
+ threadCount: 10
+ threadPriority: 5
+ threadsInheritContextClassLoaderOfInitializingThread: true
+ jpa:
+ open-in-view: false
+ activiti:
+ check-process-definitions: false
+ #启用作业执行器
+ async-executor-activate: false
+ #启用异步执行器
+ job-executor-activate: false
+ aop:
+ proxy-target-class: true
+ #配置freemarker
+ freemarker:
+ # 设置模板后缀名
+ suffix: .ftl
+ # 设置文档类型
+ content-type: text/html
+ # 设置页面编码格式
+ charset: UTF-8
+ # 设置页面缓存
+ cache: false
+ prefer-file-system-access: false
+ # 设置ftl文件路径
+ template-loader-path:
+ - classpath:/templates
+ resource:
+ static-locations: classpath:/static/,classpath:/public/
+ autoconfigure:
+ exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+ datasource:
+ primary: master
+ strict: false,
+ druid:
+ stat-view-servlet:
+ enabled: true
+ loginUsername: root
+ loginPassword: 123456
+ allow:
+ web-stat-filter:
+ enabled: true
+ dynamic:
+ druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
+ # 连接池的配置信息
+ # 初始化大小,最小,最大
+ initial-size: 5
+ min-idle: 5
+ maxActive: 20
+ # 配置获取连接等待超时的时间
+ maxWait: 60000
+ # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+ timeBetweenEvictionRunsMillis: 60000
+ # 配置一个连接在池中最小生存的时间,单位是毫秒
+ minEvictableIdleTimeMillis: 300000
+ validationQuery: SELECT 1
+ testWhileIdle: true
+ testOnBorrow: false
+ testOnReturn: false
+ # 打开PSCache,并且指定每个连接上PSCache的大小
+ poolPreparedStatements: true
+ maxPoolPreparedStatementPerConnectionSize: 20
+ # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
+ filters: stat,wall,slf4j
+ # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+ connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
+ datasource:
+ master:
+ # url: jdbc:mysql://124.223.85.6:31605/erp?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+ #username: zchcgl
+ #password: zchcgl123!@#
+ #driver-class-name: com.mysql.cj.jdbc.Driver
+
+ url: jdbc:mysql://123.207.117.5:3306/adm?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=CTT
+ username: root
+ password: 1qaz@WSX
+ driver-class-name: com.mysql.cj.jdbc.Driver
+
+
+ # 多数据源配置
+ #multi-datasource1:
+ #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+ #username: root
+ #password: root
+ #driver-class-name: com.mysql.cj.jdbc.Driver
+ mem-ds:
+ url: jdbc:mysql://123.207.117.5:3306/adm?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=CTT
+ username: root
+ password: 1qaz@WSX
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ mall-ds:
+ url: jdbc:mysql://123.207.117.5:3306/adm?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=CTT
+ username: root
+ password: 1qaz@WSX
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ #redis 配置
+ redis:
+ database: 0
+ host: 134.175.57.249
+ timeout: 300s
+ lettuce:
+ pool:
+ max-active: 8 #最大连接数据库连接数,设 -1 为没有限制
+ max-idle: 20 #最大等待连接中的数量,设 0 为没有限制
+ max-wait: 10000 #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
+ min-idle: 8 #最小等待连接中的数量,设 0 为没有限制
+ shutdown-timeout: 100ms
+ password: QqKj*123
+ port: 6379
+#mybatis plus 设置
+mybatis-plus:
+ mapper-locations: classpath*:/**/**Mapper.xml
+ global-config:
+ # 关闭MP3.0自带的banner
+ banner: false
+ db-config:
+ #主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
+ id-type: ASSIGN_ID
+ # 默认数据库表下划线命名
+ table-underline: true
+ logic-delete-value: 1
+ logic-not-delete-value: 0
+ configuration:
+ # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ # 返回类型为Map,显示null对应的字段
+ call-setters-on-nulls: true
+
+#Mybatis输出sql日志
+logging:
+ level:
+ org.jeecg.modules.system.mapper : info
+
+# mdp平台授权验证服务器访问地址 cloud环境下换成 http://gate,本地调试如果不起验证服务器,可改为 https://www.qingqinkj.com/api/m1/oauth2/oauth2
+# 客户端必须在数据库表adm.oauth_client_details中配置,否则无法访问
+mdp:
+ api-gate: http://134.175.57.249:6101
+ platform-branch-id: platform-branch-001
+ # 站点语言类型cn\en等
+ site-type: cn
+ jwt:
+ # 是否进行密钥检查,在开发环境中,涉及多个认证中心签发的jwt的时候,为了调试方便,可以暂时设为false
+ valid-secure: false
+ oauth2:
+ server:
+ uri: http://134.175.57.249:7000
+
diff --git a/xm-core/src/main/resources/application-prod.properties b/xm-core/src/main/resources/application-prod.properties
deleted file mode 100644
index c28f1f4c..00000000
--- a/xm-core/src/main/resources/application-prod.properties
+++ /dev/null
@@ -1,100 +0,0 @@
-#内置服务器的端口
-spring.application.name=oa
-
-server.port=7078
-server.context-path=/${spring.application.name}
-#session失效时间 秒
-server.session.timeout=43200
-spring.session.store-type=redis
-
-#eureka.client.serviceUrl.defaultZone=http://www.qingqinkj.com/eureka/
-
-
-#服务跟踪
-spring.zipkin.enabled=false
-spring.zipkin.base-url=http://111.230.141.161:6019/
-spring.sleuth.sampler.percentage=1.0
-
-
-
-#配置数据源
-spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.jdbc-url=jdbc:oracle:thin:@134.175.182.118:1521:mdpdb
-spring.datasource.username=root
-spring.datasource.password=lqaz@WSX
-spring.datasource.validation-query=select 1
-spring.datasource.test-on-borrow=true
-spring.datasource.validation-interval=30000
-spring.jpa.properties.hibernate.dialect =org.hibernate.dialect.Oracle10gDialect
-spring.jpa.database =ORACLE
-
-#限制文件上传大小
-spring.http.multipart.maxFileSize=10Mb
-spring.http.multipart.maxRequestSize=10Mb
-
-#spring.activiti.database-schema=wf
-#spring.activiti.database-schema-update=true
-
-#更多数据源
-#custom.datasource.names=ds1
-#custom.datasource.ds1.driver-class-name=net.ucanaccess.jdbc.UcanaccessDriver
-#custom.datasource.ds1.mdb-path=./mdb/FileScanData.mdb
-#custom.datasource.ds1.url=jdbc:ucanaccess://./mdb/FileScanData.mdb;memory=false;
-#custom.datasource.ds1.username=xb21cn
-#custom.datasource.ds1.password=
-#custom.datasource.ds1.validation-query=select 1
-#custom.datasource.ds1.test-on-borrow=false
-#custom.datasource.ds1.test-while-idle=true
-#custom.datasource.ds1.time-between-eviction-runs-millis=5000
-
-spring.jackson.mapper.default-view-inclusion=false
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.mvc.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-spring.jackson.serialization.indent_output=true
-spring.jackson.serialization.fail_on_empty_beans=false
-spring.jackson.deserialization.fail_on_unknown_properties=false
-spring.jackson.parser.allow_unquoted_control_chars=true
-spring.jackson.parser.allow_single_quotes=true
-
-mdp.arc.upload-root-path=C:/archive/attachment
-
-#mdp.auth.ips=ip1,ip2,ip3,授权ip地址列表,如果非授权ip应用只允许使用24小时
-mdp.auth.ips=10.135.180.143
-
-#配置图片文件上传下载的相关参数,如果此次配置将覆盖数据库系统参数中的 arcImageUploadRootPath 及 arcImageDownloadBaseUri两个参数
-#mdp.arc.image-upload-root-path=D:/arc/image
-#mdp.arc.image-download-base-uri=arc/
-
-#begin ac 会计核心账户相关配置
-#账户金额数据签名用于生成md5的key值
-mdp.ac.account-key=LFt1f0EtISBDkqVk9H90rSKVixXhw9eDECClaly2Mj5
-mdp.ac.account-check-sign=true
-###end ac##########
-
-
-##begin 商户相关配置###顶级商户###########################################################
-mdp.topMech.mechId=m1000
-mdp.topMech.userid=m1000
-mdp.topMech.accountId=m1000
-##end 商户相关配置################################################################
-
- # REDIS (RedisProperties)
-# Redis数据库索引(默认为0)
-spring.redis.database=0
-# Redis服务器地址
-spring.redis.host=134.175.57.249
-# Redis服务器连接端口
-spring.redis.port=6379
-# Redis服务器连接密码(默认为空)
-spring.redis.password=QqKj*123
-# 连接池最大连接数(使用负值表示没有限制)
-spring.redis.pool.max-active=8
-# 连接池最大阻塞等待时间(使用负值表示没有限制)
-spring.redis.pool.max-wait=-1
-# 连接池中的最大空闲连接
-spring.redis.pool.max-idle=8
-# 连接池中的最小空闲连接
-spring.redis.pool.min-idle=2
-# 连接超时时间(毫秒)
-spring.redis.timeout=100000
\ No newline at end of file
diff --git a/xm-core/src/main/resources/application.properties b/xm-core/src/main/resources/application.properties
deleted file mode 100644
index bd4eba87..00000000
--- a/xm-core/src/main/resources/application.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## 开发/测试/生产环境分别对应dev/test/prod
-spring.profiles.active=dev
-
-# 默认值为 /**
-#spring.mvc.static-path-pattern=/**
-# 默认值为 classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
-#spring.resources.static-locations=classpath:META-INF/resources/,classpath:resources/,classpath:static/,classpath:public/
-
-
-
-
-#配置mybatis
-mybatis.config-location=classpath:/mybatis/mybatis-config.xml
-mybatis.mapperLocations=classpath*:/mybatis/mapper/**/*.xml
-
-
-#配置thymeleaf
-# THYMELEAF (ThymeleafAutoConfiguration)
-spring.thymeleaf.prefix=classpath:/templates/
-spring.thymeleaf.suffix=.html
-spring.thymeleaf.mode=HTML
-spring.thymeleaf.enabled=true
-spring.thymeleaf.encoding=UTF-8
-spring.thymeleaf.content-type=text/html
-spring.thymeleaf.cache=false
-
-swagger2.enable=true
-
\ No newline at end of file
diff --git a/xm-core/src/main/resources/application.yml b/xm-core/src/main/resources/application.yml
new file mode 100644
index 00000000..f751a422
--- /dev/null
+++ b/xm-core/src/main/resources/application.yml
@@ -0,0 +1,5 @@
+spring:
+ application:
+ name: xm
+ profiles:
+ active: dev
\ No newline at end of file
diff --git a/xm-core/src/main/resources/logback-spring.xml b/xm-core/src/main/resources/logback-spring.xml
index 7eff42f5..3de9496c 100644
--- a/xm-core/src/main/resources/logback-spring.xml
+++ b/xm-core/src/main/resources/logback-spring.xml
@@ -3,25 +3,22 @@
- [%d{yyyy-MM-dd HH:mm:ss}][%thread][%-5level][%X{sessionid}][%X{userid}][%X{openid}][%X{ip}][%logger] -%msg%n
+ [%X{gloNo}][%d{yyyy-MM-dd HH:mm:ss}][%-5level][%logger][%X{reqNo}] -%msg%n
- logs/xm.log
-
+ logs/xm.log
+
logs/xm.%d{yyyy-MM-dd}.%i.log
- 10
-
- 100MB
-
+ 20
+ 100MB
- [%d{yyyy-MM-dd HH:mm:ss}][%thread][%-5level][%X{sessionid}][%X{userid}][%X{openid}][%X{ip}][%logger] -%msg%n
+ [%X{gloNo}][%d{yyyy-MM-dd HH:mm:ss}][%-5level][%logger][%X{reqNo}] -%msg%n
@@ -31,13 +28,10 @@
-
-
-
-
+
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/xm-core/src/main/resources/msgtpl.properties b/xm-core/src/main/resources/msgtpl.properties
new file mode 100644
index 00000000..f251a483
--- /dev/null
+++ b/xm-core/src/main/resources/msgtpl.properties
@@ -0,0 +1,314 @@
+mdp.msg.tpl.tipscode1@cn=\u4F60\u597D\uFF0C\u6D4B\u8BD5\u6D88\u606F%s ,%s
+mdp.msg.tpl.tipscode1@en=hello\uFF0Ctest message %s ,%s
+mdp.msg.tpl.reset-password-send-email-to-cust-title@cn=\u5546\u57CE\u91CD\u7F6E\u5BC6\u7801
+mdp.msg.tpl.reset-password-send-email-to-cust-title@en=Mall reset password
+mdp.msg.tpl.reset-password-send-email-to-cust-msg@cn=\u5C0A\u656C\u7684\u7528\u6237\uFF1A\u60A8\u5728\u56FD\u9645\u4E2D\u6587\u6559\u80B2\u8D44\u6E90\u7F51\u7684\u5BC6\u7801\u5DF2\u91CD\u7F6E\u3002
\n\u767B\u5F55\u7528\u6237\u540D\uFF1A%s
\n\u767B\u5F55\u5BC6\u7801\uFF1A%s
\n\u7F51\u5740\uFF1Ahttps://book.hanfengeducation.com/\n
\u767B\u5F55\u540E\uFF0C\u53EF\u4EE5\u5728\u4E2A\u4EBA\u4E2D\u5FC3\u4FEE\u6539\u5BC6\u7801\u3002
\n
\n\u6CE8\uFF1A\u6B64\u90AE\u4EF6\u4E3A\u7F51\u7AD9\u7CFB\u7EDF\u81EA\u52A8\u53D1\u9001\uFF0C\u65E0\u9700\u56DE\u590D\u3002\u54A8\u8BE2\u4E1A\u52A1\u8BF7\u8054\u7CFB\u7F51\u7AD9\u5BA2\u670D\u3002
\n\u8D60\u4E66\u8BF7\u8054\u7CFB\uFF1A
\n\u738B\u91D1\u5B58 +8610-58595848\uFF0C wangjincun@chinese.cn
\n\u7530\u8587 +8610-58595730\uFF0Ctianwei@chinese.cn
\n\u8D2D\u4E66\u8BF7\u8054\u7CFB\uFF1A
\n\u536B\u4E00\u73AE +8610-59307523\uFF0Cweiyiwei@chinese.cn
+mdp.msg.tpl.reset-password-send-email-to-cust-msg@en=Dear user, your login password on the International Chinese Education Resources has been reset.
\nLogin username\uFF1A%s
\nLogin password\uFF1A%s
\nWebsite\uFF1Ahttps://enbook.hanfengeducation.com/\n
After login, you can change your password in the Personal Profile.
\n
\nNote\uFF1Athis is an automatic email from the system. No reply is required. For consulting, please contact our staff.
\nFor book donation, please contact\uFF1A
\nWang Jincun +8610-58595848\uFF0C wangjincun@chinese.cn
\n Tian Wei +8610-58595730\uFF0Ctianwei@chinese.cn
\nFor book purchase, please contact\uFF1A
\nWei Yiwei +8610-59307523\uFF0Cweiyiwei@chinese.cn
+mdp.msg.tpl.userid-is-null@cn=\u7528\u6237\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.userid-is-null@en=The user id number cannot be empty
+mdp.msg.tpl.mobile-is-null@cn=\u624B\u673A\u53F7\u7801\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.mobile-is-null@en=The mobile phone number cannot be empty
+mdp.msg.tpl.email-is-null@cn=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.email-is-null@en=The email cannot be empty
+mdp.msg.tpl.password-is-null@cn=\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.password-is-null@en=The password cannot be empty
+mdp.msg.tpl.password-must-encode@cn=\u5BC6\u7801\u5FC5\u987B\u4E3A\u52A0\u5BC6\u540E\u4F20\u8F93
+mdp.msg.tpl.password-must-encode@en=The password must be encrypted before transmission
+mdp.msg.tpl.userid-had-exists@cn=\u8D26\u6237\u5DF2\u5B58\u5728
+mdp.msg.tpl.userid-had-exists@en=Existing account
+mdp.msg.tpl.mobile-had-exists@cn=\u624B\u673A\u53F7\u7801\u5DF2\u5B58\u5728
+mdp.msg.tpl.mobile-had-exists@en=The mobile phone number already exists
+mdp.msg.tpl.valid-code-is-null@cn=\u77ED\u4FE1\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.valid-code-is-null@en=The SMS verification code cannot be empty
+mdp.msg.tpl.email-had-exists@cn=\u90AE\u7BB1\u53F7\u7801\u5DF2\u5B58\u5728
+mdp.msg.tpl.email-had-exists@en=The email number already exists
+mdp.msg.tpl.not-find-tpa-register@cn=\u672A\u627E\u5230\u7B2C\u4E09\u65B9\u767B\u5F55\u6CE8\u518C\u5668
+mdp.msg.tpl.not-find-tpa-register@en=Third party login registrar not found
+mdp.msg.tpl.displayUserid-exists@cn=\u8D26\u6237\u5DF2\u5B58\u5728
+mdp.msg.tpl.displayUserid-exists@en=Existing account
+mdp.msg.tpl.displayUserid-is-null@cn=\u8D26\u6237\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.displayUserid-is-null@en=The account cannot be empty
+mdp.msg.tpl.userid-exists@cn=\u8D26\u6237\u5DF2\u5B58\u5728
+mdp.msg.tpl.userid-exists@en=Existing account
+mdp.msg.tpl.phoneno-exists@cn=\u624B\u673A\u53F7\u7801\u5DF2\u5B58\u5728
+mdp.msg.tpl.phoneno-exists@en=The mobile phone number already exists
+mdp.msg.tpl.email-exists@cn=\u90AE\u7BB1\u5DF2\u5B58\u5728
+mdp.msg.tpl.email-exists@en=Mailbox already exists
+mdp.msg.tpl.no-login@cn=\u672A\u767B\u5F55\u7528\u6237
+mdp.msg.tpl.no-login@en=User is not logged in
+mdp.msg.tpl.old-password-is-null@cn=\u65E7\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.old-password-is-null@en=The old password cannot be empty
+mdp.msg.tpl.new-password-is-null@cn=\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.new-password-is-null@en=The new password cannot be empty
+mdp.msg.tpl.old-new-must-not-same@cn=\u65B0\u65E7\u5BC6\u7801\u4E0D\u80FD\u4E00\u6837
+mdp.msg.tpl.old-new-must-not-same@en=The old and new passwords cannot be the same
+mdp.msg.tpl.userid-not-exists@cn=\u8D26\u6237\u4E0D\u5B58\u5728
+mdp.msg.tpl.userid-not-exists@en=The user account does not exist
+mdp.msg.tpl.old-password-not-right@cn=\u65E7\u5BC6\u7801\u4E0D\u6B63\u786E
+mdp.msg.tpl.old-password-not-right@en=The old password is incorrect
+mdp.msg.tpl.email-valid-code-is-null@cn=\u90AE\u4EF6\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.email-valid-code-is-null@en=The email verification code cannot be empty
+mdp.msg.tpl.valid-code-not-right@cn=\u9A8C\u8BC1\u7801\u4E0D\u6B63\u786E
+mdp.msg.tpl.valid-code-not-right@en=The verification code is incorrect
+mdp.msg.tpl.userType-is-null@cn=\u8BF7\u4E0A\u9001\u5BA2\u6237\u7C7B\u578B\u53C2\u6570userType
+mdp.msg.tpl.userType-is-null@en=Please upload customer type parameters userType
+mdp.msg.tpl.codeScene-is-null@cn=\u8BF7\u4E0A\u9001\u9A8C\u8BC1\u7801\u573A\u666F
+mdp.msg.tpl.codeScene-is-null@en=Upload the verification code scenario
+mdp.msg.tpl.callbackUri-is-null@cn=\u8BF7\u4E0A\u9001\u56DE\u8C03\u8BF7\u6C42\u5730\u5740callbackUri
+mdp.msg.tpl.callbackUri-is-null@en=Please return the call request address callbackUri
+mdp.msg.tpl.email-not-exists@cn=\u90AE\u7BB1\u8D26\u53F7\u4E0D\u5B58\u5728
+mdp.msg.tpl.email-not-exists@en=The email account does not exist
+mdp.msg.tpl.user-type-is-null@cn=\u7528\u6237\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.user-type-is-null@en=The user type cannot be empty
+mdp.msg.tpl.valid-code-not-exists@cn=\u9A8C\u8BC1\u7801\u4E0D\u5B58\u5728
+mdp.msg.tpl.valid-code-not-exists@en=The verification code does not exist
+mdp.msg.tpl.valid-had-used@cn=\u9A8C\u8BC1\u7801\u5DF2\u4F7F\u7528
+mdp.msg.tpl.valid-had-used@en=The verification code has been used
+mdp.msg.tpl.tiperrcode@cn=\u7528\u6237\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.tiperrcode@en=The user name cannot be empty
+mdp.msg.tpl.order-pay-success-title@cn=\u8BA2\u5355\u652F\u4ED8\u6210\u529F
+mdp.msg.tpl.order-pay-success-title@en=Order payment successful
+mdp.msg.tpl.order-pay-success-msg@cn=\u8BA2\u5355%s\u652F\u4ED8\u6210\u529F
+mdp.msg.tpl.order-pay-success-msg@en=Order %s was paid successfully
+mdp.msg.tpl.org-balance-is-zero@cn=\u673A\u6784\u53EF\u7528\u4F59\u989D\u4E3A\u96F6
+mdp.msg.tpl.org-balance-is-zero@en=The institutional available balance is zero
+mdp.msg.tpl.org-forbid@cn=\u673A\u6784\u5DF2\u7981\u7528
+mdp.msg.tpl.org-forbid@en=The organization account is disabled
+mdp.msg.tpl.org-orders-exists@cn=\u5DF2\u4E0B\u8FC7\u5355\uFF0C\u4E0D\u80FD\u518D\u4E0B\u5355
+mdp.msg.tpl.org-orders-exists@en=The account has placed an order and cannot place another order
+mdp.msg.tpl.org-amount-expire@cn=\u4F59\u989D\u5DF2\u8FC7\u671F\uFF0C\u4E0D\u80FD\u518D\u4E0B\u5355
+mdp.msg.tpl.org-amount-expire@en=The balance has expired and the order cannot be placed
+mdp.msg.tpl.org-type-is-null@cn=\u673A\u6784\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.org-type-is-null@en=The mechanism type cannot be empty
+mdp.msg.tpl.org-type-auth-null@cn=\u673A\u6784\u7C7B\u578B\u672A\u8BBE\u7F6E\u5BA1\u6838\u6743\u9650
+mdp.msg.tpl.org-type-auth-null@en=Type of the organization account. No audit permission is set
+mdp.msg.tpl.org-type-auth-no-order@cn=\u673A\u6784\u7C7B\u578B\u6CA1\u6709\u4E0B\u5355\u6743\u9650
+mdp.msg.tpl.org-type-auth-no-order@en=Type of institutional account, no order authority
+mdp.msg.tpl.org-type-auth-no-approve@cn=\u673A\u6784\u7C7B\u578B\u6CA1\u6709\u5BA1\u6838\u6743\u9650
+mdp.msg.tpl.org-type-auth-no-approve@en=Type of organization account, no audit permission
+mdp.msg.tpl.order-params-error@cn=\u8BA2\u5355\u6570\u636E\u4E0D\u6B63\u786E
+mdp.msg.tpl.order-params-error@en=Order data is incorrect
+mdp.msg.tpl.order-cart-goods-empty@cn=\u8D2D\u7269\u8F66\u5546\u54C1\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.order-cart-goods-empty@en=Shopping cart items cannot be empty
+mdp.msg.tpl.order-cart-id-null@cn=\u8D2D\u7269\u8F66\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.order-cart-id-null@en=The shopping cart ID cannot be empty
+mdp.msg.tpl.order-address-empty@cn=\u6536\u8D27\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.order-address-empty@en=The delivery address cannot be empty
+mdp.msg.tpl.member-had-locked@cn=\u8D26\u6237\u5F53\u524D\u4E0D\u53EF\u7528\uFF0C\u6682\u4E0D\u80FD\u4E0B\u5355
+mdp.msg.tpl.member-had-locked@en=The user account cannot be used now, and the order cannot be placed temporarily
+mdp.msg.tpl.org-amount-zero@cn=\u8BE5\u673A\u6784\u5DF2\u6CA1\u6709\u4F59\u989D\u53EF\u7528
+mdp.msg.tpl.org-amount-zero@en=The agency has run out of balance to use
+mdp.msg.tpl.org-balance-no-enough@cn=\u673A\u6784\u4F59\u989D\u4E0D\u8DB3
+mdp.msg.tpl.org-balance-no-enough@en=The agency's balance is not enough to cover the order
+mdp.msg.tpl.no-org-no-zs-order@cn=\u975E\u673A\u6784\u4F1A\u5458\uFF0C\u4E0D\u5141\u8BB8\u4E0B\u8D60\u4E66\u8BA2\u5355
+mdp.msg.tpl.no-org-no-zs-order@en=Users are not institutional members and do not support the purchase of free books
+mdp.msg.tpl.order-id-is-null@cn=\u8BA2\u5355\u7F16\u53F7id\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.order-id-is-null@en=The order id cannot be empty
+mdp.msg.tpl.order-not-exists@cn=\u8BA2\u5355\u5DF2\u4E0D\u5B58\u5728
+mdp.msg.tpl.order-not-exists@en=The order no longer exists
+mdp.msg.tpl.payId-is-null@cn=\u652F\u4ED8\u65B9\u5F0FpayId\u4E0D\u80FD\u4E3A\u7A7A
+mdp.msg.tpl.payId-is-null@en=The payId of the payment cannot be empty
+mdp.msg.tpl.not-allow-change@cn=\u65E0\u6743\u9650\u4FEE\u6539
+mdp.msg.tpl.not-allow-change@en=You have no permission to make changes
+mdp.msg.tpl.goods_type_err010@cn=\u3010%s\u3011\u6700\u5C11\u8D2D\u4E70\u6570\u91CF\u4E3A\u3010%s\u3011
+mdp.msg.tpl.goods_type_err010@en=\u3010%s\u3011Minimum purchase quantity is\u3010%s\u3011
+mdp.msg.tpl.goods_type_err011@cn=\u3010%s\u3011\u6700\u5C11\u8D2D\u4E70\u6570\u91CF\u4E3A\u3010%s\u3011,\u60A8\u5F53\u524D\u8D2D\u4E70\u91CF\u4E3A\u3010%s\u3011
+mdp.msg.tpl.goods_type_err011@en=\u3010%s\u3011Minimum purchase quantity is\u3010%s\u3011,Your current purchase quantity is\u3010%s\u3011
+mdp.msg.tpl.goods_type_err020@cn=\u3010%s\u3011\u6700\u5C11\u8D2D\u4E70\u6570\u91CF\u4E3A\u3010%s\u3011
+mdp.msg.tpl.goods_type_err020@en=\u3010%s\u3011Minimum purchase quantity is\u3010%s\u3011
+mdp.msg.tpl.goods_type_err021@cn=\u3010%s\u3011\u6700\u5C11\u8D2D\u4E70\u6570\u91CF\u4E3A\u3010%s\u3011
+mdp.msg.tpl.goods_type_err021@en=\u3010%s\u3011Minimum purchase quantity is\u3010%s\u3011
+mdp.msg.tpl.order-push-erp-error@cn=\u8BA2\u5355\u63A8\u9001erp\u5931\u8D25
+mdp.msg.tpl.order-push-erp-error@en=Order push ERP error
+mdp.msg.tpl.order-is-empty@cn=\u8BA2\u5355\u4E3A\u7A7A
+mdp.msg.tpl.order-is-empty@en=The order is empty
+mdp.msg.tpl.order-had-delete@cn=\u8BA2\u5355\u5DF2\u5220\u9664
+mdp.msg.tpl.order-had-delete@en=Order deleted
+mdp.msg.tpl.order-had-cancel@cn=\u8BA2\u5355\u5DF2\u53D6\u6D88
+mdp.msg.tpl.order-had-cancel@en=Order cancelled
+mdp.msg.tpl.order-had-submit-flow@cn=\u8BA2\u5355\u5DF2\u63D0\u4EA4\u5BA1\u6838
+mdp.msg.tpl.order-had-submit-flow@en=Order submission review
+mdp.msg.tpl.reset-password@cn=\u91CD\u7F6E\u5BC6\u7801
+mdp.msg.tpl.reset-password@en=Reset passwords
+mdp.msg.tpl.go-to-valid-email@cn=\u53BB\u9A8C\u8BC1\u90AE\u7BB1
+mdp.msg.tpl.go-to-valid-email@en=To verify the mailbox
+mdp.msg.tpl.exec-reg-email-valid@cn=\u8FDB\u884C\u6CE8\u518C\u90AE\u7BB1\u9A8C\u8BC1
+mdp.msg.tpl.exec-reg-email-valid@en=Verify the registered email address
+mdp.msg.tpl.go-to-valid-reg-email@cn=\u53BB\u9A8C\u8BC1\u6CE8\u518C\u90AE\u7BB1
+mdp.msg.tpl.go-to-valid-reg-email@en=To verify the registered email
+mdp.msg.tpl.change-common-email-valid@cn=\u66F4\u6362\u5E38\u7528\u90AE\u7BB1\u9A8C\u8BC1
+mdp.msg.tpl.change-common-email-valid@en=Replace the common mailbox and verify it
+mdp.msg.tpl.go-to-valid-common-email@cn=\u53BB\u9A8C\u8BC1\u539F\u5E38\u7528\u90AE\u7BB1
+mdp.msg.tpl.go-to-valid-common-email@en=To verify the original common mailbox
+mdp.msg.tpl.change-new-common-email-valid@cn=\u9A8C\u8BC1\u65B0\u7684\u5E38\u7528\u90AE\u7BB1
+mdp.msg.tpl.change-new-common-email-valid@en=Verify the new common mailbox
+mdp.msg.tpl.go-to-valid-new-common-email@cn=\u53BB\u9A8C\u8BC1\u65B0\u7684\u5E38\u7528\u90AE\u7BB1
+mdp.msg.tpl.go-to-valid-new-common-email@en=To verify the new common mailbox
+mdp.msg.tpl.change-new-bak-email-valid@cn=\u9A8C\u8BC1\u65B0\u7684\u5907\u7528\u90AE\u7BB1
+mdp.msg.tpl.change-new-bak-email-valid@en=Verify the new standby mailbox
+mdp.msg.tpl.go-to-valid-new-bak-email@cn=\u53BB\u9A8C\u8BC1\u65B0\u7684\u5907\u7528\u90AE\u7BB1
+mdp.msg.tpl.go-to-valid-new-bak-email@en=To verify the new standby mailbox
+mdp.msg.tpl.order-close-title@cn=\u8BA2\u5355\u5173\u95ED
+mdp.msg.tpl.order-close-title@en=Order closing
+mdp.msg.tpl.order-close-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u5173\u95ED\u3002
+mdp.msg.tpl.order-close-msg@en=The order you placed on %s is closed.
+mdp.msg.tpl.order-buy-after-title@cn=\u8BA2\u5355\u552E\u540E\u622A\u6B62
+mdp.msg.tpl.order-buy-after-title@en=After sale order service ended
+mdp.msg.tpl.order-buy-after-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u622A\u6B62\u552E\u540E\u3002
+mdp.msg.tpl.order-buy-after-msg@en=The after-sales service of your order submitted at %s has been terminated
+mdp.msg.tpl.order-approve-success-title@cn=\u8BA2\u5355\u5BA1\u6838\u901A\u8FC7
+mdp.msg.tpl.order-approve-success-title@en=The order has been approved
+mdp.msg.tpl.order-approve-success-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u7531%s\u5BA1\u6838\u901A\u8FC7
+mdp.msg.tpl.order-approve-success-msg@en=Your order submitted at %s has been approved by %s
+mdp.msg.tpl.order-return-amount-title@cn=\u8BA2\u5355\u9000\u6B3E
+mdp.msg.tpl.order-return-amount-title@en=Order refund
+mdp.msg.tpl.order-return-amount-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u7531%s\u9000\u6B3E\u6210\u529F;\u603B\u989D%s,\u9000\u6B3E\u5C06\u6309\u539F\u652F\u4ED8\u65B9\u5F0F\u8FD4\u56DE,\u9884\u8BA1\u9700\u89811-5\u4E2A\u5DE5\u4F5C\u65E5\u3002
+mdp.msg.tpl.order-return-amount-msg@en=Your order submitted in %s is successfully refunded by %s; For the total amount of %s, the refund will be returned as the original payment method, which is expected to take 1-5 working days.
+mdp.msg.tpl.order-approve-final-success-title@cn=\u5BA1\u6838\u901A\u8FC7
+mdp.msg.tpl.order-approve-final-success-title@en=Approved
+mdp.msg.tpl.order-approve-final-success-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u901A\u8FC7\u7EC8\u5BA1\uFF0C\u5168\u90E8\u5BA1\u6838\u5B8C\u6BD5\u3002
+mdp.msg.tpl.order-approve-final-success-msg@en=The order you submitted in %s has been approved by the final review.
+mdp.msg.tpl.order-submit-success@cn=\u8BA2\u5355\u63D0\u4EA4\u6210\u529F
+mdp.msg.tpl.order-submit-success@en=Order submitted successfully
+mdp.msg.tpl.order-had-submit-and-need-approve@cn=\u8BA2\u5355\u5DF2\u63D0\u4EA4,\u5F85\u4E0A\u7EA7\u5BA1\u6838
+mdp.msg.tpl.order-had-submit-and-need-approve@en=The order has been submitted and is waiting for superior review
+mdp.msg.tpl.order-need-approve-title@cn=\u8BA2\u5355\u5F85\u5BA1\u6838
+mdp.msg.tpl.order-need-approve-title@en=Order waiting for review
+mdp.msg.tpl.order-need-approve-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u7533\u8D60\u5355,\u5F85%s\u5BA1\u6838\uFF0C\u8BF7\u8054\u7CFB%s\u76F8\u5173\u8001\u5E08\u5904\u7406\u3002\u82E5\u6709\u7591\u95EE\uFF0C\u8BF7\u8054\u7CFB\u5BA2\u670D\u3002
+mdp.msg.tpl.order-need-approve-msg@en=Your application submitted in %s is to be reviewed by %s, please contact teacher %s for processing. If in doubt, please contact customer service.
+mdp.msg.tpl.order-cancel-title@cn=\u53D6\u6D88\u8BA2\u5355\u6210\u529F
+mdp.msg.tpl.order-cancel-title@en=Order cancelled successfully
+mdp.msg.tpl.order-cancel-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355,\u53D6\u6D88\u6210\u529F,\u9000\u6B3E\u5904\u7406\u4E2D\u3002
+mdp.msg.tpl.order-cancel-msg@en=The order you submitted at %s has been cancelled successfully, and the refund is being processed.
+mdp.msg.tpl.return-amount-title@cn=\u53D6\u6D88\u8BA2\u5355\u6210\u529F
+mdp.msg.tpl.return-amount-title@en=Order cancelled successfully
+mdp.msg.tpl.return-amount-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355,\u9000\u6B3E\u6210\u529F,\u603B\u989D%s,\u9000\u6B3E\u5C06\u6309\u539F\u652F\u4ED8\u65B9\u5F0F\u8FD4\u56DE\uFF0C\u9884\u8BA1\u9700\u89811-5\u4E2A\u5DE5\u4F5C\u65E5\u5230\u8D26\u3002
+mdp.msg.tpl.return-amount-msg@en=Your order submitted at %s has been successfully refunded. The total amount of %s will be returned as the original payment method. It is expected to take 1-5 working days to arrive at the account.
+mdp.msg.tpl.order-cancel-success-title@cn=\u53D6\u6D88\u8BA2\u5355\u6210\u529F
+mdp.msg.tpl.order-cancel-success-title@en=Order cancelled successfully
+mdp.msg.tpl.order-cancel-success-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355,\u53D6\u6D88\u6210\u529F\u3002
+mdp.msg.tpl.order-cancel-success-msg@en=Your order submitted at %s has been cancelled successfully.
+mdp.msg.tpl.curr-stk-is@cn=\u5F53\u524D\u5E93\u5B58\u4E3A%s\u3002
+mdp.msg.tpl.curr-stk-is@en=The current inventory is %s.
+mdp.msg.tpl.not-allow-to-buy@cn=\u4EE5\u4E0A\u4E0D\u652F\u6301\u8D2D\u4E70\uFF0C\u53EF\u8FDB\u5165\u8BE6\u60C5\u9875\u8FDB\u884C\u7F3A\u8D27\u767B\u8BB0\u3002\u8BF7\u8FD4\u56DE\u8D2D\u7269\u8F66\uFF0C\u7F16\u8F91\u540E\u91CD\u65B0\u63D0\u4EA4\u8BA2\u5355\u3002
+mdp.msg.tpl.not-allow-to-buy@en=The above does not support purchase, can enter the details page for out of stock registration. Please return to the cart, edit and resubmit the order.
+mdp.msg.tpl.had-del@cn=\u5DF2\u5220\u9664
+mdp.msg.tpl.had-del@en=Deleted
+mdp.msg.tpl.had-close@cn=\u5DF2\u5173\u95ED
+mdp.msg.tpl.had-close@en=Closed
+mdp.msg.tpl.need-pay@cn=\u5F85\u4ED8\u6B3E
+mdp.msg.tpl.need-pay@en=Pending payment
+mdp.msg.tpl.doing-prepare-goods@cn=\u914D\u8D27\u4E2D
+mdp.msg.tpl.doing-prepare-goods@en=In picking
+mdp.msg.tpl.doing-approve@cn=\u5BA1\u6838\u4E2D
+mdp.msg.tpl.doing-approve@en=Inreview
+mdp.msg.tpl.had-reject@cn=\u5DF2\u9A73\u56DE
+mdp.msg.tpl.had-reject@en=Rejected
+mdp.msg.tpl.join-group@cn=\u62FC\u56E2
+mdp.msg.tpl.join-group@en=group booking
+mdp.msg.tpl.need-send-goods@cn=\u5F85\u53D1\u8D27
+mdp.msg.tpl.need-send-goods@en=Pending shipment
+mdp.msg.tpl.need-pick-goods@cn=\u5F85\u62E3\u8D27
+mdp.msg.tpl.need-pick-goods@en=Cargo to be picked
+mdp.msg.tpl.doing-delivery-goods@cn=\u914D\u9001\u4E2D
+mdp.msg.tpl.doing-delivery-goods@en=In picking
+mdp.msg.tpl.had-receive-goods@cn=\u5DF2\u6536\u8D27
+mdp.msg.tpl.had-receive-goods@en=Received
+mdp.msg.tpl.need-return-goods@cn=\u5F85\u9000\u8D27
+mdp.msg.tpl.need-return-goods@en=Pending return
+mdp.msg.tpl.had-return-goods@cn=\u5DF2\u9000\u8D27
+mdp.msg.tpl.had-return-goods@en=Returned
+mdp.msg.tpl.had-pay@cn=\u5DF2\u652F\u4ED8
+mdp.msg.tpl.had-pay@en=Paid
+mdp.msg.tpl.had-cancel@cn=\u5DF2\u53D6\u6D88
+mdp.msg.tpl.had-cancel@en=Cancelled
+mdp.msg.tpl.doing-return-goods@cn=\u9000\u8D27\u4E2D
+mdp.msg.tpl.doing-return-goods@en=Returning
+mdp.msg.tpl.doing-cancel-return-goods@cn=\u53D6\u6D88\u9000\u8D27\u4E2D
+mdp.msg.tpl.doing-cancel-return-goods@en=Cancellation of return
+mdp.msg.tpl.doing-suspend@cn=\u6302\u5355
+mdp.msg.tpl.doing-suspend@en=pending order
+mdp.msg.tpl.need-evaluate@cn=\u5F85\u8BC4\u4EF7
+mdp.msg.tpl.need-evaluate@en=Pending review
+mdp.msg.tpl.had-evaluate@cn=\u5DF2\u8BC4\u4EF7
+mdp.msg.tpl.had-evaluate@en=Evaluated
+mdp.msg.tpl.need-join-group@cn=\u5F85\u62FC\u56E2
+mdp.msg.tpl.need-join-group@en=Group to be assembled
+mdp.msg.tpl.doing-return-amount@cn=\u9000\u6B3E\u4E2D
+mdp.msg.tpl.doing-return-amount@en=Refunding
+mdp.msg.tpl.doing-cancel-return-amount@cn=\u53D6\u6D88\u9000\u6B3E\u4E2D
+mdp.msg.tpl.doing-cancel-return-amount@en=Cancelling refund
+mdp.msg.tpl.had-return-amount@cn=\u9000\u6B3E\u5B8C\u6210
+mdp.msg.tpl.had-return-amount@en=Refund completed
+mdp.msg.tpl.need-delivery-goods@cn=\u5F85\u914D\u9001
+mdp.msg.tpl.need-delivery-goods@en=To be delivered
+mdp.msg.tpl.need-receive-goods@cn=\u5F85\u53D6\u8D27
+mdp.msg.tpl.need-receive-goods@en=To be picked up
+mdp.msg.tpl.need-out@cn=\u5F85\u51FA\u5E93
+mdp.msg.tpl.need-out@en=Waiting for delivery
+mdp.msg.tpl.had-out-need-send-goods@cn=\u5DF2\u51FA\u5E93\uFF0C\u5F85\u53D1\u8D27
+mdp.msg.tpl.had-out-need-send-goods@en=Stock-out succeeded. Ready for shipment
+mdp.msg.tpl.dong-send-goods@cn=\u914D\u9001\u4E2D
+mdp.msg.tpl.dong-send-goods@en=In delivery
+mdp.msg.tpl.had-send-goods@cn=\u5DF2\u53D1\u8D27
+mdp.msg.tpl.had-send-goods@en=Delivered
+mdp.msg.tpl.had-finish@cn=\u5DF2\u5B8C\u6210
+mdp.msg.tpl.had-finish@en=Completed
+
+mdp.msg.tpl.send-email-to-cust-need-valid-email-msg@cn=\u5C0A\u656C\u7684\u7528\u6237\uFF1A\u60A8\u5728\u56FD\u9645\u4E2D\u6587\u6559\u80B2\u8D44\u6E90\u7F51\u8FDB\u884C\u7684\u6CE8\u518C\uFF0C\u9700\u8981\u8FDB\u884C\u90AE\u7BB1\u9A8C\u8BC1\u3002\u8BF7\u70B9\u51FB\u4EE5\u4E0B\u94FE\u63A5\u8FDB\u884C\u9A8C\u8BC1\u90AE\u7BB1\u53BB\u9A8C\u8BC1\u90AE\u7BB1\n
\n\u5982\u679C\u8FD9\u4E0D\u662F\u60A8\u672C\u4EBA\u7684\u64CD\u4F5C\uFF0C\u8BF7\u6CE8\u610F\u8D26\u53F7\u5B89\u5168\u3002
\n
\n"\u6CE8\uFF1A\u6B64\u90AE\u4EF6\u4E3A\u7F51\u7AD9\u7CFB\u7EDF\u81EA\u52A8\u53D1\u9001\uFF0C\u65E0\u9700\u56DE\u590D\u3002\u54A8\u8BE2\u4E1A\u52A1\u8BF7\u8054\u7CFB\u7F51\u7AD9\u5BA2\u670D\u3002
+mdp.msg.tpl.send-email-to-cust-need-valid-email-msg@en=Dear user, your registration on the International Chinese Education Resources requires email authentication. Please click the link below to finish email authentication.email authentication\n
\nIf it is not your own operation, please pay attention to your account security.
\n
\n"Note\uFF1Athis is an automatic email from the system. No reply is required. For consulting, please contact our customer service.
+mdp.msg.tpl.send-email-to-cust-need-valid-email-title@cn=\u9A8C\u8BC1\u90AE\u7BB1
+mdp.msg.tpl.send-email-to-cust-need-valid-email-title@en=Email authentication
+
+
+mdp.msg.tpl.send-url-to-user-need-click-callback-url@cn=\u5C0A\u656C\u7684\u7528\u6237\uFF1A\u60A8\u5728\u56FD\u9645\u4E2D\u6587\u6559\u80B2\u8D44\u6E90\u7F51\u8FDB\u884C\u4E86%s\u64CD\u4F5C\u3002\u8BF7\u70B9\u51FB\u4EE5\u4E0B\u94FE\u63A5 %s
\n%s\n
\u5982\u679C\u8FD9\u4E0D\u662F\u60A8\u672C\u4EBA\u7684\u64CD\u4F5C\uFF0C\u8BF7\u6CE8\u610F\u8D26\u53F7\u5B89\u5168\u3002
\n
\n\u6CE8\uFF1A\u6B64\u90AE\u4EF6\u4E3A\u7F51\u7AD9\u7CFB\u7EDF\u81EA\u52A8\u53D1\u9001\uFF0C\u65E0\u9700\u56DE\u590D\u3002\u54A8\u8BE2\u4E1A\u52A1\u8BF7\u8054\u7CFB\u7F51\u7AD9\u5BA2\u670D\u3002
+mdp.msg.tpl.send-url-to-user-need-click-callback-url@en=Dear user, you have performed the operation of%son the International Chinese Education Resources. Please click the link below to finish authentication. %s
\n%s\n
If it is not your own operation, please pay attention to your account security.
\n
\nNote\uFF1Athis is an automatic email from the system. No reply is required. For consulting, please contact our customer service.
+
+
+mdp.msg.tpl.reset-password-send-email-msg@cn=\u5C0A\u656C\u7684\u7528\u6237\uFF1A\u60A8\u5728\u56FD\u9645\u4E2D\u6587\u6559\u80B2\u8D44\u6E90\u7F51\u7684\u5BC6\u7801\u5DF2\u91CD\u7F6E\u3002
\n\u767B\u5F55\u7528\u6237\u540D\uFF1A%s
\n\u767B\u5F55\u5BC6\u7801\uFF1A%s
\n\u7F51\u5740\uFF1A%s/\n
\u767B\u5F55\u540E\uFF0C\u53EF\u4EE5\u5728\u4E2A\u4EBA\u4E2D\u5FC3\u4FEE\u6539\u5BC6\u7801\u3002
\n
\n\u6CE8\uFF1A\u6B64\u90AE\u4EF6\u4E3A\u7F51\u7AD9\u7CFB\u7EDF\u81EA\u52A8\u53D1\u9001\uFF0C\u65E0\u9700\u56DE\u590D\u3002\u54A8\u8BE2\u4E1A\u52A1\u8BF7\u8054\u7CFB\u7F51\u7AD9\u5BA2\u670D\u3002
\n\u8D60\u4E66\u8BF7\u8054\u7CFB\uFF1A
\n\u738B\u91D1\u5B58 +8610-58595848\uFF0C wangjincun@chinese.cn
\n\u7530\u8587 +8610-58595730\uFF0Ctianwei@chinese.cn
\n\u8D2D\u4E66\u8BF7\u8054\u7CFB\uFF1A
\n\u536B\u4E00\u73AE +8610-59307523\uFF0Cweiyiwei@chinese.cn
+mdp.msg.tpl.reset-password-send-email-msg@en=Dear user, your login password on the International Chinese Education Resources has been reset.
\nLogin username\uFF1A%s
\nLogin password\uFF1A%s
\nWebsite\uFF1A%s/\n
After login, you can change your password in the Personal Profile.
\n
\nNote\uFF1Athis is an automatic email from the system. No reply is required. For consulting, please contact our staff.
\nFor book donation, please contact\uFF1A
\nWang Jincun +8610-58595848\uFF0C wangjincun@chinese.cn
\n Tian Wei +8610-58595730\uFF0Ctianwei@chinese.cn
\nFor book purchase, please contact\uFF1A
\nWei Yiwei +8610-59307523\uFF0Cweiyiwei@chinese.cn
+mdp.msg.tpl.reset-password-send-email-title@cn=\u91CD\u7F6E\u5BC6\u7801\u6210\u529F
+mdp.msg.tpl.reset-password-send-email-title@en=Reset password successful
+
+
+mdp.msg.tpl.order-out-stk-title@cn=\u8BA2\u5355\u51FA\u5E93
+mdp.msg.tpl.order-out-stk-title@en=Stock-out succeeded
+mdp.msg.tpl.order-out-stk-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355%s\u5DF2\u51FA\u5E93\uFF0C\u5F85\u53D1\u8D27\u3002
+mdp.msg.tpl.order-out-stk-msg@en=Order%s you submitted at %s has completed stock-out and is ready for shipment
+mdp.msg.tpl.order-had-send-all-goods-title@cn=\u8BA2\u5355\u5DF2\u5168\u90E8\u53D1\u8D27
+mdp.msg.tpl.order-had-send-all-goods-title@en=The order has been completed and shipped
+mdp.msg.tpl.order-had-send-all-goods-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u53D1\u8D27\uFF0C\u8BF7\u6CE8\u610F\u67E5\u6536\u3002\u8BA2\u5355\u53F7:%s
+mdp.msg.tpl.order-had-send-all-goods-msg@en=The order you submitted in %s has been shipped, please note to check. Order number :%s
+mdp.msg.tpl.order-had-receive-title@cn=\u8BA2\u5355\u5DF2\u7B7E\u6536
+mdp.msg.tpl.order-had-receive-title@en=The order has been signed
+mdp.msg.tpl.order-had-receive-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355%s\u5DF2\u7B7E\u6536
+mdp.msg.tpl.order-had-receive-msg@en=Your order %s submitted at %s has been accepted
+
+mdp.msg.tpl.order-send-goods-title@cn=\u8BA2\u5355\u53D1\u8D27
+mdp.msg.tpl.order-send-goods-title@en=Order delivery
+mdp.msg.tpl.order-send-goods-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u53D1\u8D27\uFF0C\u8BA2\u5355\u53F7:%s\u3002
+mdp.msg.tpl.order-send-goods-msg@en=Your order submitted at %s has been shipped, order number :%s.
+mdp.msg.tpl.order-had-send-goods-title@cn=\u8BA2\u5355\u5DF2\u53D1\u8D27
+mdp.msg.tpl.order-had-send-goods-title@en=Order has been shipped.
+mdp.msg.tpl.order-had-send-goods-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u53D1\u8D27\uFF0C\u8BF7\u6CE8\u610F\u67E5\u6536\u3002\u8BA2\u5355\u53F7:%s,\u7269\u6D41\u5355\u53F7:%s\u3002
+mdp.msg.tpl.order-had-send-goods-msg@en=The order you submitted in %s has been shipped, please note to check. Order number :%s, logistics order number :%s.
+mdp.msg.tpl.order-had-all-send-goods-title@cn=\u8BA2\u5355\u5DF2\u5168\u90E8\u53D1\u8D27
+mdp.msg.tpl.order-had-all-send-goods-title@en=All the goods in the order have been shipped
+mdp.msg.tpl.order-had-all-send-goods-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u5168\u90E8\u53D1\u8D27,\u8BF7\u6CE8\u610F\u67E5\u6536\u3002\u8BA2\u5355\u53F7:%s\u3002
+mdp.msg.tpl.order-had-all-send-goods-msg@en=All the goods in the order you submitted in %s have been shipped, please note that check. Order number :%s.
+mdp.msg.tpl.order-had-sign-title@cn=\u8BA2\u5355\u5DF2\u7B7E\u6536
+mdp.msg.tpl.order-had-sign-title@en=Your order package has been received
+mdp.msg.tpl.order-had-sign-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355\u5DF2\u7B7E\u6536\u3002\u8BF7\u6CE8\u610F\u67E5\u6536\u3002\u8BA2\u5355\u53F7:%s\u3002
+mdp.msg.tpl.order-had-sign-msg@en=Your order package submitted at %s has been received. Please note that check. Order number :%s.
+mdp.msg.tpl.order-approve-reject-title@cn=\u8BA2\u5355\u5BA1\u6838\u4E0D\u901A\u8FC7
+mdp.msg.tpl.order-approve-reject-title@en=The order was not approved
+mdp.msg.tpl.order-approve-reject-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355,\u5BA1\u6838\u4E0D\u901A\u8FC7,\u9000\u6B3E\u5904\u7406\u4E2D,\u9000\u6B3E\u5C06\u6309\u539F\u652F\u4ED8\u65B9\u5F0F\u8FD4\u56DE\uFF0C\u9884\u8BA1\u9700\u89811-5\u4E2A\u5DE5\u4F5C\u65E5\u5230\u8D26\u3002
+mdp.msg.tpl.order-approve-reject-msg@en=The order submitted by you in %s is not approved. In the refund process, the refund will be returned according to the original payment method. It is expected to take 1-5 working days to arrive at the account.
+mdp.msg.tpl.order-return-success-title@cn=\u9000\u6B3E\u6210\u529F
+mdp.msg.tpl.order-return-success-title@en=Refund has been successful
+mdp.msg.tpl.order-return-success-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355,\u9000\u6B3E\u6210\u529F;\u603B\u989D %s,\u9000\u6B3E\u5C06\u6309\u539F\u652F\u4ED8\u65B9\u5F0F\u8FD4\u56DE\uFF0C\u9884\u8BA1\u9700\u89811-5\u4E2A\u5DE5\u4F5C\u65E5\u5230\u8D26\u3002
+mdp.msg.tpl.order-return-success-msg@en=Your order submitted at %s has been successfully refunded. For the total amount of %s, the refund will be returned according to the original payment method, which is expected to take 1-5 working days to reach the account.
+mdp.msg.tpl.order-need-platform-approve-title@cn=\u8BA2\u5355\u5E73\u53F0\u5BA1\u6838
+mdp.msg.tpl.order-need-platform-approve-title@en=Order platform audit
+mdp.msg.tpl.order-need-platform-approve-msg@cn=\u60A8\u4E8E%s\u63D0\u4EA4\u7684\u8BA2\u5355,\u5F85\u5E73\u53F0\u5BA1\u6838\u4E2D\u3002
+mdp.msg.tpl.order-need-platform-approve-msg@en=The order you submitted in %s is waiting for review by the platform.
\ No newline at end of file