新供应商 拍单王接口
No files matched your search
@@ -31,7 +31,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 1259;
|
||||
public static int VersionCount = 1261;
|
||||
public static string MainPath = "29wx";
|
||||
//public static string MainPath = "29wx";
|
||||
//public static string MainPath = "29pdd";
|
||||
|
||||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
@@ -0,0 +1 @@
|
||||
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 truncated
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1 @@
|
||||
九鲤供应链MThd九鲤供应链MThd0KE8FSJyrlRb898rzDa88rfp3Wu0lBx7Swh62S2o13qKTwl984JFT20lG5ikWH7WWUNHAO72agv4kg0l5w23rHJmnA0eZxZcHXuAzdW058M1wu4xtmcJC2xggztkm5F55R1HxKU4s4sGFJiNDf6cB2DcWroaGvG5Yk9t98hD53IXIR6V92PS5YxN98U4kk16Xj0Y5G0F2TZ091YO2OXLpJIZmp6lMP9MlMpCXARz6ivEWDBC45j5dGAC1XZB6HYCh6hZvOK9VLF27J0EW0w1Vvi9fUFTm8X91Y12um16j2wm76kfo0h4S4ls96o8AsuAed3NiqW4c5988lMz3A0YIwv2XAF0039P9304fFTZAbmh4DTdxoEkSfPtMT07b2vknGzN8EU2JXdVcBBXrvveQs5oGn0K687j5X8Ij4D5EDVzx748WR4Va2IsfEt5yIK9J22eDY58KmA3kIrqi4Yf5tElYOQ6eZSaJovQ55xjxroIt8wT7i2XbM8ZSsSKm5k3Z80fc7Hw8TFESb7tm30Py3X3mbL3eE0opMJ6MUoyiUj1zpI7VvK32yq6x997weK2lwU6A0PyOe39oWvYN0AKIqCqwNizY4S9QApiH4Yr13XsKjlutMNDajfRCg0JqqH283RtXCKX8ry6AUWpz6QmvA40uSDqcd1Ka71e6gvspe9DFh00T2fMwiqJu8MLjcQfC3FnVP6mRYKkdZI19VRWKZ67KW1n6aLV7o7Q5ro3NOkZsJhAIUvM6PjoHr6RwV0iv4JMbB4cjHyLfb1y2U6yooM0eG6TOuUF1B9X6340Iy4tVmVU25CfUf4BDV9BQDx3N8b4hnCAoQ4We0fj4xYR0ZxfyoV5jr69e3VVDyPrz2ADsZf2N7hjMEv13rKGxO1hvGY757bfnKGh6OCfd6jEtd409v4sns36EHzO3iUT60VxuMsB3f1688qmGK4tRHBdaQY9UQRzUvEEkuDh8qC87rK1nmsJ6fSqPAQPZ7B2pijRtE7epsp6xzm2i9OfeS5Ti81ix78cZ7kn649abz6SoGD62Okjp1Zya1Um4Zl0gR3oj6j25bCW2LBgQOnfcCPY7kX1TZfzyqRxqx763wto5E3ZRe8IFbq8bd3o8Qt6Ji1EyXQCF8N1PBCCqI8h8Mz68zzoXLjiwz193hNp4bR4wUdHJ52kykpgsA6LBssrli4cz3MXproyF0EjOVFd14Z9QrGn8Lf12hdy39E6frcl12pb9Co7ZdAaNZQH93P2TDCn6Wh151W6NX6N628Bj8jUD1FnwML1C3IJu7aX5vemKSXGu07afCLuY8c7HQChRY8Og2q5hVcJfixR6yffFncHNOx22V8prYEhKQc0J4ET08JiQV1FVSfhhFwOVs98HwJKFWxU0L6HyJTxYD8s15U2xAnaNRe4a3DGm2LeIgX4zkbqzdFe5ySzj89q6Bn597CIPzK53vfJ2wpTC6NR1U1sZF3Kzb12LhZX0q8LDBM0F5jBy5dKZS782CHPA2X4sBKlUo5QO7n4ajkg27ZLzBALR7wqe96gW437x0oNxxT4RYRKfB9hRVY0cRTwJTMfYjQWxSjLWQ5t4c27Gf5158w55CtY01GUjyBTMy1D36a329WJDPYJzA9Exmc6E85RqDvW9F7MV6O1X5yx4WlRvN0Kv5Gt8Es0MQA05qa53I3R1xJK1qH18Gujrsk6DO6c7q2qIth6l4fI3119OATWs1F3R82q3B6P33D3YFwyB60ZRGs1XqLDbIj4eTCcd651Yv9x1p1S3pO6BB2n23gwkMKmmJWJ55ZWoZ6345L187psy8L48VGle6umpW5gmU4D1G02yZa1gkzsJ9x74H5tz33IDDyWDuCu89axcFN3D7DA6L90bbdeKEj9Fe7Afk3ms0FL9OxOH3KaHGlTrJc124J665yl01Tg7Mq3I7Y0Aq7aptQsACWxo8mxUxZeNdh5Ogpm1o7rZlAzz1lP2Ff23foY1xMS12akt4hix7oW8HSZf08mj729o2dle2g8cpV2Kkyx5H8H0kM186yFlQ8dNed915h453inONLVOVU6Guwa0fhqoZfiEezEFjM7IxII607er1PlG3M5MWG9nPhX60xMEG04ZHmnxSCeMs6InTYA3h4o1edvGRRXl3F91gcQvP1O1bqfPWvMlpD2g6z159RgG12zfNak0Uh4VZDPAKcHSfNJJ38KJmEi2QSU04mu127X950sK5873319b0f4FNQeyKyJsaXYPM8hyS9tBw5F2FEA29XPdlXR98GVON1EZ1f9JA64rWU1YLVWo7oD58xH9jFu6D0a7VpsX32hnzMD70nlXmDpEKd82B3k6Bg0Z9d987bAqXa828234ERwhn5zoDF3eidd96U0Cy7P0zUB6a9uMYU9AZbf4tf0UYhHYW4rqg1L1eqrH6TKSdK3BVS6KOE48oFcW629CNuaSy5ne5m9nIF7hunwwi89ZzLjx547ZuhR2xJ8q6pS1yTSc2I7BJrg3qlYKb4oMbetgBHXSml8qN36XH91339rsA6L5QaIFqp8zDT4fbi5QWwMcH8kWC4D1G7debV7cq6JdbXJAnRKBT4179zs795rYNBe0CsraL9p1jI5jQl18EzCCimrTPoCKJY2vM3dD9TRvWwxBzxM79m56Hzq1XiOwM237d53bQhLX5E0ZGq45At3qFK5MyDASZU7nNS6vKiY8Kunb4j7c18Il4Js7uDrRdyPlaBj3XCGETu7ueT5hqFVGoFKsB92EXdJKBiX2vYgC1Zd49yLg756StghyfH4G2eH13W1uxDxU140eSNBCfBLyU548S3jmU8c3j6ya2mrzVZ223W71A70wssQwf3utRoT5Um3r9xWIJpXXcuua97BJEnlhb3W9X6FEN5vRL4RQG76q4Z7PRbPQBwEYlFkwz5C3Ak088Pv1q7kpsbQv1q6W084CKwcEYu2J8xFq5TkC4Pws4gox6M8nnES82HWzA2EeuvqxviJU9usi8BPDeFmXEOCV48VS4C5Lx07VFI434N59EXnO7c1p8yeViFH6prYdBC7TJCYKFIzT8qIydwu965cP3A6lfeGNwWZtcP2yycD57W9szP7XaRyCAB9NtU7szU7Rc6URO8z99CnySJ5R9LwZU34cnStFQ9FDAP7mG3O2I4LIP27Kbd7VIAiDJorpXmm3L8Wj0efy5fZ3MT8TBUP0n7w28aAfYEJMgib3fTwSYj1G322rMQHbSh6hYaK73ausYYGRQ3q8ItI7UlGd9S3soQiE91IaN6G83HkoQ3DJPoNtAmM3mPLsr1Dh2Pv25eYkx9KsBWfK60njuTv7uaYuDRE9JW5xdoUscVDd6UTPMhZU6VFdzjVLWQXesMZHUk2s14GMB276kl21n3DMWS2A14xN7tpeDG071Q7pfuYW2R4KgSruJ6NGaKJpvlYRqZsi2b1ZIgeDZkrB0GWlcO0nW1lqDP8qCAdv9KN8lUsA8jd06hI5upG0HUfipI669DshrvBkF8P7P2c5mp0dXPLGV4936N86XBZSEaJaiacs8xf70k0qL2DB3QUnmbbz1KVn9r3m0Yqrztt3Wj7Dpyv8X3go7eYa2K9kLMLja3LxCguE4JuS9fTrAUi7MG923F0cFrPYf5qFJ7S7z0VIO5k0tjfkwXmCWmfBcpvhw6XCnEKo2iCfo1n3zd3PHESOK3wccRucBZD32kPf2GJng685B2dmF0n0Fzpl7V499c73MEFlkm1mYPmZlgIPBp7VX3t6uDM73scHoy1j3OIC4vrtGgpP9colWUE525e9K0rS0PeNvHt1ol0fY3iLS1VXNB3TgNJUwGFGyUn3egFIFJVMuPCU2BzT111WHZ5idp2aZjn9362JrBkq1m0RSq1ixPQi67D99FHQj7SvyG9cxtgSm6eMDk8e55M6IC2SP7IB997JE2U9q7Hiz719fKZsKfZ2GFKrxyrUOsnZ6Jtv9FiV1Z31D1OzcOpTCZ3DCB8szbS348BHoWQm35B8v2MSoszGFAJoC33hNIQx7aSY7SOJjLwuMhukbVA0Y3819WIz0lGquco92KvT9BV4QF5jMT13REUvRA172gpRhg4phjWAtNWgg8YZYbdZL372IacJ0L1tdJxoRG28iV6pk06Khrnqy6S9j4SsB5g7ahx4zCL7PNY0jVUG1yEbNnmGF5m48dTj9ppP8eWaKoW2Z660Bdxs9FVJ8pREIanyDdOahZJI5dZ2QZAU7L9ZC4fI1x73n2gQo5wLHy3dpb4Hvk1T9r6OmZ8rkqOK7pdeN26wSgOrOjwwt5fMGHVekEQ5R2S3Xe5p5uN26Kexz49D00QOzdNG4v93dR1lqKKUOwJFrTmmSldcQfNWYJc93gLRMi4GBE79L2rNpEQ2Bre4G2dmDZ2MG7qmGW0OxwY96JI5GmdNf8f4txhVqb9xSTJg1OUq83AX1mhmdB99m2fvlvu7qaiCcR4xDXKjS7zFNQOZWtrsJjv6gLJh4OcaAQox4MtI470abKkxOiTdqISHF26ED3A2SZz0iLJb184QJJz992vl4H4e93fMS253kZQyV82xXPHMtVyaI1meC9NS64BJGJhoyYdj7sZ9Jlja8dNC8dbkLBvQDHuwz6zxvoO5LWGt8H94N94R1vuV9PbHFrj45FMRlbetzzo4C0u88kGQ758iv7Q6tFFfv3jAppyHrT7HBxyeJm1Bwj31vxt2THuzT8S2c2R71TFd0gGo54ixrx5Re9oi51AX8h3tFpMdjiBU0iWNt8GCWVB5UXUWWF3r8c1OZ2g81h7ddjkQ0Wv95L2H3q3lRb59iSpW1jh9JkCr1YX3Ts6JUx6cM7zrU4nqM0qXqaQCY3KUq87nGY2FwBPF3VQg7045qCd10Y92oGrv3Fy0g66049GNDU758zagUQSlcmPkeV2S5nAL1m28Ezh4Dwjh7aE0QvyHnz9LlnEgGXQeR2u6eugxLine truncated
|
||||
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
@@ -0,0 +1,189 @@
|
||||
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
|
||||
|
||||
; 安装程序初始定义常量
|
||||
!define PRODUCT_NAME "九鲤供应链"
|
||||
!define PRODUCT_VERSION "v12.61"
|
||||
;!define PRODUCT_PUBLISHER "${PRODUCT_NAME}软件制作组"
|
||||
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\29供应链.exe"
|
||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||
;!define PRODUCT_UNINST_ROOT_KEY "HKLM" ;需要管理员权限
|
||||
!define PRODUCT_UNINST_ROOT_KEY "HKCU"
|
||||
!define UTILS_PATH ".\Utils"
|
||||
!define SOURCE_PATH "..\Bin.Oem"
|
||||
!define OUT_PUT_PATH ".\Bin"
|
||||
|
||||
SetCompressor lzma
|
||||
|
||||
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
|
||||
!include "MUI.nsh"
|
||||
|
||||
; MUI 预定义常量
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_ICON "${SOURCE_PATH}\favicon.ico"
|
||||
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
|
||||
!define MUI_UNICON "${UTILS_PATH}\uninstall.ico"
|
||||
|
||||
; 语言选择窗口常量设置
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
|
||||
|
||||
; 欢迎页面
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
; 许可协议页面
|
||||
!define MUI_LICENSEPAGE_CHECKBOX
|
||||
!insertmacro MUI_PAGE_LICENSE "${UTILS_PATH}\Licence.txt"
|
||||
; 安装目录选择页面
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
; 安装过程页面
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
; 安装完成页面
|
||||
;!define MUI_FINISHPAGE_RUN "$INSTDIR\29供应链.exe" ;win10直接启动会双开,以下改为使用函数启动
|
||||
;!define MUI_FINISHPAGE_RUN "exe_file" ;指定要运行的可执行文件路径(如 $INSTDIR\MyApp.exe)。文件名含空格时无需加引号 。
|
||||
;!define MUI_FINISHPAGE_RUN_TEXT "text" ;设置复选框旁的显示文本(例如:“立即运行我的应用”)。
|
||||
;!define MUI_FINISHPAGE_RUN_PARAMETERS "params" ;传入运行参数。若参数含双引号,需用 \" 转义 。
|
||||
;!define MUI_FINISHPAGE_RUN_NOTCHECKED ;默认不选中该复选框(即默认不运行)。
|
||||
;!define MUI_FINISHPAGE_RUN_FUNCTION "func_name" ;替代直接运行 exe,改为调用自定义 NSIS 函数(此时 MUI_FINISHPAGE_RUN 可不带参数),适合需执行多步逻辑的场景 。
|
||||
;示例================================================================================================================
|
||||
;!include "MUI2.nsh"
|
||||
|
||||
;!define MUI_FINISHPAGE_RUN "$INSTDIR\MyApp.exe"
|
||||
;!define MUI_FINISHPAGE_RUN_TEXT "启动应用程序"
|
||||
;!define MUI_FINISHPAGE_RUN_PARAMETERS "/silent"
|
||||
;;!define MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
|
||||
;!insertmacro MUI_PAGE_FINISH
|
||||
;示例结束============================================================================================================
|
||||
|
||||
!define MUI_FINISHPAGE_RUN
|
||||
;安装函数定义
|
||||
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchExe"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
; 安装卸载过程页面
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
; 安装界面包含的语言设置
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
|
||||
; 安装预释放文件
|
||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
|
||||
; ------ MUI 现代界面定义结束 ------
|
||||
|
||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
||||
OutFile "${OUT_PUT_PATH}\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
|
||||
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
|
||||
;InstallDir "D:\${PRODUCT_NAME}"
|
||||
;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
|
||||
InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString"
|
||||
ShowInstDetails show
|
||||
ShowUnInstDetails show
|
||||
BrandingText "${PRODUCT_NAME}安装程序"
|
||||
|
||||
Section "MainSection" SEC01
|
||||
SetOutPath "$INSTDIR"
|
||||
;SetOverwrite on|off|try|ifnewer ;强制覆盖|不覆盖|仅覆盖可写文件|仅覆盖旧文件
|
||||
SetOverwrite on
|
||||
;/x 排除的目录或文件
|
||||
;File /r /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "AllBase.pdb" /x "Work.pdb" /x "29供应链.pdb" /x "data" "${SOURCE_PATH}\*.*"
|
||||
File /r /x "BaseClass.cs" /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "*.pdb" /x "*.zip" /x "data" /x "Cache" /x "29wx.lnk" /x "29wx.ico" /x "29pdd.lnk" /x "29pdd.ico" "${SOURCE_PATH}\*.*"
|
||||
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
|
||||
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
|
||||
File "${SOURCE_PATH}\29供应链.exe"
|
||||
;SetOutPath "$TEMP"
|
||||
;File "${UTILS_PATH}\VC_redist_2015_2022.x64.exe"
|
||||
;ExecWait '$TEMP\vc_redist.x86.exe' # 一般(非静默)VC的安装
|
||||
;ExecWait '"$TEMP\vc_redist.x86.exe" /q' # silent install 静默安装
|
||||
SectionEnd
|
||||
|
||||
Section -AdditionalIcons
|
||||
SetOutPath $INSTDIR
|
||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
|
||||
SectionEnd
|
||||
|
||||
Section -Post
|
||||
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||
;WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
|
||||
WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\29供应链.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_NAME}软件制作组"
|
||||
SectionEnd
|
||||
|
||||
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
|
||||
|
||||
Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
FunctionEnd
|
||||
|
||||
;function要写字section之后
|
||||
Function LaunchExe
|
||||
;ExecShell "" "$INSTDIR\${PRODUCT_NAME}.exe"
|
||||
; 启动主程序,ExecWait 会等待程序启动后再继续(推荐用于确保启动成功)
|
||||
;ExecWait '"$INSTDIR\YourApp.exe"' // 等待也可以用来弹出必要组件安装时等待安装完成再继续运行安装程序。
|
||||
; 若希望安装程序立即关闭而不等待,可使用 Exec
|
||||
;Exec '"$INSTDIR\29供应链.exe"'
|
||||
Exec "$INSTDIR\29供应链.exe"
|
||||
; 以普通用户权限启动程序(即使安装包是管理员权限)
|
||||
;System::Call 'shell32::ShellExecute(i 0, t"open", t"explorer.exe", t"/e,$INSTDIR\start.bat", t"", i 0)'
|
||||
;Exec "$INSTDIR\start.bat"
|
||||
FunctionEnd
|
||||
|
||||
|
||||
/******************************
|
||||
* 以下是安装程序的卸载部分 *
|
||||
******************************/
|
||||
|
||||
Section Uninstall
|
||||
Delete "$INSTDIR\uninst.exe"
|
||||
Delete "$TEMP\vc_redist.x86.exe"
|
||||
Delete "$INSTDIR\29供应链.exe"
|
||||
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
|
||||
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
|
||||
|
||||
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||
|
||||
RMDir /r "$INSTDIR\blob_storage"
|
||||
RMDir /r "$INSTDIR\Cache"
|
||||
RMDir /r "$INSTDIR\config"
|
||||
RMDir /r "$INSTDIR\data"
|
||||
RMDir /r "$INSTDIR\DawnCache"
|
||||
RMDir /r "$INSTDIR\GPUCache"
|
||||
RMDir /r "$INSTDIR\locales"
|
||||
RMDir /r "$INSTDIR\log"
|
||||
RMDir /r "$INSTDIR\ru-ru"
|
||||
RMDir /r "$INSTDIR\static"
|
||||
RMDir /r "$INSTDIR\taobao"
|
||||
RMDir /r "$INSTDIR\temp"
|
||||
RMDir /r "$INSTDIR\upBak"
|
||||
RMDir /r "$INSTDIR\upTemp"
|
||||
RMDir /r "$INSTDIR\x64"
|
||||
RMDir /r "$INSTDIR\x86"
|
||||
|
||||
RMDir /r "$INSTDIR"
|
||||
|
||||
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
||||
;DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
|
||||
DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
|
||||
SetAutoClose true
|
||||
SectionEnd
|
||||
|
||||
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
|
||||
|
||||
Function un.onInit
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
|
||||
Abort
|
||||
FunctionEnd
|
||||
|
||||
Function un.onUninstSuccess
|
||||
HideWindow
|
||||
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
|
||||
FunctionEnd
|
||||
@@ -69,7 +69,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT o.* FROM erp.oms_wei_order o WHERE 1=1";
|
||||
sql = "SELECT o.*,(out_shipped+0) as out_shipped_int FROM erp.oms_wei_order o WHERE 1=1";
|
||||
|
||||
//where子句
|
||||
sql += where;
|
||||
@@ -133,7 +133,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
out_express_company = row["out_express_company"].ParseToString(),
|
||||
out_express_no = row["out_express_no"].ParseToString(),
|
||||
out_order_no = row["out_order_no"].ParseToString(),
|
||||
out_shipped = row["out_shipped"].ParseToNullableInt(),
|
||||
out_shipped = row["out_shipped_int"].ParseToNullableInt(),
|
||||
pay_info = row["pay_info"].ParseToString(),
|
||||
postal_code = row["postal_code"].ParseToString(),
|
||||
predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(),
|
||||
@@ -160,6 +160,10 @@ namespace KJD_Web.BLL.WXXD
|
||||
use_tel_number = row["use_tel_number"].ParseToNullableInt(),
|
||||
virtual_order_tel_number = row["virtual_order_tel_number"].ParseToString(),
|
||||
};
|
||||
if (order.order_id == "3737914129536416512")
|
||||
{
|
||||
|
||||
}
|
||||
orderList.Add(order);
|
||||
}
|
||||
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
||||
@@ -942,6 +946,45 @@ namespace KJD_Web.BLL.WXXD
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string WXUpdateErpOutAfterSaleStatus(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
var timeCalc = DateTime.Now;
|
||||
|
||||
string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(order_id))
|
||||
return "{\"code\":500,\"msg\":\"订单ID不能为空\"}";
|
||||
string out_after_sale_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "out_after_sale_status"))?.Replace("'", "\\'");
|
||||
if (out_after_sale_status == null)
|
||||
return "{\"code\":500,\"msg\":\"售后状态不能为NULL\"}";
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "";
|
||||
var count = -1;
|
||||
|
||||
sql = " update erp.oms_wei_order set ";
|
||||
if (out_after_sale_status != null)
|
||||
sql += " out_after_sale_status='" + out_after_sale_status + "',";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " where order_id = '" + order_id + "';";
|
||||
|
||||
count = mySql.ExecuteAffectedRows(sql);
|
||||
mySql.Close();
|
||||
|
||||
if (!string.IsNullOrEmpty(mySql.Message))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + count + "}";
|
||||
}
|
||||
return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + count + "}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string WXAddMdyBuyerOrder(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
@@ -952,6 +995,9 @@ namespace KJD_Web.BLL.WXXD
|
||||
|
||||
string wx_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_id"))?.Replace("'", "\\'");
|
||||
string wx_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_sku_id"))?.Replace("'", "\\'");
|
||||
string wx_send_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_send_type"))?.Replace("'", "\\'");
|
||||
if (wx_send_type.IsNullOrEmpty())
|
||||
wx_send_type = "0";
|
||||
string TransitCreateTime = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "TransitCreateTime"))?.Replace("'", "\\'");
|
||||
string pre_allocated_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "pre_allocated_order_no"))?.Replace("'", "\\'");
|
||||
string buyerId = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buyerId"))?.Replace("'", "\\'");
|
||||
@@ -995,9 +1041,9 @@ namespace KJD_Web.BLL.WXXD
|
||||
|
||||
if (id == 0)
|
||||
{
|
||||
sql = "INSERT INTO wxxd.order_pdd_buyer_order (wx_order_id,wx_sku_id,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,order_sn,order_amount,order_time," +
|
||||
sql = "INSERT INTO wxxd.order_pdd_buyer_order (wx_order_id,wx_sku_id,wx_send_type,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,order_sn,order_amount,order_time," +
|
||||
"outExpressCompanyCode,tracking_number,order_status_prompt,after_sales_status,order_detail,wx_order_send_type)";
|
||||
sql += "VALUES(@wx_order_id,@wx_sku_id,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@pdd_order_sn,@order_amount,@order_time," +
|
||||
sql += "VALUES(@wx_order_id,@wx_sku_id,@wx_send_type,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@pdd_order_sn,@order_amount,@order_time," +
|
||||
"@outExpressCompanyCode,@tracking_number,@order_status_prompt,@after_sales_status,@order_detail@wx_order_send_type);";
|
||||
}
|
||||
else
|
||||
@@ -1007,6 +1053,8 @@ namespace KJD_Web.BLL.WXXD
|
||||
sql += " wx_order_id=@wx_order_id,";
|
||||
if (!string.IsNullOrEmpty(wx_sku_id))
|
||||
sql += " wx_sku_id=@wx_sku_id,";
|
||||
if (!string.IsNullOrEmpty(wx_send_type))
|
||||
sql += " wx_send_type=@wx_send_type,";
|
||||
if (!string.IsNullOrEmpty(TransitCreateTime))
|
||||
sql += " TransitCreateTime=@TransitCreateTime,";
|
||||
if (!string.IsNullOrEmpty(pre_allocated_order_no))
|
||||
@@ -1040,6 +1088,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "wx_order_id", Value = wx_order_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "wx_sku_id", Value = wx_sku_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "wx_send_type", Value = wx_send_type.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.DateTime, ParameterName = "TransitCreateTime", Value = TransitCreateTime.ParseToDateTime(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "pre_allocated_order_no", Value = pre_allocated_order_no.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "buyerId", Value = buyerId, });
|
||||
@@ -1139,24 +1188,25 @@ namespace KJD_Web.BLL.WXXD
|
||||
{
|
||||
order_pdd_buyer_order order = new order_pdd_buyer_order
|
||||
{
|
||||
id = row["id"].ParseToLong(),
|
||||
add_time = row["add_time"].ParseToString ().ParseToDateTime(),
|
||||
after_sales_status = row["after_sales_status"].ParseToNullableInt(),
|
||||
buyerId = row["buyerId"].ParseToString(),
|
||||
buyerName = row["buyerName"].ParseToString(),
|
||||
mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(),
|
||||
order_amount = row["order_amount"].ParseToNullableInt(),
|
||||
order_detail = row["order_detail"].ParseToString(),
|
||||
order_sn = row["order_sn"].ParseToString(),
|
||||
order_status_prompt = row["order_status_prompt"].ParseToString(),
|
||||
order_time = row["order_time"].ParseToNullableLong(),
|
||||
outExpressCompanyCode = row["outExpressCompanyCode"].ParseToString(),
|
||||
pre_allocated_order_no = row["pre_allocated_order_no"].ParseToNullableInt(),
|
||||
tracking_number = row["tracking_number"].ParseToString(),
|
||||
TransitCreateTime = row["TransitCreateTime"].ParseToString().ParseToDateTime(),
|
||||
wx_order_id = row["wx_order_id"].ParseToString(),
|
||||
wx_sku_id = row["wx_sku_id"].ParseToString(),
|
||||
wx_order_send_type = row["wx_order_send_type"].ParseToNullableInt(),
|
||||
id = row["id"].ParseToLong(),
|
||||
add_time = row["add_time"].ParseToString().ParseToDateTime(),
|
||||
after_sales_status = row["after_sales_status"].ParseToNullableInt(),
|
||||
buyerId = row["buyerId"].ParseToString(),
|
||||
buyerName = row["buyerName"].ParseToString(),
|
||||
mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(),
|
||||
order_amount = row["order_amount"].ParseToNullableInt(),
|
||||
order_detail = row["order_detail"].ParseToString(),
|
||||
order_sn = row["order_sn"].ParseToString(),
|
||||
order_status_prompt = row["order_status_prompt"].ParseToString(),
|
||||
order_time = row["order_time"].ParseToNullableLong(),
|
||||
outExpressCompanyCode = row["outExpressCompanyCode"].ParseToString(),
|
||||
pre_allocated_order_no = row["pre_allocated_order_no"].ParseToNullableInt(),
|
||||
tracking_number = row["tracking_number"].ParseToString(),
|
||||
TransitCreateTime = row["TransitCreateTime"].ParseToString().ParseToDateTime(),
|
||||
wx_order_id = row["wx_order_id"].ParseToString(),
|
||||
wx_sku_id = row["wx_sku_id"].ParseToString(),
|
||||
wx_order_send_type = row["wx_order_send_type"].ParseToNullableInt(),
|
||||
wx_send_type = row["wx_send_type"].ParseToInt(),
|
||||
};
|
||||
buyerOrderList.Add(order);
|
||||
}
|
||||
@@ -1189,6 +1239,9 @@ namespace KJD_Web.BLL.WXXD
|
||||
|
||||
string wx_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_id"))?.Replace("'", "\\'");
|
||||
string wx_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_sku_id"))?.Replace("'", "\\'");
|
||||
string wx_send_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_send_type"))?.Replace("'", "\\'");
|
||||
if (wx_send_type.IsNullOrEmpty())
|
||||
wx_send_type = "0";
|
||||
string TransitCreateTime = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "TransitCreateTime"))?.Replace("'", "\\'");
|
||||
string pre_allocated_order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "pre_allocated_order_no"))?.Replace("'", "\\'");
|
||||
string buyerId = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "buyerId"))?.Replace("'", "\\'");
|
||||
@@ -1221,9 +1274,9 @@ namespace KJD_Web.BLL.WXXD
|
||||
|
||||
if (id == 0 && is_mdy != "true")
|
||||
{
|
||||
sql = "INSERT INTO wxxd.order_pdd_buyer_after_sale (wx_order_id,wx_sku_id,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,orderSn,afterSalesId,orderAmount,orderDate," +
|
||||
sql = "INSERT INTO wxxd.order_pdd_buyer_after_sale (wx_order_id,wx_sku_id,wx_send_type,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,orderSn,afterSalesId,orderAmount,orderDate," +
|
||||
"refundAmount,statusText,afterSaleAddress,order_detail)";
|
||||
sql += "VALUES(@wx_order_id,@wx_sku_id,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@orderSn,@afterSalesId,@orderAmount,@orderDate," +
|
||||
sql += "VALUES(@wx_order_id,@wx_sku_id,@wx_send_type,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@orderSn,@afterSalesId,@orderAmount,@orderDate," +
|
||||
"@refundAmount,@statusText,@afterSaleAddress,@order_detail);";
|
||||
}
|
||||
else
|
||||
@@ -1233,6 +1286,8 @@ namespace KJD_Web.BLL.WXXD
|
||||
sql += " wx_order_id=@wx_order_id,";
|
||||
if (!string.IsNullOrEmpty(wx_sku_id))
|
||||
sql += " wx_sku_id=@wx_sku_id,";
|
||||
if (!string.IsNullOrEmpty(wx_send_type))
|
||||
sql += " wx_send_type=@wx_send_type,";
|
||||
if (!string.IsNullOrEmpty(TransitCreateTime))
|
||||
sql += " TransitCreateTime=@TransitCreateTime,";
|
||||
if (!string.IsNullOrEmpty(pre_allocated_order_no))
|
||||
@@ -1263,6 +1318,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "wx_order_id", Value = wx_order_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "wx_sku_id", Value = wx_sku_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "wx_send_type", Value = wx_send_type.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.DateTime, ParameterName = "TransitCreateTime", Value = TransitCreateTime.ParseToDateTime(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "pre_allocated_order_no", Value = pre_allocated_order_no.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "buyerId", Value = buyerId, });
|
||||
@@ -1373,6 +1429,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
TransitCreateTime = row["TransitCreateTime"].ParseToString().ParseToDateTime(),
|
||||
wx_order_id = row["wx_order_id"].ParseToString(),
|
||||
wx_sku_id = row["wx_sku_id"].ParseToString(),
|
||||
wx_send_type = row["wx_send_type"].ParseToInt(),
|
||||
};
|
||||
buyerAfterSaleLst.Add(afterSale);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@ namespace KJD_Web.Model.WxModel
|
||||
public long? id { get; set; }
|
||||
public string wx_order_id { get; set; }
|
||||
public string wx_sku_id { get; set; }
|
||||
/// <summary>
|
||||
/// 买手订单在微信店铺的发货类型 0中转仓发货 1直发
|
||||
/// </summary>
|
||||
public int wx_send_type { get; set; }
|
||||
public DateTime TransitCreateTime { get; set; }
|
||||
//public DateTime TransitPickupTime { get; set; }
|
||||
public int? pre_allocated_order_no { get; set; }
|
||||
|
||||
@@ -10,6 +10,10 @@ namespace KJD_Web.Model.WxModel
|
||||
public long? id { get; set; }
|
||||
public string wx_order_id { get; set; }
|
||||
public string wx_sku_id { get; set; }
|
||||
/// <summary>
|
||||
/// 买手订单在微信店铺的发货类型 0中转仓发货 1直发
|
||||
/// </summary>
|
||||
public int wx_send_type { get; set; }
|
||||
public DateTime TransitCreateTime { get; set; }
|
||||
public int? pre_allocated_order_no { get; set; }
|
||||
public string buyerId { get; set; }
|
||||
|
||||
@@ -199,6 +199,19 @@ namespace KJD_Web
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public void wx_update_erp_out_after_sale_status()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXOrderManage().WXUpdateErpOutAfterSaleStatus(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public void wx_add_mdy_buyer_order()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 81 KiB |
@@ -3546,7 +3546,33 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
else if (attr.name == "产地")
|
||||
{
|
||||
attrValue = "中国大陆";
|
||||
if(attr.type == "select_one")
|
||||
{
|
||||
//北京;天津;上海;重庆;河北石家庄;河北唐山;河北秦皇岛;河北邯郸;河北邢台;河北保定;河北张家口;河北承德;河北沧州;河北廊坊;河北衡水;山西太原;山西大同;山西阳泉;山西长治;山西晋城;山西朔州;山西晋中;山西运城;山西忻州;山西临汾;山西吕梁;内蒙古呼和浩特;内蒙古包头;内蒙古乌海;内蒙古赤峰;内蒙古通辽;内蒙古鄂尔多斯;内蒙古呼伦贝尔;内蒙古巴彦淖尔;内蒙古乌兰察布;内蒙古兴安;内蒙古锡林郭勒;内蒙古阿拉善;辽宁沈阳;辽宁大连;辽宁鞍山;辽宁抚顺;辽宁本溪;辽宁丹东;辽宁锦州;辽宁营口;辽宁阜新;辽宁辽阳;辽宁盘锦;辽宁铁岭;辽宁朝阳;辽宁葫芦岛;吉林长春;吉林吉林;吉林四平;吉林辽源;吉林通化;吉林白山;吉林松原;吉林白城;吉林延边;黑龙江哈尔滨;黑龙江齐齐哈尔;黑龙江鸡西;黑龙江鹤岗;黑龙江双鸭山;黑龙江大庆;黑龙江伊春;黑龙江佳木斯;黑龙江七台河;黑龙江牡丹江;黑龙江黑河;黑龙江绥化;黑龙江大兴安岭;江苏南京;江苏无锡;江苏徐州;江苏常州;江苏苏州;江苏南通;江苏连云港;江苏淮安;江苏盐城;江苏扬州;江苏镇江;江苏泰州;江苏宿迁;浙江杭州;浙江宁波;浙江温州;浙江嘉兴;浙江湖州;浙江绍兴;浙江金华;浙江衢州;浙江舟山;浙江台州;浙江丽水;安徽合肥;安徽芜湖;安徽蚌埠;安徽淮南;安徽马鞍山;安徽淮北;安徽铜陵;安徽安庆;安徽黄山;安徽滁州;安徽阜阳;安徽宿州;安徽六安;安徽亳州;安徽池州;安徽宣城;福建福州;福建厦门;福建莆田;福建三明;福建泉州;福建漳州;福建南平;福建龙岩;福建宁德;江西南昌;江西景德镇;江西萍乡;江西九江;江西新余;江西鹰潭;江西赣州;江西吉安;江西宜春;江西抚州;江西上饶;山东济南;山东青岛;山东淄博;山东枣庄;山东东营;山东烟台;山东潍坊;山东济宁;山东泰安;山东威海;山东日照;山东临沂;山东德州;山东聊城;山东滨州;山东菏泽;河南郑州;河南开封;河南洛阳;河南平顶山;河南安阳;河南鹤壁;河南新乡;河南焦作;河南濮阳;河南许昌;河南漯河;河南三门峡;河南南阳;河南商丘;河南信阳;河南周口;河南驻马店;河南济源;湖北武汉;湖北黄石;湖北十堰;湖北宜昌;湖北襄阳;湖北鄂州;湖北荆门;湖北孝感;湖北荆州;湖北黄冈;湖北咸宁;湖北随州;湖北恩施;湖北仙桃;湖北潜江;湖北天门;湖北神农架;湖南长沙;湖南株洲;湖南湘潭;湖南衡阳;湖南邵阳;湖南岳阳;湖南常德;湖南张家界;湖南益阳;湖南郴州;湖南永州;湖南怀化;湖南娄底;湖南湘西;广东广州;广东韶关;广东深圳;广东珠海;广东汕头;广东佛山;广东江门;广东湛江;广东茂名;广东肇庆;广东惠州;广东梅州;广东汕尾;广东河源;广东阳江;广东清远;广东东莞;广东中山;广东潮州;广东揭阳;广东云浮;广西南宁;广西柳州;广西桂林;广西梧州;广西北海;广西防城港;广西钦州;广西贵港;广西玉林;广西百色;广西贺州;广西河池;广西来宾;广西崇左;海南海口;海南三亚;海南三沙;海南儋州;海南五指山;海南琼海;海南文昌;海南万宁;海南东方;海南定安;海南屯昌;海南澄迈;海南临高;海南白沙;海南昌江;海南乐东;海南陵水;海南保亭;海南琼中;四川成都;四川自贡;四川攀枝花;四川泸州;四川德阳;四川绵阳;四川广元;四川遂宁;四川内江;四川乐山;四川南充;四川眉山;四川宜宾;四川广安;四川达州;四川雅安;四川巴中;四川资阳;四川阿坝;四川甘孜;四川凉山;贵州贵阳;贵州六盘水;贵州遵义;贵州安顺;贵州毕节;贵州铜仁;贵州黔西南;贵州黔东南;贵州黔南;云南昆明;云南曲靖;云南玉溪;云南保山;云南昭通;云南丽江;云南普洱;云南临沧;云南楚雄;云南红河;云南文山;云南西双版纳;云南大理;云南德宏;云南怒江;云南迪庆;西藏拉萨;西藏日喀则;西藏昌都;西藏林芝;西藏山南;西藏那曲;西藏阿里;陕西西安;陕西铜川;陕西宝鸡;陕西咸阳;陕西渭南;陕西延安;陕西汉中;陕西榆林;陕西安康;陕西商洛;甘肃兰州;甘肃嘉峪关;甘肃金昌;甘肃白银;甘肃天水;甘肃武威;甘肃张掖;甘肃平凉;甘肃酒泉;甘肃庆阳;甘肃定西;甘肃陇南;甘肃临夏;甘肃甘南;青海西宁;青海海东;青海海北;青海黄南;青海海南;青海果洛;青海玉树;青海海西;宁夏银川;宁夏石嘴山;宁夏吴忠;宁夏固原;宁夏中卫;新疆乌鲁木齐;新疆克拉玛依;新疆吐鲁番;新疆哈密;新疆昌吉;新疆博尔塔拉;新疆巴音郭楞;新疆阿克苏;新疆克孜勒苏;新疆喀什;新疆和田;新疆伊犁;新疆塔城;新疆阿勒泰;新疆石河子;新疆阿拉尔;新疆图木舒克;新疆五家渠;新疆北屯;新疆铁门关;新Line truncated
|
||||
//北京;天津;上海;重庆;河北;山西;内蒙古;辽宁;吉林;黑龙江;江苏;浙江;安徽;福建;江西;山东;河南;湖北;湖南;广东;广西;海南;四川;贵州;云南;西藏;陕西;甘肃;青海;宁夏;新疆
|
||||
var values = attr.value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries).OrderBy(x => Guid.NewGuid()).ToList();
|
||||
var value = values.FirstOrDefault(v => prodTitle.ParseToString().Contains(v));
|
||||
if (value == null)
|
||||
value = values.FirstOrDefault(v => prodTitle.ParseToString().Contains(string.Join("", v.Take(2))));
|
||||
if (value == null)
|
||||
value = values.FirstOrDefault(v => "北京;天津;上海;重庆;河北;山西;内蒙古;辽宁;吉林;黑龙江;江苏;浙江;安徽;福建;江西;山东;河南;湖北;湖南;广东;广西;海南;四川;贵州;云南;西藏;陕西;甘肃;青海;宁夏;新疆".Contains(string.Join("", v.Take(2))));
|
||||
attrValue = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
attrValue = "中国大陆";
|
||||
}
|
||||
}
|
||||
}
|
||||
// 强制非收藏品
|
||||
{
|
||||
if (attrValueLst.Contains("是否具有拍卖/收藏价值"))
|
||||
{
|
||||
attrValue = "不具有";
|
||||
}
|
||||
if (attrValueLst.Contains("是否批量生产(孤品)"))
|
||||
{
|
||||
attrValue = "批量生产";
|
||||
}
|
||||
}
|
||||
if (attrValue.IsNullOrEmpty() && attr.isRequired == true)
|
||||
@@ -3801,7 +3827,30 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
else if (attr.name == "产地")
|
||||
{
|
||||
attrValue = "中国大陆";
|
||||
if (attr.type == "select_one")
|
||||
{
|
||||
//北京;天津;上海;重庆;河北石家庄;河北唐山;河北秦皇岛;河北邯郸;河北邢台;河北保定;河北张家口;河北承德;河北沧州;河北廊坊;河北衡水;山西太原;山西大同;山西阳泉;山西长治;山西晋城;山西朔州;山西晋中;山西运城;山西忻州;山西临汾;山西吕梁;内蒙古呼和浩特;内蒙古包头;内蒙古乌海;内蒙古赤峰;内蒙古通辽;内蒙古鄂尔多斯;内蒙古呼伦贝尔;内蒙古巴彦淖尔;内蒙古乌兰察布;内蒙古兴安;内蒙古锡林郭勒;内蒙古阿拉善;辽宁沈阳;辽宁大连;辽宁鞍山;辽宁抚顺;辽宁本溪;辽宁丹东;辽宁锦州;辽宁营口;辽宁阜新;辽宁辽阳;辽宁盘锦;辽宁铁岭;辽宁朝阳;辽宁葫芦岛;吉林长春;吉林吉林;吉林四平;吉林辽源;吉林通化;吉林白山;吉林松原;吉林白城;吉林延边;黑龙江哈尔滨;黑龙江齐齐哈尔;黑龙江鸡西;黑龙江鹤岗;黑龙江双鸭山;黑龙江大庆;黑龙江伊春;黑龙江佳木斯;黑龙江七台河;黑龙江牡丹江;黑龙江黑河;黑龙江绥化;黑龙江大兴安岭;江苏南京;江苏无锡;江苏徐州;江苏常州;江苏苏州;江苏南通;江苏连云港;江苏淮安;江苏盐城;江苏扬州;江苏镇江;江苏泰州;江苏宿迁;浙江杭州;浙江宁波;浙江温州;浙江嘉兴;浙江湖州;浙江绍兴;浙江金华;浙江衢州;浙江舟山;浙江台州;浙江丽水;安徽合肥;安徽芜湖;安徽蚌埠;安徽淮南;安徽马鞍山;安徽淮北;安徽铜陵;安徽安庆;安徽黄山;安徽滁州;安徽阜阳;安徽宿州;安徽六安;安徽亳州;安徽池州;安徽宣城;福建福州;福建厦门;福建莆田;福建三明;福建泉州;福建漳州;福建南平;福建龙岩;福建宁德;江西南昌;江西景德镇;江西萍乡;江西九江;江西新余;江西鹰潭;江西赣州;江西吉安;江西宜春;江西抚州;江西上饶;山东济南;山东青岛;山东淄博;山东枣庄;山东东营;山东烟台;山东潍坊;山东济宁;山东泰安;山东威海;山东日照;山东临沂;山东德州;山东聊城;山东滨州;山东菏泽;河南郑州;河南开封;河南洛阳;河南平顶山;河南安阳;河南鹤壁;河南新乡;河南焦作;河南濮阳;河南许昌;河南漯河;河南三门峡;河南南阳;河南商丘;河南信阳;河南周口;河南驻马店;河南济源;湖北武汉;湖北黄石;湖北十堰;湖北宜昌;湖北襄阳;湖北鄂州;湖北荆门;湖北孝感;湖北荆州;湖北黄冈;湖北咸宁;湖北随州;湖北恩施;湖北仙桃;湖北潜江;湖北天门;湖北神农架;湖南长沙;湖南株洲;湖南湘潭;湖南衡阳;湖南邵阳;湖南岳阳;湖南常德;湖南张家界;湖南益阳;湖南郴州;湖南永州;湖南怀化;湖南娄底;湖南湘西;广东广州;广东韶关;广东深圳;广东珠海;广东汕头;广东佛山;广东江门;广东湛江;广东茂名;广东肇庆;广东惠州;广东梅州;广东汕尾;广东河源;广东阳江;广东清远;广东东莞;广东中山;广东潮州;广东揭阳;广东云浮;广西南宁;广西柳州;广西桂林;广西梧州;广西北海;广西防城港;广西钦州;广西贵港;广西玉林;广西百色;广西贺州;广西河池;广西来宾;广西崇左;海南海口;海南三亚;海南三沙;海南儋州;海南五指山;海南琼海;海南文昌;海南万宁;海南东方;海南定安;海南屯昌;海南澄迈;海南临高;海南白沙;海南昌江;海南乐东;海南陵水;海南保亭;海南琼中;四川成都;四川自贡;四川攀枝花;四川泸州;四川德阳;四川绵阳;四川广元;四川遂宁;四川内江;四川乐山;四川南充;四川眉山;四川宜宾;四川广安;四川达州;四川雅安;四川巴中;四川资阳;四川阿坝;四川甘孜;四川凉山;贵州贵阳;贵州六盘水;贵州遵义;贵州安顺;贵州毕节;贵州铜仁;贵州黔西南;贵州黔东南;贵州黔南;云南昆明;云南曲靖;云南玉溪;云南保山;云南昭通;云南丽江;云南普洱;云南临沧;云南楚雄;云南红河;云南文山;云南西双版纳;云南大理;云南德宏;云南怒江;云南迪庆;西藏拉萨;西藏日喀则;西藏昌都;西藏林芝;西藏山南;西藏那曲;西藏阿里;陕西西安;陕西铜川;陕西宝鸡;陕西咸阳;陕西渭南;陕西延安;陕西汉中;陕西榆林;陕西安康;陕西商洛;甘肃兰州;甘肃嘉峪关;甘肃金昌;甘肃白银;甘肃天水;甘肃武威;甘肃张掖;甘肃平凉;甘肃酒泉;甘肃庆阳;甘肃定西;甘肃陇南;甘肃临夏;甘肃甘南;青海西宁;青海海东;青海海北;青海黄南;青海海南;青海果洛;青海玉树;青海海西;宁夏银川;宁夏石嘴山;宁夏吴忠;宁夏固原;宁夏中卫;新疆乌鲁木齐;新疆克拉玛依;新疆吐鲁番;新疆哈密;新疆昌吉;新疆博尔塔拉;新疆巴音郭楞;新疆阿克苏;新疆克孜勒苏;新疆喀什;新疆和田;新疆伊犁;新疆塔城;新疆阿勒泰;新疆石河子;新疆阿拉尔;新疆图木舒克;新疆五家渠;新疆北屯;新疆铁门关;新疆Line truncated
|
||||
//北京;天津;上海;重庆;河北;山西;内蒙古;辽宁;吉林;黑龙江;江苏;浙江;安徽;福建;江西;山东;河南;湖北;湖南;广东;广西;海南;四川;贵州;云南;西藏;陕西;甘肃;青海;宁夏;新疆
|
||||
var values = attr.value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries).OrderBy(x => Guid.NewGuid()).ToList();
|
||||
var value = values.FirstOrDefault(v => prodTitle.ParseToString().Contains(v));
|
||||
if (value == null)
|
||||
value = values.FirstOrDefault(v => prodTitle.ParseToString().Contains(string.Join("", v.Take(2))));
|
||||
if (value == null)
|
||||
value = values.FirstOrDefault(v => "北京;天津;上海;重庆;河北;山西;内蒙古;辽宁;吉林;黑龙江;江苏;浙江;安徽;福建;江西;山东;河南;湖北;湖南;广东;广西;海南;四川;贵州;云南;西藏;陕西;甘肃;青海;宁夏;新疆".Contains(string.Join("", v.Take(2))));
|
||||
attrValue = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
attrValue = "中国大陆";
|
||||
}
|
||||
}
|
||||
else if (attr.name == "是否具有拍卖/收藏价值")
|
||||
{
|
||||
attrValue = "不具有";
|
||||
}
|
||||
else if (attr.name == "是否批量生产(孤品)")
|
||||
{
|
||||
attrValue = "批量生产";
|
||||
}
|
||||
//else if (attrValueLst.Any(v => v.Contains("%")))
|
||||
//{
|
||||
@@ -4020,6 +4069,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
foreach (var att in leafCat.catInfo.saleAttr.attr)
|
||||
{
|
||||
//decimal4_unit //g;kg;斤
|
||||
if (att.isRequired == true)
|
||||
{
|
||||
// 规格属性名放在第二个规格上
|
||||
@@ -4029,7 +4079,36 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
// 如果有指定规格属性名称就不再设置
|
||||
if (!sku.spec.Any(sp => sp.parent_name == att.name))
|
||||
{
|
||||
sku.spec[1].parent_name = att.name;
|
||||
}
|
||||
// 如果不在指定位置上,交换位置
|
||||
else if (sku.spec[0].parent_name == att.name)
|
||||
{
|
||||
var specTmp = sku.spec[0];
|
||||
sku.spec[0] = sku.spec[1];
|
||||
sku.spec[1] = specTmp;
|
||||
}
|
||||
if (att.type == "decimal4_unit")
|
||||
{
|
||||
if (att.value == "g;kg;斤")
|
||||
{
|
||||
var specName = "";
|
||||
foreach (var unit in att.value.Split(';').Reverse().ToList())
|
||||
{
|
||||
Match specMatch = Regex.Match(sku.spec[1].spec_name.Replace(" ", "").Replace("-", "负号"), @"\d+(.\d+)?" + unit);
|
||||
//Match specMatch = Regex.Match(sku.spec[1].spec_name.Replace(" ", ""), @"((0{1}.\d{1,4})|([1-9]\d{1}.\d{1,4})|([1-9]+\d)|0)" + unit);
|
||||
if (specMatch.Success)
|
||||
{
|
||||
specName = specMatch.Value.Replace(unit, "")/*.ParseToDecimal().ParseToInt()*/ + " " + unit;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(specName))
|
||||
specName = Randomx.GetId(10, 500) + " g";
|
||||
sku.spec[1].spec_name = specName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 规格属性名放在第一个规格上
|
||||
@@ -4039,7 +4118,36 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
// 如果有指定规格属性名称就不再设置
|
||||
if (!sku.spec.Any(sp => sp.parent_name == att.name))
|
||||
{
|
||||
sku.spec[0].parent_name = att.name;
|
||||
}
|
||||
// 如果不在指定位置上,交换位置
|
||||
else if (sku.spec.Count > 1 && sku.spec[1].parent_name == att.name)
|
||||
{
|
||||
var specTmp = sku.spec[0];
|
||||
sku.spec[0] = sku.spec[1];
|
||||
sku.spec[1] = specTmp;
|
||||
}
|
||||
if (att.type == "decimal4_unit")
|
||||
{
|
||||
if (att.value == "g;kg;斤")
|
||||
{
|
||||
var specName = "";
|
||||
foreach (var unit in att.value.Split(';').Reverse().ToList())
|
||||
{
|
||||
Match specMatch = Regex.Match(sku.spec[0].spec_name.Replace(" ", "").Replace("-", "负号"), @"\d+(.\d+)?" + unit);
|
||||
//Match specMatch = Regex.Match(sku.spec[0].spec_name.Replace(" ", ""), @"((0{1}.\d{1,4})|([1-9]\d{1}.\d{1,4})|([1-9]+\d)|0)" + unit);
|
||||
if (specMatch.Success)
|
||||
{
|
||||
specName = specMatch.Value.Replace(unit, "")/*.ParseToDecimal().ParseToInt()*/ + " " + unit;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(specName))
|
||||
specName = Randomx.GetId(10, 500) + " g";
|
||||
sku.spec[0].spec_name = specName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4637,83 +4745,85 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
Brush textBrush = Brushes.Black;
|
||||
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
|
||||
float txtY = 80;
|
||||
float txtY = 240;
|
||||
float txtX = 280;
|
||||
int txtWidth = 370;
|
||||
|
||||
// 书名
|
||||
Font font = new Font("宋体", 22, FontStyle.Bold);
|
||||
RectangleF rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY - 80);
|
||||
RectangleF rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY - 80);
|
||||
g.DrawString(bookName.Replace("图书名称:", ""), font, textBrush, rectF);
|
||||
// 测量文本的高度 决定接下来文字绘制位置
|
||||
var textSize = g.MeasureString(bookName.Replace("图书名称:", ""), font, imgW - 200);
|
||||
var textSize = g.MeasureString(bookName.Replace("图书名称:", ""), font, txtWidth);
|
||||
txtY += 20 + textSize.Height;
|
||||
|
||||
font = new Font("宋体", 16, FontStyle.Bold);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY - 80);
|
||||
font = new Font("宋体", 15, FontStyle.Bold);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY - 80);
|
||||
g.DrawString(author.Replace("作 者:", "").TrimEnd('著', ' ') + " 著", font, textBrush, rectF);
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(author.Replace("作 者:", "").TrimEnd('著', ' ') + " 著", font, imgW - 200);
|
||||
textSize = g.MeasureString(author.Replace("作 者:", "").TrimEnd('著', ' ') + " 著", font, txtWidth);
|
||||
txtY += 20 + textSize.Height;
|
||||
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY - 80);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY - 80);
|
||||
g.DrawString(publisher.Replace("出版发行:", ""), font, textBrush, rectF);
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(publisher.Replace("出版发行:", ""), font, imgW - 200);
|
||||
textSize = g.MeasureString(publisher.Replace("出版发行:", ""), font, txtWidth);
|
||||
txtY += 20 + textSize.Height;
|
||||
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY - 80);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY - 80);
|
||||
g.DrawString(isbn.Replace("ISBN/CN刊号:", "ISBN "), font, textBrush, rectF);
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(isbn.Replace("ISBN/CN刊号:", "ISBN "), font, imgW - 200);
|
||||
textSize = g.MeasureString(isbn.Replace("ISBN/CN刊号:", "ISBN "), font, txtWidth);
|
||||
txtY += 20 + textSize.Height;
|
||||
|
||||
// 以下从下往上写
|
||||
txtY = imgH - 120;
|
||||
txtY = imgH - 240;
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(binding, font, imgW - 200);
|
||||
textSize = g.MeasureString(binding, font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(binding, font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(edition, font, imgW - 200);
|
||||
textSize = g.MeasureString(edition, font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(edition, font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(publishTime, font, imgW - 200);
|
||||
textSize = g.MeasureString(publishTime, font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(publishTime, font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(author, font, imgW - 200);
|
||||
textSize = g.MeasureString(author, font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(author, font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(bookPrice + "元", font, imgW - 200);
|
||||
textSize = g.MeasureString(bookPrice + "元", font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(bookPrice + "元", font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(bookName, font, imgW - 200);
|
||||
textSize = g.MeasureString(bookName, font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(bookName, font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(isbn.Replace("ISBN/CN刊号:", "书号 ISBN "), font, imgW - 200);
|
||||
textSize = g.MeasureString(isbn.Replace("ISBN/CN刊号:", "书 号:ISBN "), font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(isbn.Replace("ISBN/CN刊号:", "书 号:ISBN "), font, textBrush, rectF);
|
||||
|
||||
// 测量文本的高度
|
||||
textSize = g.MeasureString(publisher, font, imgW - 200);
|
||||
textSize = g.MeasureString(publisher, font, txtWidth);
|
||||
txtY -= (10 + textSize.Height);
|
||||
rectF = new RectangleF(100, txtY, imgW - 200, imgH - txtY);
|
||||
rectF = new RectangleF(txtX, txtY, txtWidth, imgH - txtY);
|
||||
g.DrawString(publisher, font, textBrush, rectF);
|
||||
|
||||
}
|
||||
@@ -5226,8 +5336,9 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
if (DefaultAdultBrandId.ParseToLong() > 0)
|
||||
upProdParam.product.info.brandId = DefaultAdultBrandId.ParseToLong();
|
||||
}
|
||||
// 情趣内衣类禁止设置运费险
|
||||
if (upProdParam.product.info.category[1].name == "情趣内衣")
|
||||
// 情趣内衣等类目禁止设置运费险
|
||||
if (upProdParam.product.info.category[1].name == "情趣内衣" ||
|
||||
upProdParam.product.info.category[1].name == "水果")
|
||||
{
|
||||
upProdParam.product.info.extraService.freightInsurance = 0;
|
||||
}
|
||||
|
||||