From 52e055aba2562419e3a55eea7ca49a144ab1a510 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 1 Jan 2023 18:06:52 +0800 Subject: [PATCH] 移除 yudao-module-work 模块,用途不大 --- pom.xml | 2 +- yudao-module-mp/pom.xml | 24 ++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-api/pom.xml | 26 ++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java | 17 +++++++++++++++++ yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java | 8 ++++++++ yudao-module-mp/yudao-module-mp-biz/pom.xml | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java | 15 +++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java | 19 +++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java | 17 +++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java | 35 +++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java | 20 ++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java | 19 +++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java | 17 +++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java | 22 ++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java | 32 ++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java | 33 +++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java | 19 +++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java | 29 +++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java | 30 ++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java | 33 +++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java | 20 ++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java | 22 ++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java | 29 +++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java | 33 +++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java | 25 +++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java | 25 +++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java | 28 ++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java | 38 ++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java | 39 +++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java | 43 +++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java | 25 +++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java | 35 +++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java | 39 +++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java | 25 +++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java | 35 +++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java | 39 +++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java | 22 ++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java | 32 ++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java | 33 +++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java | 19 +++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java | 12 ++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java | 29 +++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java | 30 ++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java | 33 +++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java | 21 +++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java | 43 +++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java | 39 +++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java | 43 +++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java | 39 +++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java | 39 +++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java | 38 ++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java | 40 ++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java | 40 ++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java | 38 ++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java | 6 ++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java | 23 +++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java | 25 +++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java | 32 ++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java | 22 ++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java | 22 ++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java | 27 +++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java | 29 +++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java | 19 +++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java | 26 ++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java | 8 ++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-wechat/pom.xml | 26 -------------------------- yudao-module-wechat/yudao-module-mp-api/pom.xml | 26 -------------------------- yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java | 17 ----------------- yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java | 8 -------- yudao-module-wechat/yudao-module-mp-biz/pom.xml | 89 ----------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java | 15 --------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java | 19 ------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java | 102 ------------------------------------------------------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java | 42 ------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java | 17 ----------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java | 46 ---------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java | 35 ----------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java | 20 -------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java | 99 --------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java | 57 --------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java | 61 ------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java | 66 ------------------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java | 69 --------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java | 19 ------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java | 17 ----------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java | 22 ---------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java | 32 -------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java | 33 --------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java | 46 ---------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java | 56 -------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java | 57 --------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java | 60 ------------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java | 19 ------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java | 29 ----------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java | 30 ------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java | 33 --------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java | 98 -------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java | 20 -------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java | 22 ---------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java | 29 ----------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java | 33 --------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java | 25 ------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java | 25 ------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java | 28 ---------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java | 38 -------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java | 39 --------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java | 42 ------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java | 43 ------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java | 53 ----------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java | 54 ------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java | 57 --------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java | 52 ---------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java | 62 -------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java | 63 --------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java | 66 ------------------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java | 25 ------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java | 35 ----------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java | 39 --------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java | 25 ------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java | 35 ----------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java | 39 --------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java | 22 ---------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java | 32 -------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java | 33 --------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java | 19 ------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java | 12 ------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java | 29 ----------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java | 30 ------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java | 33 --------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java | 21 --------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java | 18 ------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java | 34 ---------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java | 79 ------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java | 92 -------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java | 43 ------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java | 75 --------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java | 39 --------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java | 51 --------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java | 83 ----------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java | 47 ----------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java | 47 ----------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java | 43 ------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java | 39 --------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java | 39 --------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java | 59 ----------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java | 38 -------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java | 54 ------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java | 42 ------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java | 52 ---------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java | 58 ---------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java | 40 ---------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java | 40 ---------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java | 38 -------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java | 36 ------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java | 6 ------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java | 106 ---------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java | 23 ----------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java | 44 -------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java | 25 ------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java | 32 -------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java | 172 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java | 22 ---------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java | 22 ---------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java | 27 --------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java | 159 --------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java | 52 ---------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java | 29 ----------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java | 19 ------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java | 26 -------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java | 8 -------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java | 89 ----------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java | 159 --------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java | 84 ------------------------------------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java | 89 ----------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java | 74 -------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java | 106 ---------------------------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java | 81 --------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java | 90 ------------------------------------------------------------------------------------------ yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java | 74 -------------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java | 67 ------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java | 71 ----------------------------------------------------------------------- yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java | 85 ------------------------------------------------------------------------------------- yudao-module-wechat/yudao-module-work-api/pom.xml | 26 -------------------------- yudao-module-wechat/yudao-module-work-biz/pom.xml | 18 ------------------ 385 files changed, 8937 insertions(+), 8983 deletions(-) create mode 100644 yudao-module-mp/pom.xml create mode 100644 yudao-module-mp/yudao-module-mp-api/pom.xml create mode 100644 yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java create mode 100644 yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/pom.xml create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java delete mode 100644 yudao-module-wechat/pom.xml delete mode 100644 yudao-module-wechat/yudao-module-mp-api/pom.xml delete mode 100644 yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java delete mode 100644 yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/pom.xml delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java delete mode 100644 yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java delete mode 100644 yudao-module-wechat/yudao-module-work-api/pom.xml delete mode 100644 yudao-module-wechat/yudao-module-work-biz/pom.xml diff --git a/pom.xml b/pom.xml index 7adca82..767e668 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ yudao-module-system yudao-module-infra yudao-module-pay - yudao-module-wechat + yudao-module-mp ${project.artifactId} diff --git a/yudao-module-mp/pom.xml b/yudao-module-mp/pom.xml new file mode 100644 index 0000000..b339c40 --- /dev/null +++ b/yudao-module-mp/pom.xml @@ -0,0 +1,24 @@ + + + + yudao + cn.iocoder.boot + ${revision} + + 4.0.0 + + yudao-module-mp + pom + + + wechat 模块,主要实现微信平台的相关业务。 + 例如:微信公众号、企业微信 SCRM 等 + + + yudao-module-mp-api + yudao-module-mp-biz + + + diff --git a/yudao-module-mp/yudao-module-mp-api/pom.xml b/yudao-module-mp/yudao-module-mp-api/pom.xml new file mode 100644 index 0000000..64b6f50 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-api/pom.xml @@ -0,0 +1,26 @@ + + + + yudao-module-mp + cn.iocoder.boot + ${revision} + + 4.0.0 + yudao-module-mp-api + jar + + ${project.artifactId} + + mp 模块 API,暴露给其它模块调用 + + + + + cn.iocoder.boot + yudao-common + + + + diff --git a/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java b/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java new file mode 100644 index 0000000..14e82db --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.mp.enums; + +import cn.iocoder.yudao.framework.common.exception.ErrorCode; + +/** + * Member 错误码枚举类 + * + * wechatMp 系统,使用 1-004-000-000 段 + */ +public interface ErrorCodeConstants { + + // ========== 用户相关 1004001000============ + ErrorCode WX_ACCOUNT_NOT_EXISTS = new ErrorCode(1004001000, "公众号账户不存在"); + ErrorCode WX_ACCOUNT_FANS_NOT_EXISTS = new ErrorCode(1004001001, "粉丝账号不存在"); + ErrorCode COMMON_NOT_EXISTS = new ErrorCode(1004001002, "用户不存在"); + +} diff --git a/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java b/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java new file mode 100644 index 0000000..5987180 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java @@ -0,0 +1,8 @@ +/** + * mp 模块,我们放微信微信公众号。 + * 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能 + * + * 1. Controller URL:以 /mp/ 开头,避免和其它 Module 冲突 + * 2. DataObject 表名:以 mp_ 开头,方便在数据库中区分 + */ +package cn.iocoder.yudao.module.mp; diff --git a/yudao-module-mp/yudao-module-mp-biz/pom.xml b/yudao-module-mp/yudao-module-mp-biz/pom.xml new file mode 100644 index 0000000..ea96818 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/pom.xml @@ -0,0 +1,89 @@ + + + + yudao-module-mp + cn.iocoder.boot + ${revision} + + 4.0.0 + yudao-module-mp-biz + jar + + ${project.artifactId} + + mp 模块,我们放微信微信公众号。 + 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能 + + + + + cn.iocoder.boot + yudao-module-mp-api + ${revision} + + + cn.iocoder.boot + yudao-module-system-api + ${revision} + + + cn.iocoder.boot + yudao-module-infra-api + ${revision} + + + + + cn.iocoder.boot + yudao-spring-boot-starter-biz-operatelog + + + cn.iocoder.boot + yudao-spring-boot-starter-biz-weixin + + + cn.iocoder.boot + yudao-spring-boot-starter-biz-tenant + + + + + cn.iocoder.boot + yudao-spring-boot-starter-security + + + + + cn.iocoder.boot + yudao-spring-boot-starter-mybatis + + + + cn.iocoder.boot + yudao-spring-boot-starter-redis + + + + + cn.iocoder.boot + yudao-spring-boot-starter-mq + + + + + cn.iocoder.boot + yudao-spring-boot-starter-test + test + + + + + cn.iocoder.boot + yudao-spring-boot-starter-excel + + + + + diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java new file mode 100644 index 0000000..e2b0424 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.mp.builder; + +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +// TODO @亚洲:看看是不是可以使用 convert 来做,更符合项目 +public abstract class AbstractBuilder { + protected final Logger logger = LoggerFactory.getLogger(getClass()); + + public abstract WxMpXmlOutMessage build(String content, + WxMpXmlMessage wxMessage, WxMpService service); +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java new file mode 100644 index 0000000..421f461 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.builder; + +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutImageMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; + +public class ImageBuilder extends AbstractBuilder { + + @Override + public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage, + WxMpService service) { + + WxMpXmlOutImageMessage m = WxMpXmlOutMessage.IMAGE().mediaId(content) + .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) + .build(); + + return m; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java new file mode 100644 index 0000000..bd95199 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.mp.builder; + +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage; + +public class TextBuilder extends AbstractBuilder { + + @Override + public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage, + WxMpService service) { + WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content(content) + .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) + .build(); + return m; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java new file mode 100644 index 0000000..8d1952e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.*; +import cn.iocoder.yudao.module.mp.convert.account.WxAccountConvert; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.service.account.WxAccountService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +/** + * @author fengdan + */ +@Api(tags = "管理后台 - 公众号账户") +@RestController +@RequestMapping("/wechatMp/account") +@Validated +public class WxAccountController { + + @Resource + private WxAccountService wxAccountService; + + @PostMapping("/create") + @ApiOperation("创建公众号账户") + @PreAuthorize("@ss.hasPermission('wechatMp:account:create')") + public CommonResult createWxAccount(@Valid @RequestBody WxAccountCreateReqVO createReqVO) { + return success(wxAccountService.createWxAccount(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新公众号账户") + @PreAuthorize("@ss.hasPermission('wechatMp:account:update')") + public CommonResult updateWxAccount(@Valid @RequestBody WxAccountUpdateReqVO updateReqVO) { + wxAccountService.updateWxAccount(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除公众号账户") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) + @PreAuthorize("@ss.hasPermission('wechatMp:account:delete')") + public CommonResult deleteWxAccount(@RequestParam("id") Long id) { + wxAccountService.deleteWxAccount(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得公众号账户") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) + @PreAuthorize("@ss.hasPermission('wechatMp:account:query')") + public CommonResult getWxAccount(@RequestParam("id") Long id) { + WxAccountDO wxAccount = wxAccountService.getWxAccount(id); + return success(WxAccountConvert.INSTANCE.convert(wxAccount)); + } + + @GetMapping("/list") + @ApiOperation("获得公众号账户列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:account:query')") + public CommonResult> getWxAccountList(@RequestParam("ids") Collection ids) { + List list = wxAccountService.getWxAccountList(ids); + return success(WxAccountConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得公众号账户分页") + @PreAuthorize("@ss.hasPermission('wechatMp:account:query')") + public CommonResult> getWxAccountPage(@Valid WxAccountPageReqVO pageVO) { + PageResult pageResult = wxAccountService.getWxAccountPage(pageVO); + return success(WxAccountConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出公众号账户 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:account:export')") + @OperateLog(type = EXPORT) + public void exportWxAccountExcel(@Valid WxAccountExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxAccountService.getWxAccountList(exportReqVO); + // 导出 Excel + List datas = WxAccountConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "公众号账户.xls", "数据", WxAccountExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java new file mode 100644 index 0000000..acd8dcc --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 公众号账户 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + * + * @author fengdan + */ +@Data +public class WxAccountBaseVO { + + @ApiModelProperty(value = "公众号名称", required = true) + @NotNull(message = "公众号名称不能为空") + private String name; + + @ApiModelProperty(value = "公众号账户", required = true) + @NotNull(message = "公众号账户不能为空") + private String account; + + @ApiModelProperty(value = "公众号appid", required = true) + @NotNull(message = "公众号appid不能为空") + private String appId; + + @ApiModelProperty(value = "公众号密钥", required = true) + @NotNull(message = "公众号密钥不能为空") + private String appSecret; + + @ApiModelProperty(value = "公众号token") + private String token; + + @ApiModelProperty(value = "加密密钥") + private String aesKey; + + @ApiModelProperty(value = "备注") + private String remark; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java new file mode 100644 index 0000000..d2d7414 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 公众号账户创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountCreateReqVO extends WxAccountBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java new file mode 100644 index 0000000..e889b35 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + + +/** + * 公众号账户 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxAccountExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("公众号名称") + private String name; + + @ExcelProperty("公众号账户") + private String account; + + @ExcelProperty("公众号appid") + private String appId; + + @ExcelProperty("公众号url") + private String url; + + @ExcelProperty("公众号token") + private String token; + + @ExcelProperty("加密密钥") + private String aesKey; + + @ExcelProperty("二维码图片URL") + private String qrCodeUrl; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("创建时间") + private Date createTime; +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java new file mode 100644 index 0000000..ac3a98d --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * @author fengdan + */ +@ApiModel(value = "管理后台 - 公众号账户 Excel 导出 Request VO", description = "参数和 WxAccountPageReqVO 是一致的") +@Data +public class WxAccountExportReqVO { + + @ApiModelProperty(value = "公众号名称") + private String name; + + @ApiModelProperty(value = "公众号账户") + private String account; + + @ApiModelProperty(value = "公众号appid") + private String appId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java new file mode 100644 index 0000000..d314517 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 公众号账户分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountPageReqVO extends PageParam { + @ApiModelProperty(value = "公众号名称") + private String name; + + @ApiModelProperty(value = "公众号账户") + private String account; + + @ApiModelProperty(value = "公众号appid") + private String appId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java new file mode 100644 index 0000000..235bebc --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 公众号账户 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountRespVO extends WxAccountBaseVO { + + @ApiModelProperty(value = "编号", required = true) + private Long id; + + @ApiModelProperty(value = "公众号url") + private String url; + + @ApiModelProperty(value = "二维码图片URL") + private String qrCodeUrl; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + + @ApiModelProperty(value = "公众号密钥", required = true) + private String appSecret; +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java new file mode 100644 index 0000000..d1607d7 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; + +import lombok.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 公众号账户更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountUpdateReqVO extends WxAccountBaseVO { + + @ApiModelProperty(value = "编号", required = true) + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java new file mode 100644 index 0000000..c39c8cc --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java @@ -0,0 +1,99 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.*; +import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Api(tags = "管理后台 - 微信公众号粉丝") +@RestController +@RequestMapping("/wechatMp/wx-account-fans") +@Validated +public class WxAccountFansController { + + @Resource + private WxAccountFansService wxAccountFansService; + + @PostMapping("/create") + @ApiOperation("创建微信公众号粉丝") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:create')") + public CommonResult createWxAccountFans(@Valid @RequestBody WxAccountFansCreateReqVO createReqVO) { + return success(wxAccountFansService.createWxAccountFans(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新微信公众号粉丝") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:update')") + public CommonResult updateWxAccountFans(@Valid @RequestBody WxAccountFansUpdateReqVO updateReqVO) { + wxAccountFansService.updateWxAccountFans(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除微信公众号粉丝") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:delete')") + public CommonResult deleteWxAccountFans(@RequestParam("id") Long id) { + wxAccountFansService.deleteWxAccountFans(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得微信公众号粉丝") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") + public CommonResult getWxAccountFans(@RequestParam("id") Long id) { + WxAccountFansDO wxAccountFans = wxAccountFansService.getWxAccountFans(id); + return success(WxAccountFansConvert.INSTANCE.convert(wxAccountFans)); + } + + @GetMapping("/list") + @ApiOperation("获得微信公众号粉丝列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") + public CommonResult> getWxAccountFansList(@RequestParam("ids") Collection ids) { + List list = wxAccountFansService.getWxAccountFansList(ids); + return success(WxAccountFansConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得微信公众号粉丝分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") + public CommonResult> getWxAccountFansPage(@Valid WxAccountFansPageReqVO pageVO) { + PageResult pageResult = wxAccountFansService.getWxAccountFansPage(pageVO); + return success(WxAccountFansConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出微信公众号粉丝 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:export')") + @OperateLog(type = EXPORT) + public void exportWxAccountFansExcel(@Valid WxAccountFansExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxAccountFansService.getWxAccountFansList(exportReqVO); + // 导出 Excel + List datas = WxAccountFansConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "微信公众号粉丝.xls", "数据", WxAccountFansExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java new file mode 100644 index 0000000..d030c16 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** +* 微信公众号粉丝 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class WxAccountFansBaseVO { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "订阅状态,0未关注,1已关注") + private String subscribeStatus; + + @ApiModelProperty(value = "订阅时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date subscribeTime; + + @ApiModelProperty(value = "昵称") + private byte[] nickname; + + @ApiModelProperty(value = "性别,1男,2女,0未知") + private String gender; + + @ApiModelProperty(value = "语言") + private String language; + + @ApiModelProperty(value = "国家") + private String country; + + @ApiModelProperty(value = "省份") + private String province; + + @ApiModelProperty(value = "城市") + private String city; + + @ApiModelProperty(value = "头像地址") + private String headimgUrl; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "微信公众号ID") + private String wxAccountId; + + @ApiModelProperty(value = "微信公众号appid") + private String wxAccountAppid; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java new file mode 100644 index 0000000..2243b97 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 微信公众号粉丝创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansCreateReqVO extends WxAccountFansBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java new file mode 100644 index 0000000..c5114a7 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 微信公众号粉丝 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxAccountFansExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("用户标识") + private String openid; + + @ExcelProperty("订阅状态,0未关注,1已关注") + private String subscribeStatus; + + @ExcelProperty("订阅时间") + private Date subscribeTime; + + @ExcelProperty("昵称") + private byte[] nickname; + + @ExcelProperty("性别,1男,2女,0未知") + private String gender; + + @ExcelProperty("语言") + private String language; + + @ExcelProperty("国家") + private String country; + + @ExcelProperty("省份") + private String province; + + @ExcelProperty("城市") + private String city; + + @ExcelProperty("头像地址") + private String headimgUrl; + + @ExcelProperty("备注") + private String remark; + + @ExcelProperty("微信公众号ID") + private String wxAccountId; + + @ExcelProperty("微信公众号appid") + private String wxAccountAppid; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java new file mode 100644 index 0000000..82f4bc7 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 微信公众号粉丝 Excel 导出 Request VO", description = "参数和 WxAccountFansPageReqVO 是一致的") +@Data +public class WxAccountFansExportReqVO { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "订阅状态,0未关注,1已关注") + private String subscribeStatus; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始订阅时间") + private Date beginSubscribeTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束订阅时间") + private Date endSubscribeTime; + + @ApiModelProperty(value = "昵称") + private String nickname; + + @ApiModelProperty(value = "性别,1男,2女,0未知") + private String gender; + + @ApiModelProperty(value = "语言") + private String language; + + @ApiModelProperty(value = "国家") + private String country; + + @ApiModelProperty(value = "省份") + private String province; + + @ApiModelProperty(value = "城市") + private String city; + + @ApiModelProperty(value = "头像地址") + private String headimgUrl; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "微信公众号ID") + private String wxAccountId; + + @ApiModelProperty(value = "微信公众号appid") + private String wxAccountAppid; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java new file mode 100644 index 0000000..2437ce6 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 微信公众号粉丝分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansPageReqVO extends PageParam { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "订阅状态,0未关注,1已关注") + private String subscribeStatus; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始订阅时间") + private Date beginSubscribeTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束订阅时间") + private Date endSubscribeTime; + + @ApiModelProperty(value = "昵称") + private String nickname; + + @ApiModelProperty(value = "性别,1男,2女,0未知") + private String gender; + + @ApiModelProperty(value = "语言") + private String language; + + @ApiModelProperty(value = "国家") + private String country; + + @ApiModelProperty(value = "省份") + private String province; + + @ApiModelProperty(value = "城市") + private String city; + + @ApiModelProperty(value = "头像地址") + private String headimgUrl; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "微信公众号ID") + private String wxAccountId; + + @ApiModelProperty(value = "微信公众号appid") + private String wxAccountAppid; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java new file mode 100644 index 0000000..f1704ee --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 微信公众号粉丝 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansRespVO extends WxAccountFansBaseVO { + + @ApiModelProperty(value = "编号", required = true) + private Long id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java new file mode 100644 index 0000000..9b04e47 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; + +import lombok.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 微信公众号粉丝更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansUpdateReqVO extends WxAccountFansBaseVO { + + @ApiModelProperty(value = "编号", required = true) + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java new file mode 100644 index 0000000..aa4a0e3 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; +import cn.iocoder.yudao.module.mp.convert.accountfanstag.WxAccountFansTagConvert; +import cn.iocoder.yudao.module.mp.service.accountfanstag.WxAccountFansTagService; + +@Api(tags = "管理后台 - 粉丝标签关联") +@RestController +@RequestMapping("/wechatMp/wx-account-fans-tag") +@Validated +public class WxAccountFansTagController { + + @Resource + private WxAccountFansTagService wxAccountFansTagService; + + @PostMapping("/create") + @ApiOperation("创建粉丝标签关联") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:create')") + public CommonResult createWxAccountFansTag(@Valid @RequestBody WxAccountFansTagCreateReqVO createReqVO) { + return success(wxAccountFansTagService.createWxAccountFansTag(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新粉丝标签关联") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:update')") + public CommonResult updateWxAccountFansTag(@Valid @RequestBody WxAccountFansTagUpdateReqVO updateReqVO) { + wxAccountFansTagService.updateWxAccountFansTag(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除粉丝标签关联") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:delete')") + public CommonResult deleteWxAccountFansTag(@RequestParam("id") Integer id) { + wxAccountFansTagService.deleteWxAccountFansTag(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得粉丝标签关联") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") + public CommonResult getWxAccountFansTag(@RequestParam("id") Integer id) { + WxAccountFansTagDO wxAccountFansTag = wxAccountFansTagService.getWxAccountFansTag(id); + return success(WxAccountFansTagConvert.INSTANCE.convert(wxAccountFansTag)); + } + + @GetMapping("/list") + @ApiOperation("获得粉丝标签关联列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") + public CommonResult> getWxAccountFansTagList(@RequestParam("ids") Collection ids) { + List list = wxAccountFansTagService.getWxAccountFansTagList(ids); + return success(WxAccountFansTagConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得粉丝标签关联分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") + public CommonResult> getWxAccountFansTagPage(@Valid WxAccountFansTagPageReqVO pageVO) { + PageResult pageResult = wxAccountFansTagService.getWxAccountFansTagPage(pageVO); + return success(WxAccountFansTagConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出粉丝标签关联 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:export')") + @OperateLog(type = EXPORT) + public void exportWxAccountFansTagExcel(@Valid WxAccountFansTagExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxAccountFansTagService.getWxAccountFansTagList(exportReqVO); + // 导出 Excel + List datas = WxAccountFansTagConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "粉丝标签关联.xls", "数据", WxAccountFansTagExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java new file mode 100644 index 0000000..2e952e4 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 粉丝标签关联 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxAccountFansTagBaseVO { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "标签ID") + private String tagId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java new file mode 100644 index 0000000..e386d40 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 粉丝标签关联创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansTagCreateReqVO extends WxAccountFansTagBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java new file mode 100644 index 0000000..ffaa474 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 粉丝标签关联 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxAccountFansTagExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("用户标识") + private String openid; + + @ExcelProperty("标签ID") + private String tagId; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java new file mode 100644 index 0000000..2185e06 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 粉丝标签关联 Excel 导出 Request VO", description = "参数和 WxAccountFansTagPageReqVO 是一致的") +@Data +public class WxAccountFansTagExportReqVO { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "标签ID") + private String tagId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java new file mode 100644 index 0000000..142cab3 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 粉丝标签关联分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansTagPageReqVO extends PageParam { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "标签ID") + private String tagId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java new file mode 100644 index 0000000..804ac8e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 粉丝标签关联 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansTagRespVO extends WxAccountFansTagBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java new file mode 100644 index 0000000..7ef3f4c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 粉丝标签关联更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxAccountFansTagUpdateReqVO extends WxAccountFansTagBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java new file mode 100644 index 0000000..ff3466c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; +import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; +import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; + +@Api(tags = "管理后台 - 粉丝消息表 ") +@RestController +@RequestMapping("/wechatMp/wx-fans-msg") +@Validated +public class WxFansMsgController { + + @Resource + private WxFansMsgService wxFansMsgService; + + @PostMapping("/create") + @ApiOperation("创建粉丝消息表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:create')") + public CommonResult createWxFansMsg(@Valid @RequestBody WxFansMsgCreateReqVO createReqVO) { + return success(wxFansMsgService.createWxFansMsg(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新粉丝消息表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:update')") + public CommonResult updateWxFansMsg(@Valid @RequestBody WxFansMsgUpdateReqVO updateReqVO) { + wxFansMsgService.updateWxFansMsg(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除粉丝消息表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:delete')") + public CommonResult deleteWxFansMsg(@RequestParam("id") Integer id) { + wxFansMsgService.deleteWxFansMsg(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得粉丝消息表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") + public CommonResult getWxFansMsg(@RequestParam("id") Integer id) { + WxFansMsgDO wxFansMsg = wxFansMsgService.getWxFansMsg(id); + return success(WxFansMsgConvert.INSTANCE.convert(wxFansMsg)); + } + + @GetMapping("/list") + @ApiOperation("获得粉丝消息表 列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") + public CommonResult> getWxFansMsgList(@RequestParam("ids") Collection ids) { + List list = wxFansMsgService.getWxFansMsgList(ids); + return success(WxFansMsgConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得粉丝消息表 分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") + public CommonResult> getWxFansMsgPage(@Valid WxFansMsgPageReqVO pageVO) { + PageResult pageResult = wxFansMsgService.getWxFansMsgPage(pageVO); + return success(WxFansMsgConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出粉丝消息表 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:export')") + @OperateLog(type = EXPORT) + public void exportWxFansMsgExcel(@Valid WxFansMsgExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxFansMsgService.getWxFansMsgList(exportReqVO); + // 导出 Excel + List datas = WxFansMsgConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "粉丝消息表 .xls", "数据", WxFansMsgExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java new file mode 100644 index 0000000..8527d41 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 粉丝消息表 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxFansMsgBaseVO { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "昵称") + private byte[] nickname; + + @ApiModelProperty(value = "头像地址") + private String headimgUrl; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @ApiModelProperty(value = "消息类型") + private String msgType; + + @ApiModelProperty(value = "内容") + private String content; + + @ApiModelProperty(value = "最近一条回复内容") + private String resContent; + + @ApiModelProperty(value = "是否已回复") + private String isRes; + + @ApiModelProperty(value = "微信素材ID") + private String mediaId; + + @ApiModelProperty(value = "微信图片URL") + private String picUrl; + + @ApiModelProperty(value = "本地图片路径") + private String picPath; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java new file mode 100644 index 0000000..22b293b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 粉丝消息表 创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgCreateReqVO extends WxFansMsgBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java new file mode 100644 index 0000000..2d35d37 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 粉丝消息表 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxFansMsgExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("用户标识") + private String openid; + + @ExcelProperty("昵称") + private byte[] nickname; + + @ExcelProperty("头像地址") + private String headimgUrl; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("消息类型") + private String msgType; + + @ExcelProperty("内容") + private String content; + + @ExcelProperty("最近一条回复内容") + private String resContent; + + @ExcelProperty("是否已回复") + private String isRes; + + @ExcelProperty("微信素材ID") + private String mediaId; + + @ExcelProperty("微信图片URL") + private String picUrl; + + @ExcelProperty("本地图片路径") + private String picPath; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java new file mode 100644 index 0000000..dba5d40 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 粉丝消息表 Excel 导出 Request VO", description = "参数和 WxFansMsgPageReqVO 是一致的") +@Data +public class WxFansMsgExportReqVO { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "昵称") + private String nickname; + + @ApiModelProperty(value = "头像地址") + private String headimgUrl; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @ApiModelProperty(value = "消息类型") + private String msgType; + + @ApiModelProperty(value = "内容") + private String content; + + @ApiModelProperty(value = "最近一条回复内容") + private String resContent; + + @ApiModelProperty(value = "是否已回复") + private String isRes; + + @ApiModelProperty(value = "微信素材ID") + private String mediaId; + + @ApiModelProperty(value = "微信图片URL") + private String picUrl; + + @ApiModelProperty(value = "本地图片路径") + private String picPath; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java new file mode 100644 index 0000000..d80a883 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 粉丝消息表 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgPageReqVO extends PageParam { + + @ApiModelProperty(value = "用户标识") + private String openid; + + @ApiModelProperty(value = "昵称") + private String nickname; + + @ApiModelProperty(value = "头像地址") + private String headimgUrl; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @ApiModelProperty(value = "消息类型") + private String msgType; + + @ApiModelProperty(value = "内容") + private String content; + + @ApiModelProperty(value = "最近一条回复内容") + private String resContent; + + @ApiModelProperty(value = "是否已回复") + private String isRes; + + @ApiModelProperty(value = "微信素材ID") + private String mediaId; + + @ApiModelProperty(value = "微信图片URL") + private String picUrl; + + @ApiModelProperty(value = "本地图片路径") + private String picPath; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java new file mode 100644 index 0000000..62845b4 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 粉丝消息表 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgRespVO extends WxFansMsgBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java new file mode 100644 index 0000000..eedad78 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 粉丝消息表 更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgUpdateReqVO extends WxFansMsgBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java new file mode 100644 index 0000000..19a9140 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; +import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; +import cn.iocoder.yudao.module.mp.service.fansmsgres.WxFansMsgResService; + +@Api(tags = "管理后台 - 回复粉丝消息历史表 ") +@RestController +@RequestMapping("/wechatMp/wx-fans-msg-res") +@Validated +public class WxFansMsgResController { + + @Resource + private WxFansMsgResService wxFansMsgResService; + + @PostMapping("/create") + @ApiOperation("创建回复粉丝消息历史表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:create')") + public CommonResult createWxFansMsgRes(@Valid @RequestBody WxFansMsgResCreateReqVO createReqVO) { + return success(wxFansMsgResService.createWxFansMsgRes(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新回复粉丝消息历史表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:update')") + public CommonResult updateWxFansMsgRes(@Valid @RequestBody WxFansMsgResUpdateReqVO updateReqVO) { + wxFansMsgResService.updateWxFansMsgRes(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除回复粉丝消息历史表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:delete')") + public CommonResult deleteWxFansMsgRes(@RequestParam("id") Integer id) { + wxFansMsgResService.deleteWxFansMsgRes(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得回复粉丝消息历史表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") + public CommonResult getWxFansMsgRes(@RequestParam("id") Integer id) { + WxFansMsgResDO wxFansMsgRes = wxFansMsgResService.getWxFansMsgRes(id); + return success(WxFansMsgResConvert.INSTANCE.convert(wxFansMsgRes)); + } + + @GetMapping("/list") + @ApiOperation("获得回复粉丝消息历史表 列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") + public CommonResult> getWxFansMsgResList(@RequestParam("ids") Collection ids) { + List list = wxFansMsgResService.getWxFansMsgResList(ids); + return success(WxFansMsgResConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得回复粉丝消息历史表 分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") + public CommonResult> getWxFansMsgResPage(@Valid WxFansMsgResPageReqVO pageVO) { + PageResult pageResult = wxFansMsgResService.getWxFansMsgResPage(pageVO); + return success(WxFansMsgResConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出回复粉丝消息历史表 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:export')") + @OperateLog(type = EXPORT) + public void exportWxFansMsgResExcel(@Valid WxFansMsgResExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxFansMsgResService.getWxFansMsgResList(exportReqVO); + // 导出 Excel + List datas = WxFansMsgResConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "回复粉丝消息历史表 .xls", "数据", WxFansMsgResExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java new file mode 100644 index 0000000..0f02b0b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 回复粉丝消息历史表 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxFansMsgResBaseVO { + + @ApiModelProperty(value = "粉丝消息ID") + private String fansMsgId; + + @ApiModelProperty(value = "回复内容") + private String resContent; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java new file mode 100644 index 0000000..8016f55 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 回复粉丝消息历史表 创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgResCreateReqVO extends WxFansMsgResBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java new file mode 100644 index 0000000..067e95b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 回复粉丝消息历史表 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxFansMsgResExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("粉丝消息ID") + private String fansMsgId; + + @ExcelProperty("回复内容") + private String resContent; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java new file mode 100644 index 0000000..741aa69 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 回复粉丝消息历史表 Excel 导出 Request VO", description = "参数和 WxFansMsgResPageReqVO 是一致的") +@Data +public class WxFansMsgResExportReqVO { + + @ApiModelProperty(value = "粉丝消息ID") + private String fansMsgId; + + @ApiModelProperty(value = "回复内容") + private String resContent; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java new file mode 100644 index 0000000..c888bc4 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 回复粉丝消息历史表 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgResPageReqVO extends PageParam { + + @ApiModelProperty(value = "粉丝消息ID") + private String fansMsgId; + + @ApiModelProperty(value = "回复内容") + private String resContent; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java new file mode 100644 index 0000000..3fc4b07 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 回复粉丝消息历史表 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgResRespVO extends WxFansMsgResBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java new file mode 100644 index 0000000..71ac11c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 回复粉丝消息历史表 更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxFansMsgResUpdateReqVO extends WxFansMsgResBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java new file mode 100644 index 0000000..556c011 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java @@ -0,0 +1,98 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.*; +import cn.iocoder.yudao.module.mp.convert.fanstag.WxFansTagConvert; +import cn.iocoder.yudao.module.mp.service.tag.FansTagService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.mp.bean.tag.WxUserTag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +/** + * @author fengdan + */ +@Api(tags = "管理后台 - 粉丝标签") +@RestController +@RequestMapping("/wechatMp/fans-tag") +@Validated +public class FansTagController { + + @Resource + private FansTagService fansTagService; + + @PostMapping("/create") + @ApiOperation("创建粉丝标签") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:create')") + public CommonResult createWxFansTag(@Valid @RequestBody FansTagCreateReqVO createReqVO) throws WxErrorException { + return success(fansTagService.createWxFansTag(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新粉丝标签") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:update')") + public CommonResult updateWxFansTag(@Valid @RequestBody FansTagUpdateReqVO updateReqVO) throws WxErrorException { + return success(fansTagService.updateWxFansTag(updateReqVO)); + } + + @DeleteMapping("/delete") + @ApiOperation("删除粉丝标签") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:delete')") + public CommonResult deleteWxFansTag(@RequestParam("id") Long id, + @RequestParam("appId") String appId) throws WxErrorException { + return success(fansTagService.deleteWxFansTag(id, appId)); + } + + @GetMapping("/list") + @ApiOperation("获取公众号已创建的标签") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") + public CommonResult> getWxFansTagList(@NotEmpty(message = "公众号appId不能为空") + @RequestParam("appId") String appId) throws WxErrorException { + List list = fansTagService.getWxFansTagList(appId); + return success(WxFansTagConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获取公众号已创建的标签") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") + public CommonResult> page() throws WxErrorException { + PageResult page = new PageResult<>(); + return success(WxFansTagConvert.INSTANCE.convertPage(page)); + } + + @GetMapping("/tagListUser") + @ApiOperation("获取标签下粉丝列表") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") + public CommonResult tagListUser(@Valid FansTagPageReqVO pageVO) { + return success(""); + } + + @GetMapping("/export-excel") + @ApiOperation("导出粉丝标签 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:export')") + @OperateLog(type = EXPORT) + public void exportWxFansTagExcel(@Valid FansTagExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = fansTagService.getWxFansTagList(exportReqVO); + // 导出 Excel + List datas = WxFansTagConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "粉丝标签.xls", "数据", FansTagExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java new file mode 100644 index 0000000..b1c4212 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 粉丝标签 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + * + * @author fengdan + */ +@Data +public class FansTagBaseVO { + + @NotBlank(message = "标签名不能为空") + @ApiModelProperty(value = "标签名,UTF8编码") + private String name; +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java new file mode 100644 index 0000000..837c554 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotBlank; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 粉丝标签创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FansTagCreateReqVO extends FansTagBaseVO { + @NotBlank(message = "公众号appId不能为空") + @ApiModelProperty("微信公众号appId") + private String appId; +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java new file mode 100644 index 0000000..b55c9dd --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 粉丝标签 Excel VO + * + * @author 芋道源码 + */ +@Data +public class FansTagExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("标签名称") + private String name; + + @ExcelProperty("粉丝数量") + private Integer count; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java new file mode 100644 index 0000000..fbe23b2 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 粉丝标签 Excel 导出 Request VO", description = "参数和 WxFansTagPageReqVO 是一致的") +@Data +public class FansTagExportReqVO { + + @ApiModelProperty(value = "标签名称") + private String name; + + @ApiModelProperty(value = "粉丝数量") + private Integer count; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java new file mode 100644 index 0000000..1592e2c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotEmpty; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 粉丝标签分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FansTagPageReqVO extends PageParam { + + @NotEmpty(message = "公众号appId不能为空") + @ApiModelProperty("微信公众号appId") + private String appId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java new file mode 100644 index 0000000..7fd9967 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 粉丝标签 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FansTagRespVO extends FansTagBaseVO { + + @ApiModelProperty(value = "标签id,由微信分配.") + private Long id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java new file mode 100644 index 0000000..d114c96 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +/** + * @author fengdan + */ +@ApiModel("管理后台 - 粉丝标签更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FansTagUpdateReqVO extends FansTagBaseVO { + + @ApiModelProperty(value = "标签id,由微信分配", required = true) + @NotNull(message = "主键不能为空") + private Long id; + + @NotBlank(message = "公众号appId不能为空") + @ApiModelProperty("微信公众号appId") + private String appId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java new file mode 100644 index 0000000..3a6b941 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; +import cn.iocoder.yudao.module.mp.convert.mediaupload.WxMediaUploadConvert; +import cn.iocoder.yudao.module.mp.service.mediaupload.WxMediaUploadService; + +@Api(tags = "管理后台 - 微信素材上传表 ") +@RestController +@RequestMapping("/wechatMp/wx-media-upload") +@Validated +public class WxMediaUploadController { + + @Resource + private WxMediaUploadService wxMediaUploadService; + + @PostMapping("/create") + @ApiOperation("创建微信素材上传表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:create')") + public CommonResult createWxMediaUpload(@Valid @RequestBody WxMediaUploadCreateReqVO createReqVO) { + return success(wxMediaUploadService.createWxMediaUpload(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新微信素材上传表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:update')") + public CommonResult updateWxMediaUpload(@Valid @RequestBody WxMediaUploadUpdateReqVO updateReqVO) { + wxMediaUploadService.updateWxMediaUpload(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除微信素材上传表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:delete')") + public CommonResult deleteWxMediaUpload(@RequestParam("id") Integer id) { + wxMediaUploadService.deleteWxMediaUpload(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得微信素材上传表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") + public CommonResult getWxMediaUpload(@RequestParam("id") Integer id) { + WxMediaUploadDO wxMediaUpload = wxMediaUploadService.getWxMediaUpload(id); + return success(WxMediaUploadConvert.INSTANCE.convert(wxMediaUpload)); + } + + @GetMapping("/list") + @ApiOperation("获得微信素材上传表 列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") + public CommonResult> getWxMediaUploadList(@RequestParam("ids") Collection ids) { + List list = wxMediaUploadService.getWxMediaUploadList(ids); + return success(WxMediaUploadConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得微信素材上传表 分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") + public CommonResult> getWxMediaUploadPage(@Valid WxMediaUploadPageReqVO pageVO) { + PageResult pageResult = wxMediaUploadService.getWxMediaUploadPage(pageVO); + return success(WxMediaUploadConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出微信素材上传表 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:export')") + @OperateLog(type = EXPORT) + public void exportWxMediaUploadExcel(@Valid WxMediaUploadExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxMediaUploadService.getWxMediaUploadList(exportReqVO); + // 导出 Excel + List datas = WxMediaUploadConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "微信素材上传表 .xls", "数据", WxMediaUploadExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java new file mode 100644 index 0000000..c00af4f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 微信素材上传表 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxMediaUploadBaseVO { + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "图片URL") + private String url; + + @ApiModelProperty(value = "素材ID") + private String mediaId; + + @ApiModelProperty(value = "缩略图素材ID") + private String thumbMediaId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java new file mode 100644 index 0000000..e26be6e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 微信素材上传表 创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMediaUploadCreateReqVO extends WxMediaUploadBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java new file mode 100644 index 0000000..26e4597 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 微信素材上传表 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxMediaUploadExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("类型") + private String type; + + @ExcelProperty("图片URL") + private String url; + + @ExcelProperty("素材ID") + private String mediaId; + + @ExcelProperty("缩略图素材ID") + private String thumbMediaId; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java new file mode 100644 index 0000000..a5d412e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 微信素材上传表 Excel 导出 Request VO", description = "参数和 WxMediaUploadPageReqVO 是一致的") +@Data +public class WxMediaUploadExportReqVO { + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "图片URL") + private String url; + + @ApiModelProperty(value = "素材ID") + private String mediaId; + + @ApiModelProperty(value = "缩略图素材ID") + private String thumbMediaId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java new file mode 100644 index 0000000..32a4c17 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 微信素材上传表 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMediaUploadPageReqVO extends PageParam { + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "图片URL") + private String url; + + @ApiModelProperty(value = "素材ID") + private String mediaId; + + @ApiModelProperty(value = "缩略图素材ID") + private String thumbMediaId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java new file mode 100644 index 0000000..e2e1730 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 微信素材上传表 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMediaUploadRespVO extends WxMediaUploadBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java new file mode 100644 index 0000000..a094a14 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 微信素材上传表 更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMediaUploadUpdateReqVO extends WxMediaUploadBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java new file mode 100644 index 0000000..d8472fb --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; +import cn.iocoder.yudao.module.mp.convert.menu.WxMenuConvert; +import cn.iocoder.yudao.module.mp.service.menu.WxMenuService; + +@Api(tags = "管理后台 - 微信菜单") +@RestController +@RequestMapping("/wechatMp/wx-menu") +@Validated +public class WxMenuController { + + @Resource + private WxMenuService wxMenuService; + + @PostMapping("/create") + @ApiOperation("创建微信菜单") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:create')") + public CommonResult createWxMenu(@Valid @RequestBody WxMenuCreateReqVO createReqVO) { + return success(wxMenuService.createWxMenu(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新微信菜单") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:update')") + public CommonResult updateWxMenu(@Valid @RequestBody WxMenuUpdateReqVO updateReqVO) { + wxMenuService.updateWxMenu(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除微信菜单") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:delete')") + public CommonResult deleteWxMenu(@RequestParam("id") Integer id) { + wxMenuService.deleteWxMenu(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得微信菜单") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") + public CommonResult getWxMenu(@RequestParam("id") Integer id) { + WxMenuDO wxMenu = wxMenuService.getWxMenu(id); + return success(WxMenuConvert.INSTANCE.convert(wxMenu)); + } + + @GetMapping("/list") + @ApiOperation("获得微信菜单列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") + public CommonResult> getWxMenuList(@RequestParam("ids") Collection ids) { + List list = wxMenuService.getWxMenuList(ids); + return success(WxMenuConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得微信菜单分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") + public CommonResult> getWxMenuPage(@Valid WxMenuPageReqVO pageVO) { + PageResult pageResult = wxMenuService.getWxMenuPage(pageVO); + return success(WxMenuConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出微信菜单 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:export')") + @OperateLog(type = EXPORT) + public void exportWxMenuExcel(@Valid WxMenuExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxMenuService.getWxMenuList(exportReqVO); + // 导出 Excel + List datas = WxMenuConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "微信菜单.xls", "数据", WxMenuExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java new file mode 100644 index 0000000..303d4a8 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 微信菜单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxMenuBaseVO { + + @ApiModelProperty(value = "父ID") + private String parentId; + + @ApiModelProperty(value = "菜单名称") + private String menuName; + + @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") + private String menuType; + + @ApiModelProperty(value = "菜单等级") + private String menuLevel; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "菜单URL") + private String menuUrl; + + @ApiModelProperty(value = "排序") + private String menuSort; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @ApiModelProperty(value = "小程序appid") + private String miniprogramAppid; + + @ApiModelProperty(value = "小程序页面路径") + private String miniprogramPagepath; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java new file mode 100644 index 0000000..1f5e527 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 微信菜单创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMenuCreateReqVO extends WxMenuBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java new file mode 100644 index 0000000..89302f2 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 微信菜单 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxMenuExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("父ID") + private String parentId; + + @ExcelProperty("菜单名称") + private String menuName; + + @ExcelProperty("菜单类型 1文本消息;2图文消息;3网址链接;4小程序") + private String menuType; + + @ExcelProperty("菜单等级") + private String menuLevel; + + @ExcelProperty("模板ID") + private String tplId; + + @ExcelProperty("菜单URL") + private String menuUrl; + + @ExcelProperty("排序") + private String menuSort; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("小程序appid") + private String miniprogramAppid; + + @ExcelProperty("小程序页面路径") + private String miniprogramPagepath; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java new file mode 100644 index 0000000..4faa533 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 微信菜单 Excel 导出 Request VO", description = "参数和 WxMenuPageReqVO 是一致的") +@Data +public class WxMenuExportReqVO { + + @ApiModelProperty(value = "父ID") + private String parentId; + + @ApiModelProperty(value = "菜单名称") + private String menuName; + + @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") + private String menuType; + + @ApiModelProperty(value = "菜单等级") + private String menuLevel; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "菜单URL") + private String menuUrl; + + @ApiModelProperty(value = "排序") + private String menuSort; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @ApiModelProperty(value = "小程序appid") + private String miniprogramAppid; + + @ApiModelProperty(value = "小程序页面路径") + private String miniprogramPagepath; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java new file mode 100644 index 0000000..5fe1cbe --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 微信菜单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMenuPageReqVO extends PageParam { + + @ApiModelProperty(value = "父ID") + private String parentId; + + @ApiModelProperty(value = "菜单名称") + private String menuName; + + @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") + private String menuType; + + @ApiModelProperty(value = "菜单等级") + private String menuLevel; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "菜单URL") + private String menuUrl; + + @ApiModelProperty(value = "排序") + private String menuSort; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @ApiModelProperty(value = "小程序appid") + private String miniprogramAppid; + + @ApiModelProperty(value = "小程序页面路径") + private String miniprogramPagepath; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java new file mode 100644 index 0000000..21ccf98 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 微信菜单 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMenuRespVO extends WxMenuBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java new file mode 100644 index 0000000..5603624 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 微信菜单更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxMenuUpdateReqVO extends WxMenuBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java new file mode 100644 index 0000000..652c56c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; +import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; +import cn.iocoder.yudao.module.mp.service.newsarticleitem.WxNewsArticleItemService; + +@Api(tags = "管理后台 - 图文消息文章列表表 ") +@RestController +@RequestMapping("/wechatMp/wx-news-article-item") +@Validated +public class WxNewsArticleItemController { + + @Resource + private WxNewsArticleItemService wxNewsArticleItemService; + + @PostMapping("/create") + @ApiOperation("创建图文消息文章列表表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:create')") + public CommonResult createWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemCreateReqVO createReqVO) { + return success(wxNewsArticleItemService.createWxNewsArticleItem(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新图文消息文章列表表 ") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:update')") + public CommonResult updateWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemUpdateReqVO updateReqVO) { + wxNewsArticleItemService.updateWxNewsArticleItem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除图文消息文章列表表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:delete')") + public CommonResult deleteWxNewsArticleItem(@RequestParam("id") Integer id) { + wxNewsArticleItemService.deleteWxNewsArticleItem(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得图文消息文章列表表 ") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") + public CommonResult getWxNewsArticleItem(@RequestParam("id") Integer id) { + WxNewsArticleItemDO wxNewsArticleItem = wxNewsArticleItemService.getWxNewsArticleItem(id); + return success(WxNewsArticleItemConvert.INSTANCE.convert(wxNewsArticleItem)); + } + + @GetMapping("/list") + @ApiOperation("获得图文消息文章列表表 列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") + public CommonResult> getWxNewsArticleItemList(@RequestParam("ids") Collection ids) { + List list = wxNewsArticleItemService.getWxNewsArticleItemList(ids); + return success(WxNewsArticleItemConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得图文消息文章列表表 分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") + public CommonResult> getWxNewsArticleItemPage(@Valid WxNewsArticleItemPageReqVO pageVO) { + PageResult pageResult = wxNewsArticleItemService.getWxNewsArticleItemPage(pageVO); + return success(WxNewsArticleItemConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出图文消息文章列表表 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:export')") + @OperateLog(type = EXPORT) + public void exportWxNewsArticleItemExcel(@Valid WxNewsArticleItemExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxNewsArticleItemService.getWxNewsArticleItemList(exportReqVO); + // 导出 Excel + List datas = WxNewsArticleItemConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "图文消息文章列表表 .xls", "数据", WxNewsArticleItemExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java new file mode 100644 index 0000000..78a5e96 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 图文消息文章列表表 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxNewsArticleItemBaseVO { + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "摘要") + private String digest; + + @ApiModelProperty(value = "作者") + private String author; + + @ApiModelProperty(value = "是否展示封面图片(0/1)") + private String showCoverPic; + + @ApiModelProperty(value = "上传微信,封面图片标识") + private String thumbMediaId; + + @ApiModelProperty(value = "内容") + private String content; + + @ApiModelProperty(value = "内容链接") + private String contentSourceUrl; + + @ApiModelProperty(value = "文章排序") + private Integer orderNo; + + @ApiModelProperty(value = "图片路径") + private String picPath; + + @ApiModelProperty(value = "是否可以留言") + private String needOpenComment; + + @ApiModelProperty(value = "是否仅粉丝可以留言") + private String onlyFansCanComment; + + @ApiModelProperty(value = "图文ID") + private String newsId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java new file mode 100644 index 0000000..8dba64c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 图文消息文章列表表 创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsArticleItemCreateReqVO extends WxNewsArticleItemBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java new file mode 100644 index 0000000..d1172e5 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 图文消息文章列表表 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxNewsArticleItemExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("标题") + private String title; + + @ExcelProperty("摘要") + private String digest; + + @ExcelProperty("作者") + private String author; + + @ExcelProperty("是否展示封面图片(0/1)") + private String showCoverPic; + + @ExcelProperty("上传微信,封面图片标识") + private String thumbMediaId; + + @ExcelProperty("内容") + private String content; + + @ExcelProperty("内容链接") + private String contentSourceUrl; + + @ExcelProperty("文章排序") + private Integer orderNo; + + @ExcelProperty("图片路径") + private String picPath; + + @ExcelProperty("是否可以留言") + private String needOpenComment; + + @ExcelProperty("是否仅粉丝可以留言") + private String onlyFansCanComment; + + @ExcelProperty("图文ID") + private String newsId; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java new file mode 100644 index 0000000..90571a7 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 图文消息文章列表表 Excel 导出 Request VO", description = "参数和 WxNewsArticleItemPageReqVO 是一致的") +@Data +public class WxNewsArticleItemExportReqVO { + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "摘要") + private String digest; + + @ApiModelProperty(value = "作者") + private String author; + + @ApiModelProperty(value = "是否展示封面图片(0/1)") + private String showCoverPic; + + @ApiModelProperty(value = "上传微信,封面图片标识") + private String thumbMediaId; + + @ApiModelProperty(value = "内容") + private String content; + + @ApiModelProperty(value = "内容链接") + private String contentSourceUrl; + + @ApiModelProperty(value = "文章排序") + private Integer orderNo; + + @ApiModelProperty(value = "图片路径") + private String picPath; + + @ApiModelProperty(value = "是否可以留言") + private String needOpenComment; + + @ApiModelProperty(value = "是否仅粉丝可以留言") + private String onlyFansCanComment; + + @ApiModelProperty(value = "图文ID") + private String newsId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java new file mode 100644 index 0000000..52b6af8 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 图文消息文章列表表 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsArticleItemPageReqVO extends PageParam { + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "摘要") + private String digest; + + @ApiModelProperty(value = "作者") + private String author; + + @ApiModelProperty(value = "是否展示封面图片(0/1)") + private String showCoverPic; + + @ApiModelProperty(value = "上传微信,封面图片标识") + private String thumbMediaId; + + @ApiModelProperty(value = "内容") + private String content; + + @ApiModelProperty(value = "内容链接") + private String contentSourceUrl; + + @ApiModelProperty(value = "文章排序") + private Integer orderNo; + + @ApiModelProperty(value = "图片路径") + private String picPath; + + @ApiModelProperty(value = "是否可以留言") + private String needOpenComment; + + @ApiModelProperty(value = "是否仅粉丝可以留言") + private String onlyFansCanComment; + + @ApiModelProperty(value = "图文ID") + private String newsId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java new file mode 100644 index 0000000..7ed2c33 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 图文消息文章列表表 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsArticleItemRespVO extends WxNewsArticleItemBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java new file mode 100644 index 0000000..72f2351 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 图文消息文章列表表 更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsArticleItemUpdateReqVO extends WxNewsArticleItemBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java new file mode 100644 index 0000000..c6c7220 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; +import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; +import cn.iocoder.yudao.module.mp.service.newstemplate.WxNewsTemplateService; + +@Api(tags = "管理后台 - 图文消息模板") +@RestController +@RequestMapping("/wechatMp/wx-news-template") +@Validated +public class WxNewsTemplateController { + + @Resource + private WxNewsTemplateService wxNewsTemplateService; + + @PostMapping("/create") + @ApiOperation("创建图文消息模板") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:create')") + public CommonResult createWxNewsTemplate(@Valid @RequestBody WxNewsTemplateCreateReqVO createReqVO) { + return success(wxNewsTemplateService.createWxNewsTemplate(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新图文消息模板") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:update')") + public CommonResult updateWxNewsTemplate(@Valid @RequestBody WxNewsTemplateUpdateReqVO updateReqVO) { + wxNewsTemplateService.updateWxNewsTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除图文消息模板") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:delete')") + public CommonResult deleteWxNewsTemplate(@RequestParam("id") Integer id) { + wxNewsTemplateService.deleteWxNewsTemplate(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得图文消息模板") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") + public CommonResult getWxNewsTemplate(@RequestParam("id") Integer id) { + WxNewsTemplateDO wxNewsTemplate = wxNewsTemplateService.getWxNewsTemplate(id); + return success(WxNewsTemplateConvert.INSTANCE.convert(wxNewsTemplate)); + } + + @GetMapping("/list") + @ApiOperation("获得图文消息模板列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") + public CommonResult> getWxNewsTemplateList(@RequestParam("ids") Collection ids) { + List list = wxNewsTemplateService.getWxNewsTemplateList(ids); + return success(WxNewsTemplateConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得图文消息模板分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") + public CommonResult> getWxNewsTemplatePage(@Valid WxNewsTemplatePageReqVO pageVO) { + PageResult pageResult = wxNewsTemplateService.getWxNewsTemplatePage(pageVO); + return success(WxNewsTemplateConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出图文消息模板 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:export')") + @OperateLog(type = EXPORT) + public void exportWxNewsTemplateExcel(@Valid WxNewsTemplateExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxNewsTemplateService.getWxNewsTemplateList(exportReqVO); + // 导出 Excel + List datas = WxNewsTemplateConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "图文消息模板.xls", "数据", WxNewsTemplateExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java new file mode 100644 index 0000000..387243e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 图文消息模板 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxNewsTemplateBaseVO { + + @ApiModelProperty(value = "模板名称") + private String tplName; + + @ApiModelProperty(value = "是否已上传微信") + private String isUpload; + + @ApiModelProperty(value = "素材ID") + private String mediaId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java new file mode 100644 index 0000000..0e4996b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 图文消息模板创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsTemplateCreateReqVO extends WxNewsTemplateBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java new file mode 100644 index 0000000..0d08232 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 图文消息模板 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxNewsTemplateExcelVO { + + @ExcelProperty("主键 主键ID") + private Integer id; + + @ExcelProperty("模板名称") + private String tplName; + + @ExcelProperty("是否已上传微信") + private String isUpload; + + @ExcelProperty("素材ID") + private String mediaId; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java new file mode 100644 index 0000000..12c30ab --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 图文消息模板 Excel 导出 Request VO", description = "参数和 WxNewsTemplatePageReqVO 是一致的") +@Data +public class WxNewsTemplateExportReqVO { + + @ApiModelProperty(value = "模板名称") + private String tplName; + + @ApiModelProperty(value = "是否已上传微信") + private String isUpload; + + @ApiModelProperty(value = "素材ID") + private String mediaId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java new file mode 100644 index 0000000..f0e85c0 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 图文消息模板分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsTemplatePageReqVO extends PageParam { + + @ApiModelProperty(value = "模板名称") + private String tplName; + + @ApiModelProperty(value = "是否已上传微信") + private String isUpload; + + @ApiModelProperty(value = "素材ID") + private String mediaId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java new file mode 100644 index 0000000..697ff64 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 图文消息模板 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsTemplateRespVO extends WxNewsTemplateBaseVO { + + @ApiModelProperty(value = "主键 主键ID", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java new file mode 100644 index 0000000..e8ae49a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 图文消息模板更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxNewsTemplateUpdateReqVO extends WxNewsTemplateBaseVO { + + @ApiModelProperty(value = "主键 主键ID", required = true) + @NotNull(message = "主键 主键ID不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java new file mode 100644 index 0000000..a1a0aa5 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; +import cn.iocoder.yudao.module.mp.convert.receivetext.WxReceiveTextConvert; +import cn.iocoder.yudao.module.mp.service.receivetext.WxReceiveTextService; + +@Api(tags = "管理后台 - 回复关键字") +@RestController +@RequestMapping("/wechatMp/wx-receive-text") +@Validated +public class WxReceiveTextController { + + @Resource + private WxReceiveTextService wxReceiveTextService; + + @PostMapping("/create") + @ApiOperation("创建回复关键字") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:create')") + public CommonResult createWxReceiveText(@Valid @RequestBody WxReceiveTextCreateReqVO createReqVO) { + return success(wxReceiveTextService.createWxReceiveText(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新回复关键字") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:update')") + public CommonResult updateWxReceiveText(@Valid @RequestBody WxReceiveTextUpdateReqVO updateReqVO) { + wxReceiveTextService.updateWxReceiveText(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除回复关键字") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:delete')") + public CommonResult deleteWxReceiveText(@RequestParam("id") Integer id) { + wxReceiveTextService.deleteWxReceiveText(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得回复关键字") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") + public CommonResult getWxReceiveText(@RequestParam("id") Integer id) { + WxReceiveTextDO wxReceiveText = wxReceiveTextService.getWxReceiveText(id); + return success(WxReceiveTextConvert.INSTANCE.convert(wxReceiveText)); + } + + @GetMapping("/list") + @ApiOperation("获得回复关键字列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") + public CommonResult> getWxReceiveTextList(@RequestParam("ids") Collection ids) { + List list = wxReceiveTextService.getWxReceiveTextList(ids); + return success(WxReceiveTextConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得回复关键字分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") + public CommonResult> getWxReceiveTextPage(@Valid WxReceiveTextPageReqVO pageVO) { + PageResult pageResult = wxReceiveTextService.getWxReceiveTextPage(pageVO); + return success(WxReceiveTextConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出回复关键字 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:export')") + @OperateLog(type = EXPORT) + public void exportWxReceiveTextExcel(@Valid WxReceiveTextExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxReceiveTextService.getWxReceiveTextList(exportReqVO); + // 导出 Excel + List datas = WxReceiveTextConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "回复关键字.xls", "数据", WxReceiveTextExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java new file mode 100644 index 0000000..0eaf597 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 回复关键字 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxReceiveTextBaseVO { + + @ApiModelProperty(value = "关键字") + private String receiveText; + + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") + private String msgType; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java new file mode 100644 index 0000000..ca654b3 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 回复关键字创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxReceiveTextCreateReqVO extends WxReceiveTextBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java new file mode 100644 index 0000000..407029a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 回复关键字 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxReceiveTextExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("关键字") + private String receiveText; + + @ExcelProperty("消息类型 1文本消息;2图文消息;") + private String msgType; + + @ExcelProperty("模板ID") + private String tplId; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java new file mode 100644 index 0000000..b511b0a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 回复关键字 Excel 导出 Request VO", description = "参数和 WxReceiveTextPageReqVO 是一致的") +@Data +public class WxReceiveTextExportReqVO { + + @ApiModelProperty(value = "关键字") + private String receiveText; + + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") + private String msgType; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java new file mode 100644 index 0000000..373a8cd --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 回复关键字分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxReceiveTextPageReqVO extends PageParam { + + @ApiModelProperty(value = "关键字") + private String receiveText; + + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") + private String msgType; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java new file mode 100644 index 0000000..12c3605 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 回复关键字 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxReceiveTextRespVO extends WxReceiveTextBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java new file mode 100644 index 0000000..6abc535 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 回复关键字更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxReceiveTextUpdateReqVO extends WxReceiveTextBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java new file mode 100644 index 0000000..a98913d --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; +import cn.iocoder.yudao.module.mp.convert.subscribetext.WxSubscribeTextConvert; +import cn.iocoder.yudao.module.mp.service.subscribetext.WxSubscribeTextService; + +@Api(tags = "管理后台 - 关注欢迎语") +@RestController +@RequestMapping("/wechatMp/wx-subscribe-text") +@Validated +public class WxSubscribeTextController { + + @Resource + private WxSubscribeTextService wxSubscribeTextService; + + @PostMapping("/create") + @ApiOperation("创建关注欢迎语") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:create')") + public CommonResult createWxSubscribeText(@Valid @RequestBody WxSubscribeTextCreateReqVO createReqVO) { + return success(wxSubscribeTextService.createWxSubscribeText(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新关注欢迎语") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:update')") + public CommonResult updateWxSubscribeText(@Valid @RequestBody WxSubscribeTextUpdateReqVO updateReqVO) { + wxSubscribeTextService.updateWxSubscribeText(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除关注欢迎语") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:delete')") + public CommonResult deleteWxSubscribeText(@RequestParam("id") Integer id) { + wxSubscribeTextService.deleteWxSubscribeText(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得关注欢迎语") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") + public CommonResult getWxSubscribeText(@RequestParam("id") Integer id) { + WxSubscribeTextDO wxSubscribeText = wxSubscribeTextService.getWxSubscribeText(id); + return success(WxSubscribeTextConvert.INSTANCE.convert(wxSubscribeText)); + } + + @GetMapping("/list") + @ApiOperation("获得关注欢迎语列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") + public CommonResult> getWxSubscribeTextList(@RequestParam("ids") Collection ids) { + List list = wxSubscribeTextService.getWxSubscribeTextList(ids); + return success(WxSubscribeTextConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得关注欢迎语分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") + public CommonResult> getWxSubscribeTextPage(@Valid WxSubscribeTextPageReqVO pageVO) { + PageResult pageResult = wxSubscribeTextService.getWxSubscribeTextPage(pageVO); + return success(WxSubscribeTextConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出关注欢迎语 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:export')") + @OperateLog(type = EXPORT) + public void exportWxSubscribeTextExcel(@Valid WxSubscribeTextExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxSubscribeTextService.getWxSubscribeTextList(exportReqVO); + // 导出 Excel + List datas = WxSubscribeTextConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "关注欢迎语.xls", "数据", WxSubscribeTextExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java new file mode 100644 index 0000000..de1b51e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 关注欢迎语 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxSubscribeTextBaseVO { + + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") + private String msgType; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java new file mode 100644 index 0000000..7ade450 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 关注欢迎语创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxSubscribeTextCreateReqVO extends WxSubscribeTextBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java new file mode 100644 index 0000000..e4772a0 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 关注欢迎语 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxSubscribeTextExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("消息类型 1文本消息;2图文消息;") + private String msgType; + + @ExcelProperty("模板ID") + private String tplId; + + @ExcelProperty("微信账号ID") + private String wxAccountId; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java new file mode 100644 index 0000000..fee0e58 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 关注欢迎语 Excel 导出 Request VO", description = "参数和 WxSubscribeTextPageReqVO 是一致的") +@Data +public class WxSubscribeTextExportReqVO { + + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") + private String msgType; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java new file mode 100644 index 0000000..22a2adb --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 关注欢迎语分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxSubscribeTextPageReqVO extends PageParam { + + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") + private String msgType; + + @ApiModelProperty(value = "模板ID") + private String tplId; + + @ApiModelProperty(value = "微信账号ID") + private String wxAccountId; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java new file mode 100644 index 0000000..f9d61ea --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 关注欢迎语 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxSubscribeTextRespVO extends WxSubscribeTextBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java new file mode 100644 index 0000000..b314c5c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 关注欢迎语更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxSubscribeTextUpdateReqVO extends WxSubscribeTextBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java new file mode 100644 index 0000000..c6428a0 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate; + +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; + +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; +import cn.iocoder.yudao.module.mp.convert.texttemplate.WxTextTemplateConvert; +import cn.iocoder.yudao.module.mp.service.texttemplate.WxTextTemplateService; + +@Api(tags = "管理后台 - 文本模板") +@RestController +@RequestMapping("/wechatMp/wx-text-template") +@Validated +public class WxTextTemplateController { + + @Resource + private WxTextTemplateService wxTextTemplateService; + + @PostMapping("/create") + @ApiOperation("创建文本模板") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:create')") + public CommonResult createWxTextTemplate(@Valid @RequestBody WxTextTemplateCreateReqVO createReqVO) { + return success(wxTextTemplateService.createWxTextTemplate(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新文本模板") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:update')") + public CommonResult updateWxTextTemplate(@Valid @RequestBody WxTextTemplateUpdateReqVO updateReqVO) { + wxTextTemplateService.updateWxTextTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除文本模板") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:delete')") + public CommonResult deleteWxTextTemplate(@RequestParam("id") Integer id) { + wxTextTemplateService.deleteWxTextTemplate(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得文本模板") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:query')") + public CommonResult getWxTextTemplate(@RequestParam("id") Integer id) { + WxTextTemplateDO wxTextTemplate = wxTextTemplateService.getWxTextTemplate(id); + return success(WxTextTemplateConvert.INSTANCE.convert(wxTextTemplate)); + } + + @GetMapping("/list") + @ApiOperation("获得文本模板列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:query')") + public CommonResult> getWxTextTemplateList(@RequestParam("ids") Collection ids) { + List list = wxTextTemplateService.getWxTextTemplateList(ids); + return success(WxTextTemplateConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得文本模板分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:query')") + public CommonResult> getWxTextTemplatePage(@Valid WxTextTemplatePageReqVO pageVO) { + PageResult pageResult = wxTextTemplateService.getWxTextTemplatePage(pageVO); + return success(WxTextTemplateConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出文本模板 Excel") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:export')") + @OperateLog(type = EXPORT) + public void exportWxTextTemplateExcel(@Valid WxTextTemplateExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = wxTextTemplateService.getWxTextTemplateList(exportReqVO); + // 导出 Excel + List datas = WxTextTemplateConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "文本模板.xls", "数据", WxTextTemplateExcelVO.class, datas); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java new file mode 100644 index 0000000..38b9cd9 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; +import io.swagger.annotations.*; + +/** + * 文本模板 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WxTextTemplateBaseVO { + + @ApiModelProperty(value = "模板名字") + private String tplName; + + @ApiModelProperty(value = "模板内容") + private String content; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java new file mode 100644 index 0000000..1ec6c02 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 文本模板创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxTextTemplateCreateReqVO extends WxTextTemplateBaseVO { + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java new file mode 100644 index 0000000..4d03890 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; + +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 文本模板 Excel VO + * + * @author 芋道源码 + */ +@Data +public class WxTextTemplateExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("模板名字") + private String tplName; + + @ExcelProperty("模板内容") + private String content; + + @ExcelProperty("创建时间") + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java new file mode 100644 index 0000000..0bc6467 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 文本模板 Excel 导出 Request VO", description = "参数和 WxTextTemplatePageReqVO 是一致的") +@Data +public class WxTextTemplateExportReqVO { + + @ApiModelProperty(value = "模板名字") + private String tplName; + + @ApiModelProperty(value = "模板内容") + private String content; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java new file mode 100644 index 0000000..0bcbaf4 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 文本模板分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxTextTemplatePageReqVO extends PageParam { + + @ApiModelProperty(value = "模板名字") + private String tplName; + + @ApiModelProperty(value = "模板内容") + private String content; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java new file mode 100644 index 0000000..b12c5a2 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; + +import java.util.*; + +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 文本模板 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxTextTemplateRespVO extends WxTextTemplateBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间", required = true) + private Date createTime; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java new file mode 100644 index 0000000..0de0a2c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; + +import lombok.*; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 文本模板更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WxTextTemplateUpdateReqVO extends WxTextTemplateBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java new file mode 100644 index 0000000..4646722 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.convert.account; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExcelVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountRespVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountUpdateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 公众号账户 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxAccountConvert { + + WxAccountConvert INSTANCE = Mappers.getMapper(WxAccountConvert.class); + + WxAccountDO convert(WxAccountCreateReqVO bean); + + WxAccountDO convert(WxAccountUpdateReqVO bean); + + WxAccountRespVO convert(WxAccountDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java new file mode 100644 index 0000000..190cc9c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.convert.accountfans; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExcelVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansRespVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 微信公众号粉丝 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxAccountFansConvert { + + WxAccountFansConvert INSTANCE = Mappers.getMapper(WxAccountFansConvert.class); + + WxAccountFansDO convert(WxAccountFansCreateReqVO bean); + + WxAccountFansDO convert(WxAccountFansUpdateReqVO bean); + + WxAccountFansRespVO convert(WxAccountFansDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java new file mode 100644 index 0000000..ea7723c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.accountfanstag; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; + +/** + * 粉丝标签关联 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxAccountFansTagConvert { + + WxAccountFansTagConvert INSTANCE = Mappers.getMapper(WxAccountFansTagConvert.class); + + WxAccountFansTagDO convert(WxAccountFansTagCreateReqVO bean); + + WxAccountFansTagDO convert(WxAccountFansTagUpdateReqVO bean); + + WxAccountFansTagRespVO convert(WxAccountFansTagDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java new file mode 100644 index 0000000..8848bf9 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.fansmsg; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; + +/** + * 粉丝消息表 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxFansMsgConvert { + + WxFansMsgConvert INSTANCE = Mappers.getMapper(WxFansMsgConvert.class); + + WxFansMsgDO convert(WxFansMsgCreateReqVO bean); + + WxFansMsgDO convert(WxFansMsgUpdateReqVO bean); + + WxFansMsgRespVO convert(WxFansMsgDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java new file mode 100644 index 0000000..fab15bf --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.fansmsgres; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; + +/** + * 回复粉丝消息历史表 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxFansMsgResConvert { + + WxFansMsgResConvert INSTANCE = Mappers.getMapper(WxFansMsgResConvert.class); + + WxFansMsgResDO convert(WxFansMsgResCreateReqVO bean); + + WxFansMsgResDO convert(WxFansMsgResUpdateReqVO bean); + + WxFansMsgResRespVO convert(WxFansMsgResDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java new file mode 100644 index 0000000..968d62b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.fanstag; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import me.chanjar.weixin.mp.bean.tag.WxUserTag; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.*; + +/** + * 粉丝标签 Convert + * + * @author fengdan + */ +@Mapper +public interface WxFansTagConvert { + + WxFansTagConvert INSTANCE = Mappers.getMapper(WxFansTagConvert.class); + + WxUserTag convert(FansTagCreateReqVO bean); + + WxUserTag convert(FansTagUpdateReqVO bean); + + FansTagRespVO convert(WxUserTag bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java new file mode 100644 index 0000000..ba2855d --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.mediaupload; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; + +/** + * 微信素材上传表 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxMediaUploadConvert { + + WxMediaUploadConvert INSTANCE = Mappers.getMapper(WxMediaUploadConvert.class); + + WxMediaUploadDO convert(WxMediaUploadCreateReqVO bean); + + WxMediaUploadDO convert(WxMediaUploadUpdateReqVO bean); + + WxMediaUploadRespVO convert(WxMediaUploadDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java new file mode 100644 index 0000000..38d0c51 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.menu; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; + +/** + * 微信菜单 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxMenuConvert { + + WxMenuConvert INSTANCE = Mappers.getMapper(WxMenuConvert.class); + + WxMenuDO convert(WxMenuCreateReqVO bean); + + WxMenuDO convert(WxMenuUpdateReqVO bean); + + WxMenuRespVO convert(WxMenuDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java new file mode 100644 index 0000000..b20717d --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.newsarticleitem; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; + +/** + * 图文消息文章列表表 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxNewsArticleItemConvert { + + WxNewsArticleItemConvert INSTANCE = Mappers.getMapper(WxNewsArticleItemConvert.class); + + WxNewsArticleItemDO convert(WxNewsArticleItemCreateReqVO bean); + + WxNewsArticleItemDO convert(WxNewsArticleItemUpdateReqVO bean); + + WxNewsArticleItemRespVO convert(WxNewsArticleItemDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java new file mode 100644 index 0000000..e6cf754 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.newstemplate; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; + +/** + * 图文消息模板 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxNewsTemplateConvert { + + WxNewsTemplateConvert INSTANCE = Mappers.getMapper(WxNewsTemplateConvert.class); + + WxNewsTemplateDO convert(WxNewsTemplateCreateReqVO bean); + + WxNewsTemplateDO convert(WxNewsTemplateUpdateReqVO bean); + + WxNewsTemplateRespVO convert(WxNewsTemplateDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java new file mode 100644 index 0000000..24b9dc5 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.receivetext; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; + +/** + * 回复关键字 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxReceiveTextConvert { + + WxReceiveTextConvert INSTANCE = Mappers.getMapper(WxReceiveTextConvert.class); + + WxReceiveTextDO convert(WxReceiveTextCreateReqVO bean); + + WxReceiveTextDO convert(WxReceiveTextUpdateReqVO bean); + + WxReceiveTextRespVO convert(WxReceiveTextDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java new file mode 100644 index 0000000..15df4a8 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.subscribetext; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; + +/** + * 关注欢迎语 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxSubscribeTextConvert { + + WxSubscribeTextConvert INSTANCE = Mappers.getMapper(WxSubscribeTextConvert.class); + + WxSubscribeTextDO convert(WxSubscribeTextCreateReqVO bean); + + WxSubscribeTextDO convert(WxSubscribeTextUpdateReqVO bean); + + WxSubscribeTextRespVO convert(WxSubscribeTextDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java new file mode 100644 index 0000000..6c71f80 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.convert.texttemplate; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; + +/** + * 文本模板 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface WxTextTemplateConvert { + + WxTextTemplateConvert INSTANCE = Mappers.getMapper(WxTextTemplateConvert.class); + + WxTextTemplateDO convert(WxTextTemplateCreateReqVO bean); + + WxTextTemplateDO convert(WxTextTemplateUpdateReqVO bean); + + WxTextTemplateRespVO convert(WxTextTemplateDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java new file mode 100644 index 0000000..2507c46 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.account; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; +import lombok.*; +import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; +import me.chanjar.weixin.mp.config.WxMpConfigStorage; +import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; + +// TODO 亚洲:这个模块的相关类,使用 Mp 作为前缀哈 +/** + * 公众号账户 DO + * + * @author 芋道源码 + */ +@TableName("wx_account") +@KeySequence("wx_account_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxAccountDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 公众号名称 + */ + private String name; + /** + * 公众号账户 + */ + private String account; + /** + * 公众号 appid + */ + private String appId; + /** + * 公众号密钥 + */ + private String appSecret; + /** + * 公众号url + */ + private String url; + /** + * 公众号token + */ + private String token; + /** + * 加密密钥 + */ + private String aesKey; + /** + * 二维码图片 URL + */ + private String qrCodeUrl; + /** + * 备注 + */ + private String remark; + + public WxMpConfigStorage toWxMpConfigStorage(RedisTemplateWxRedisOps redisTemplateWxRedisOps, WxMpProperties wxMpProperties) { + WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisTemplateWxRedisOps, wxMpProperties.getConfigStorage().getKeyPrefix()); + wxMpRedisConfig.setAppId(appId); + wxMpRedisConfig.setSecret(appSecret); + wxMpRedisConfig.setToken(token); + wxMpRedisConfig.setAesKey(aesKey); + return wxMpRedisConfig; + } +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java new file mode 100644 index 0000000..3485137 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java @@ -0,0 +1,92 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.accountfans; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.util.Date; + +/** + * 微信公众号粉丝 DO + * + * @author 芋道源码 + */ +// TODO @亚洲:WxUserDO +@TableName("wx_account_fans") +@KeySequence("wx_account_fans_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxAccountFansDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 用户标识 + */ + private String openid; + /** + * 订阅状态,0未关注,1已关注 + */ + // TODO @亚洲:Integer 然后写个枚举哈 + private String subscribeStatus; + /** + * 订阅时间 + */ + // TODO @亚洲:增加一个取消关注的事件 + private Date subscribeTime; + /** + * 昵称 + */ + // TODO @亚洲:String + private byte[] nickname; + /** + * 性别,1男,2女,0未知 + */ + // TODO @亚洲:Integer + private String gender; + /** + * 语言 + */ + private String language; + /** + * 国家 + */ + private String country; + /** + * 省份 + */ + private String province; + /** + * 城市 + */ + private String city; + /** + * 头像地址 + */ + // TODO @亚洲:headImageUrl + private String headimgUrl; + /** + * 备注 + */ + private String remark; + + // TODO @亚洲:是不是只要存储 WxAccountDO 的 id 呀? + /** + * 微信公众号 ID + */ + private String wxAccountId; + /** + * 微信公众号 appid + */ + private String wxAccountAppid; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java new file mode 100644 index 0000000..71e253a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 粉丝标签关联 DO + * + * @author 芋道源码 + */ +@TableName("wx_account_fans_tag") +@KeySequence("wx_account_fans_tag_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxAccountFansTagDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 用户标识 + */ + private String openid; + /** + * 标签ID + */ + private String tagId; + /** + * 微信账号ID + */ + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java new file mode 100644 index 0000000..2427a4f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java @@ -0,0 +1,75 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 粉丝消息表 DO + * + * @author 芋道源码 + */ +@TableName("wx_fans_msg") +@KeySequence("wx_fans_msg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxFansMsgDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 用户标识 + */ + private String openid; + /** + * 昵称 + */ + private byte[] nickname; + /** + * 头像地址 + */ + private String headimgUrl; + /** + * 微信账号ID + */ + private String wxAccountId; + /** + * 消息类型 + */ + private String msgType; + /** + * 内容 + */ + private String content; + /** + * 最近一条回复内容 + */ + private String resContent; + /** + * 是否已回复 + */ + private String isRes; + /** + * 微信素材ID + */ + private String mediaId; + /** + * 微信图片URL + */ + private String picUrl; + /** + * 本地图片路径 + */ + private String picPath; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java new file mode 100644 index 0000000..2a5ffc4 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 回复粉丝消息历史表 DO + * + * @author 芋道源码 + */ +@TableName("wx_fans_msg_res") +@KeySequence("wx_fans_msg_res_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxFansMsgResDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 粉丝消息ID + */ + private String fansMsgId; + /** + * 回复内容 + */ + private String resContent; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java new file mode 100644 index 0000000..41e8be3 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 微信素材上传表 DO + * + * @author 芋道源码 + */ +@TableName("wx_media_upload") +@KeySequence("wx_media_upload_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxMediaUploadDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 类型 + */ + private String type; + /** + * 图片URL + */ + private String url; + /** + * 素材ID + */ + private String mediaId; + /** + * 缩略图素材ID + */ + private String thumbMediaId; + /** + * 微信账号ID + */ + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java new file mode 100644 index 0000000..d5b0b9c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.menu; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 微信菜单 DO + * + * @author 芋道源码 + */ +@TableName("wx_menu") +@KeySequence("wx_menu_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxMenuDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 父ID + */ + private String parentId; + /** + * 菜单名称 + */ + private String menuName; + /** + * 菜单类型 1文本消息;2图文消息;3网址链接;4小程序 + */ + private String menuType; + /** + * 菜单等级 + */ + private String menuLevel; + /** + * 模板ID + */ + private String tplId; + /** + * 菜单URL + */ + private String menuUrl; + /** + * 排序 + */ + private String menuSort; + /** + * 微信账号ID + */ + private String wxAccountId; + /** + * 小程序appid + */ + private String miniprogramAppid; + /** + * 小程序页面路径 + */ + private String miniprogramPagepath; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java new file mode 100644 index 0000000..7cb9b6a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 图文消息文章列表表 DO + * + * @author 芋道源码 + */ +@TableName("wx_news_article_item") +@KeySequence("wx_news_article_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxNewsArticleItemDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 标题 + */ + private String title; + /** + * 摘要 + */ + private String digest; + /** + * 作者 + */ + private String author; + /** + * 是否展示封面图片(0/1) + */ + private String showCoverPic; + /** + * 上传微信,封面图片标识 + */ + private String thumbMediaId; + /** + * 内容 + */ + private String content; + /** + * 内容链接 + */ + private String contentSourceUrl; + /** + * 文章排序 + */ + private Integer orderNo; + /** + * 图片路径 + */ + private String picPath; + /** + * 是否可以留言 + */ + private String needOpenComment; + /** + * 是否仅粉丝可以留言 + */ + private String onlyFansCanComment; + /** + * 图文ID + */ + private String newsId; + /** + * 微信账号ID + */ + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java new file mode 100644 index 0000000..524bb19 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 图文消息模板 DO + * + * @author 芋道源码 + */ +@TableName("wx_news_template") +@KeySequence("wx_news_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxNewsTemplateDO extends BaseDO { + + /** + * 主键 主键ID + */ + @TableId + private Integer id; + /** + * 模板名称 + */ + private String tplName; + /** + * 是否已上传微信 + */ + private String isUpload; + /** + * 素材ID + */ + private String mediaId; + /** + * 微信账号ID + */ + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java new file mode 100644 index 0000000..49fd629 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.receivetext; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 回复关键字 DO + * + * @author 芋道源码 + */ +@TableName("wx_receive_text") +@KeySequence("wx_receive_text_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxReceiveTextDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 关键字 + */ + private String receiveText; + /** + * 消息类型 1文本消息;2图文消息; + */ + private String msgType; + /** + * 模板ID + */ + private String tplId; + /** + * 微信账号ID + */ + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java new file mode 100644 index 0000000..7fcec0a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 关注欢迎语 DO + * + * @author 芋道源码 + */ +@TableName("wx_subscribe_text") +@KeySequence("wx_subscribe_text_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxSubscribeTextDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 消息类型 1文本消息;2图文消息; + */ + private String msgType; + /** + * 模板ID + */ + private String tplId; + /** + * 微信账号ID + */ + private String wxAccountId; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java new file mode 100644 index 0000000..afa46f9 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate; + +import lombok.*; + +import java.util.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 文本模板 DO + * + * @author 芋道源码 + */ +@TableName("wx_text_template") +@KeySequence("wx_text_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxTextTemplateDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 模板名字 + */ + private String tplName; + /** + * 模板内容 + */ + private String content; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java new file mode 100644 index 0000000..ada54e8 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.account; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountPageReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 公众号账户 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxAccountMapper extends BaseMapperX { + + default PageResult selectPage(WxAccountPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(WxAccountDO::getName, reqVO.getName()) + .eqIfPresent(WxAccountDO::getAccount, reqVO.getAccount()) + .eqIfPresent(WxAccountDO::getAppId, reqVO.getAppId()) + .betweenIfPresent(WxAccountDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxAccountDO::getId)); + } + + default List selectList(WxAccountExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(WxAccountDO::getName, reqVO.getName()) + .eqIfPresent(WxAccountDO::getAccount, reqVO.getAccount()) + .eqIfPresent(WxAccountDO::getAppId, reqVO.getAppId()) + .betweenIfPresent(WxAccountDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxAccountDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java new file mode 100644 index 0000000..dc0cd78 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.accountfans; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 微信公众号粉丝 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxAccountFansMapper extends BaseMapperX { + + default PageResult selectPage(WxAccountFansPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxAccountFansDO::getOpenid, reqVO.getOpenid()) + .eqIfPresent(WxAccountFansDO::getSubscribeStatus, reqVO.getSubscribeStatus()) + .betweenIfPresent(WxAccountFansDO::getSubscribeTime, reqVO.getBeginSubscribeTime(), reqVO.getEndSubscribeTime()) + .likeIfPresent(WxAccountFansDO::getNickname, reqVO.getNickname()) + .eqIfPresent(WxAccountFansDO::getGender, reqVO.getGender()) + .eqIfPresent(WxAccountFansDO::getLanguage, reqVO.getLanguage()) + .eqIfPresent(WxAccountFansDO::getCountry, reqVO.getCountry()) + .eqIfPresent(WxAccountFansDO::getProvince, reqVO.getProvince()) + .eqIfPresent(WxAccountFansDO::getCity, reqVO.getCity()) + .eqIfPresent(WxAccountFansDO::getHeadimgUrl, reqVO.getHeadimgUrl()) + .eqIfPresent(WxAccountFansDO::getRemark, reqVO.getRemark()) + .eqIfPresent(WxAccountFansDO::getWxAccountId, reqVO.getWxAccountId()) + .eqIfPresent(WxAccountFansDO::getWxAccountAppid, reqVO.getWxAccountAppid()) + .betweenIfPresent(WxAccountFansDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxAccountFansDO::getId)); + } + + default List selectList(WxAccountFansExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxAccountFansDO::getOpenid, reqVO.getOpenid()) + .eqIfPresent(WxAccountFansDO::getSubscribeStatus, reqVO.getSubscribeStatus()) + .betweenIfPresent(WxAccountFansDO::getSubscribeTime, reqVO.getBeginSubscribeTime(), reqVO.getEndSubscribeTime()) + .likeIfPresent(WxAccountFansDO::getNickname, reqVO.getNickname()) + .eqIfPresent(WxAccountFansDO::getGender, reqVO.getGender()) + .eqIfPresent(WxAccountFansDO::getLanguage, reqVO.getLanguage()) + .eqIfPresent(WxAccountFansDO::getCountry, reqVO.getCountry()) + .eqIfPresent(WxAccountFansDO::getProvince, reqVO.getProvince()) + .eqIfPresent(WxAccountFansDO::getCity, reqVO.getCity()) + .eqIfPresent(WxAccountFansDO::getHeadimgUrl, reqVO.getHeadimgUrl()) + .eqIfPresent(WxAccountFansDO::getRemark, reqVO.getRemark()) + .eqIfPresent(WxAccountFansDO::getWxAccountId, reqVO.getWxAccountId()) + .eqIfPresent(WxAccountFansDO::getWxAccountAppid, reqVO.getWxAccountAppid()) + .betweenIfPresent(WxAccountFansDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxAccountFansDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java new file mode 100644 index 0000000..8df37b1 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.accountfanstag; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; + +/** + * 粉丝标签关联 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxAccountFansTagMapper extends BaseMapperX { + + default PageResult selectPage(WxAccountFansTagPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxAccountFansTagDO::getOpenid, reqVO.getOpenid()) + .eqIfPresent(WxAccountFansTagDO::getTagId, reqVO.getTagId()) + .eqIfPresent(WxAccountFansTagDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxAccountFansTagDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxAccountFansTagDO::getId)); + } + + default List selectList(WxAccountFansTagExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxAccountFansTagDO::getOpenid, reqVO.getOpenid()) + .eqIfPresent(WxAccountFansTagDO::getTagId, reqVO.getTagId()) + .eqIfPresent(WxAccountFansTagDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxAccountFansTagDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxAccountFansTagDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java new file mode 100644 index 0000000..7e5db27 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.fansmsg; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; + +/** + * 粉丝消息表 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxFansMsgMapper extends BaseMapperX { + + default PageResult selectPage(WxFansMsgPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxFansMsgDO::getOpenid, reqVO.getOpenid()) + .likeIfPresent(WxFansMsgDO::getNickname, reqVO.getNickname()) + .eqIfPresent(WxFansMsgDO::getHeadimgUrl, reqVO.getHeadimgUrl()) + .eqIfPresent(WxFansMsgDO::getWxAccountId, reqVO.getWxAccountId()) + .eqIfPresent(WxFansMsgDO::getMsgType, reqVO.getMsgType()) + .eqIfPresent(WxFansMsgDO::getContent, reqVO.getContent()) + .eqIfPresent(WxFansMsgDO::getResContent, reqVO.getResContent()) + .eqIfPresent(WxFansMsgDO::getIsRes, reqVO.getIsRes()) + .eqIfPresent(WxFansMsgDO::getMediaId, reqVO.getMediaId()) + .eqIfPresent(WxFansMsgDO::getPicUrl, reqVO.getPicUrl()) + .eqIfPresent(WxFansMsgDO::getPicPath, reqVO.getPicPath()) + .betweenIfPresent(WxFansMsgDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxFansMsgDO::getId)); + } + + default List selectList(WxFansMsgExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxFansMsgDO::getOpenid, reqVO.getOpenid()) + .likeIfPresent(WxFansMsgDO::getNickname, reqVO.getNickname()) + .eqIfPresent(WxFansMsgDO::getHeadimgUrl, reqVO.getHeadimgUrl()) + .eqIfPresent(WxFansMsgDO::getWxAccountId, reqVO.getWxAccountId()) + .eqIfPresent(WxFansMsgDO::getMsgType, reqVO.getMsgType()) + .eqIfPresent(WxFansMsgDO::getContent, reqVO.getContent()) + .eqIfPresent(WxFansMsgDO::getResContent, reqVO.getResContent()) + .eqIfPresent(WxFansMsgDO::getIsRes, reqVO.getIsRes()) + .eqIfPresent(WxFansMsgDO::getMediaId, reqVO.getMediaId()) + .eqIfPresent(WxFansMsgDO::getPicUrl, reqVO.getPicUrl()) + .eqIfPresent(WxFansMsgDO::getPicPath, reqVO.getPicPath()) + .betweenIfPresent(WxFansMsgDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxFansMsgDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java new file mode 100644 index 0000000..86423a1 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.fansmsgres; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; + +/** + * 回复粉丝消息历史表 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxFansMsgResMapper extends BaseMapperX { + + default PageResult selectPage(WxFansMsgResPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxFansMsgResDO::getFansMsgId, reqVO.getFansMsgId()) + .eqIfPresent(WxFansMsgResDO::getResContent, reqVO.getResContent()) + .betweenIfPresent(WxFansMsgResDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxFansMsgResDO::getId)); + } + + default List selectList(WxFansMsgResExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxFansMsgResDO::getFansMsgId, reqVO.getFansMsgId()) + .eqIfPresent(WxFansMsgResDO::getResContent, reqVO.getResContent()) + .betweenIfPresent(WxFansMsgResDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxFansMsgResDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java new file mode 100644 index 0000000..64d6db6 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.mediaupload; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; + +/** + * 微信素材上传表 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxMediaUploadMapper extends BaseMapperX { + + default PageResult selectPage(WxMediaUploadPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxMediaUploadDO::getType, reqVO.getType()) + .eqIfPresent(WxMediaUploadDO::getUrl, reqVO.getUrl()) + .eqIfPresent(WxMediaUploadDO::getMediaId, reqVO.getMediaId()) + .eqIfPresent(WxMediaUploadDO::getThumbMediaId, reqVO.getThumbMediaId()) + .eqIfPresent(WxMediaUploadDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxMediaUploadDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxMediaUploadDO::getId)); + } + + default List selectList(WxMediaUploadExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxMediaUploadDO::getType, reqVO.getType()) + .eqIfPresent(WxMediaUploadDO::getUrl, reqVO.getUrl()) + .eqIfPresent(WxMediaUploadDO::getMediaId, reqVO.getMediaId()) + .eqIfPresent(WxMediaUploadDO::getThumbMediaId, reqVO.getThumbMediaId()) + .eqIfPresent(WxMediaUploadDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxMediaUploadDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxMediaUploadDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java new file mode 100644 index 0000000..2966bac --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.menu; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; + +/** + * 微信菜单 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxMenuMapper extends BaseMapperX { + + default PageResult selectPage(WxMenuPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxMenuDO::getParentId, reqVO.getParentId()) + .likeIfPresent(WxMenuDO::getMenuName, reqVO.getMenuName()) + .eqIfPresent(WxMenuDO::getMenuType, reqVO.getMenuType()) + .eqIfPresent(WxMenuDO::getMenuLevel, reqVO.getMenuLevel()) + .eqIfPresent(WxMenuDO::getTplId, reqVO.getTplId()) + .eqIfPresent(WxMenuDO::getMenuUrl, reqVO.getMenuUrl()) + .eqIfPresent(WxMenuDO::getMenuSort, reqVO.getMenuSort()) + .eqIfPresent(WxMenuDO::getWxAccountId, reqVO.getWxAccountId()) + .eqIfPresent(WxMenuDO::getMiniprogramAppid, reqVO.getMiniprogramAppid()) + .eqIfPresent(WxMenuDO::getMiniprogramPagepath, reqVO.getMiniprogramPagepath()) + .betweenIfPresent(WxMenuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxMenuDO::getId)); + } + + default List selectList(WxMenuExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxMenuDO::getParentId, reqVO.getParentId()) + .likeIfPresent(WxMenuDO::getMenuName, reqVO.getMenuName()) + .eqIfPresent(WxMenuDO::getMenuType, reqVO.getMenuType()) + .eqIfPresent(WxMenuDO::getMenuLevel, reqVO.getMenuLevel()) + .eqIfPresent(WxMenuDO::getTplId, reqVO.getTplId()) + .eqIfPresent(WxMenuDO::getMenuUrl, reqVO.getMenuUrl()) + .eqIfPresent(WxMenuDO::getMenuSort, reqVO.getMenuSort()) + .eqIfPresent(WxMenuDO::getWxAccountId, reqVO.getWxAccountId()) + .eqIfPresent(WxMenuDO::getMiniprogramAppid, reqVO.getMiniprogramAppid()) + .eqIfPresent(WxMenuDO::getMiniprogramPagepath, reqVO.getMiniprogramPagepath()) + .betweenIfPresent(WxMenuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxMenuDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java new file mode 100644 index 0000000..2b07209 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java @@ -0,0 +1,58 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.newsarticleitem; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; + +/** + * 图文消息文章列表表 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxNewsArticleItemMapper extends BaseMapperX { + + default PageResult selectPage(WxNewsArticleItemPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxNewsArticleItemDO::getTitle, reqVO.getTitle()) + .eqIfPresent(WxNewsArticleItemDO::getDigest, reqVO.getDigest()) + .eqIfPresent(WxNewsArticleItemDO::getAuthor, reqVO.getAuthor()) + .eqIfPresent(WxNewsArticleItemDO::getShowCoverPic, reqVO.getShowCoverPic()) + .eqIfPresent(WxNewsArticleItemDO::getThumbMediaId, reqVO.getThumbMediaId()) + .eqIfPresent(WxNewsArticleItemDO::getContent, reqVO.getContent()) + .eqIfPresent(WxNewsArticleItemDO::getContentSourceUrl, reqVO.getContentSourceUrl()) + .eqIfPresent(WxNewsArticleItemDO::getOrderNo, reqVO.getOrderNo()) + .eqIfPresent(WxNewsArticleItemDO::getPicPath, reqVO.getPicPath()) + .eqIfPresent(WxNewsArticleItemDO::getNeedOpenComment, reqVO.getNeedOpenComment()) + .eqIfPresent(WxNewsArticleItemDO::getOnlyFansCanComment, reqVO.getOnlyFansCanComment()) + .eqIfPresent(WxNewsArticleItemDO::getNewsId, reqVO.getNewsId()) + .eqIfPresent(WxNewsArticleItemDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxNewsArticleItemDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxNewsArticleItemDO::getId)); + } + + default List selectList(WxNewsArticleItemExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxNewsArticleItemDO::getTitle, reqVO.getTitle()) + .eqIfPresent(WxNewsArticleItemDO::getDigest, reqVO.getDigest()) + .eqIfPresent(WxNewsArticleItemDO::getAuthor, reqVO.getAuthor()) + .eqIfPresent(WxNewsArticleItemDO::getShowCoverPic, reqVO.getShowCoverPic()) + .eqIfPresent(WxNewsArticleItemDO::getThumbMediaId, reqVO.getThumbMediaId()) + .eqIfPresent(WxNewsArticleItemDO::getContent, reqVO.getContent()) + .eqIfPresent(WxNewsArticleItemDO::getContentSourceUrl, reqVO.getContentSourceUrl()) + .eqIfPresent(WxNewsArticleItemDO::getOrderNo, reqVO.getOrderNo()) + .eqIfPresent(WxNewsArticleItemDO::getPicPath, reqVO.getPicPath()) + .eqIfPresent(WxNewsArticleItemDO::getNeedOpenComment, reqVO.getNeedOpenComment()) + .eqIfPresent(WxNewsArticleItemDO::getOnlyFansCanComment, reqVO.getOnlyFansCanComment()) + .eqIfPresent(WxNewsArticleItemDO::getNewsId, reqVO.getNewsId()) + .eqIfPresent(WxNewsArticleItemDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxNewsArticleItemDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxNewsArticleItemDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java new file mode 100644 index 0000000..f5c03b8 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.newstemplate; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; + +/** + * 图文消息模板 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxNewsTemplateMapper extends BaseMapperX { + + default PageResult selectPage(WxNewsTemplatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(WxNewsTemplateDO::getTplName, reqVO.getTplName()) + .eqIfPresent(WxNewsTemplateDO::getIsUpload, reqVO.getIsUpload()) + .eqIfPresent(WxNewsTemplateDO::getMediaId, reqVO.getMediaId()) + .eqIfPresent(WxNewsTemplateDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxNewsTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxNewsTemplateDO::getId)); + } + + default List selectList(WxNewsTemplateExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(WxNewsTemplateDO::getTplName, reqVO.getTplName()) + .eqIfPresent(WxNewsTemplateDO::getIsUpload, reqVO.getIsUpload()) + .eqIfPresent(WxNewsTemplateDO::getMediaId, reqVO.getMediaId()) + .eqIfPresent(WxNewsTemplateDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxNewsTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxNewsTemplateDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java new file mode 100644 index 0000000..3cf1f74 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.receivetext; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; + +/** + * 回复关键字 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxReceiveTextMapper extends BaseMapperX { + + default PageResult selectPage(WxReceiveTextPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxReceiveTextDO::getReceiveText, reqVO.getReceiveText()) + .eqIfPresent(WxReceiveTextDO::getMsgType, reqVO.getMsgType()) + .eqIfPresent(WxReceiveTextDO::getTplId, reqVO.getTplId()) + .eqIfPresent(WxReceiveTextDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxReceiveTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxReceiveTextDO::getId)); + } + + default List selectList(WxReceiveTextExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxReceiveTextDO::getReceiveText, reqVO.getReceiveText()) + .eqIfPresent(WxReceiveTextDO::getMsgType, reqVO.getMsgType()) + .eqIfPresent(WxReceiveTextDO::getTplId, reqVO.getTplId()) + .eqIfPresent(WxReceiveTextDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxReceiveTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxReceiveTextDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java new file mode 100644 index 0000000..fff0c24 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.subscribetext; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; + +/** + * 关注欢迎语 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxSubscribeTextMapper extends BaseMapperX { + + default PageResult selectPage(WxSubscribeTextPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WxSubscribeTextDO::getMsgType, reqVO.getMsgType()) + .eqIfPresent(WxSubscribeTextDO::getTplId, reqVO.getTplId()) + .eqIfPresent(WxSubscribeTextDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxSubscribeTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxSubscribeTextDO::getId)); + } + + default List selectList(WxSubscribeTextExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(WxSubscribeTextDO::getMsgType, reqVO.getMsgType()) + .eqIfPresent(WxSubscribeTextDO::getTplId, reqVO.getTplId()) + .eqIfPresent(WxSubscribeTextDO::getWxAccountId, reqVO.getWxAccountId()) + .betweenIfPresent(WxSubscribeTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxSubscribeTextDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java new file mode 100644 index 0000000..14c3eb3 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.texttemplate; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; + +/** + * 文本模板 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WxTextTemplateMapper extends BaseMapperX { + + default PageResult selectPage(WxTextTemplatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(WxTextTemplateDO::getTplName, reqVO.getTplName()) + .eqIfPresent(WxTextTemplateDO::getContent, reqVO.getContent()) + .betweenIfPresent(WxTextTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxTextTemplateDO::getId)); + } + + default List selectList(WxTextTemplateExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(WxTextTemplateDO::getTplName, reqVO.getTplName()) + .eqIfPresent(WxTextTemplateDO::getContent, reqVO.getContent()) + .betweenIfPresent(WxTextTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(WxTextTemplateDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java new file mode 100644 index 0000000..f4ed18f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java @@ -0,0 +1,6 @@ +/** + * @date 2022/6/20 + * @author feng-dan + * @version 1.0 + */ +package cn.iocoder.yudao.module.mp.framework; \ No newline at end of file diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java new file mode 100644 index 0000000..3fc8d37 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.mp.framework.weixin; + + +import cn.iocoder.yudao.module.mp.handler.*; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.api.WxConsts; +import me.chanjar.weixin.mp.api.WxMpMessageRouter; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.constant.WxMpEventConstants; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * @author fengdan + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class WxMpMessageRouterConfiguration { + + @Resource + private WxMpService wxMpService; + @Resource + private LogHandler logHandler; + @Resource + private KfSessionHandler kfSessionHandler; + @Resource + private StoreCheckNotifyHandler storeCheckNotifyHandler; + @Resource + private MenuHandler menuHandler; + @Resource + private NullHandler nullHandler; + @Resource + private SubscribeHandler subscribeHandler; + @Resource + private UnsubscribeHandler unsubscribeHandler; + @Resource + private LocationHandler locationHandler; + @Resource + private ScanHandler scanHandler; + @Resource + private MsgHandler msgHandler; + + @Bean + public WxMpMessageRouter messageRouter() { + final WxMpMessageRouter newRouter = new WxMpMessageRouter(wxMpService); + // 记录所有事件的日志 (异步执行) + newRouter.rule().handler(logHandler).next(); + + // 接收客服会话管理事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxMpEventConstants.CustomerService.KF_CREATE_SESSION) + .handler(kfSessionHandler).end(); + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxMpEventConstants.CustomerService.KF_CLOSE_SESSION) + .handler(kfSessionHandler) + .end(); + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxMpEventConstants.CustomerService.KF_SWITCH_SESSION) + .handler(kfSessionHandler).end(); + + // 门店审核事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxMpEventConstants.POI_CHECK_NOTIFY) + .handler(storeCheckNotifyHandler).end(); + + // 自定义菜单事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxConsts.MenuButtonType.CLICK).handler(menuHandler).end(); + + // 点击菜单连接事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxConsts.MenuButtonType.VIEW).handler(nullHandler).end(); + + // 关注事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxConsts.EventType.SUBSCRIBE).handler(subscribeHandler) + .end(); + + // 取消关注事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxConsts.EventType.UNSUBSCRIBE) + .handler(unsubscribeHandler).end(); + + // 上报地理位置事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxConsts.EventType.LOCATION).handler(locationHandler) + .end(); + + // 接收地理位置消息 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.LOCATION) + .handler(locationHandler).end(); + + // 扫码事件 + newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) + .event(WxConsts.EventType.SCAN).handler(scanHandler).end(); + + // 默认 + newRouter.rule().async(false).handler(msgHandler).end(); + + return newRouter; + } +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java new file mode 100644 index 0000000..47150d4 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.mp.handler; + +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public class KfSessionHandler implements WxMpMessageHandler { + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService wxMpService, + WxSessionManager sessionManager) { + //TODO 对会话做处理 + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java new file mode 100644 index 0000000..af5a22b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.mp.handler; + +import cn.iocoder.yudao.module.mp.builder.TextBuilder; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +import static me.chanjar.weixin.common.api.WxConsts.XmlMsgType; + +@Component +@Slf4j +public class LocationHandler implements WxMpMessageHandler { + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService wxMpService, + WxSessionManager sessionManager) { + if (wxMessage.getMsgType().equals(XmlMsgType.LOCATION)) { + //TODO 接收处理用户发送的地理位置消息 + try { + String content = "感谢反馈,您的的地理位置已收到!"; + return new TextBuilder().build(content, wxMessage, null); + } catch (Exception e) { + log.error("位置消息接收处理失败", e); + return null; + } + } + + //上报地理位置事件 + log.info("上报地理位置,纬度 : {},经度 : {},精度 : {}", + wxMessage.getLatitude(), wxMessage.getLongitude(), String.valueOf(wxMessage.getPrecision())); + + //TODO 可以将用户地理位置信息保存到本地数据库,以便以后使用 + + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java new file mode 100644 index 0000000..58ae131 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.mp.handler; + +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +@Slf4j +public class LogHandler implements WxMpMessageHandler { + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService wxMpService, + WxSessionManager sessionManager) { + log.info("接收到请求消息,内容:{}", JsonUtils.toJsonString(wxMessage)); + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java new file mode 100644 index 0000000..2eacfb0 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.mp.handler; + +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +import static me.chanjar.weixin.common.api.WxConsts.MenuButtonType; + +@Component +public class MenuHandler implements WxMpMessageHandler { + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService weixinService, + WxSessionManager sessionManager) { + + String msg = wxMessage.getEventKey(); + if (MenuButtonType.VIEW.equals(wxMessage.getEvent())) { + return null; + } + + return WxMpXmlOutMessage.TEXT().content(msg) + .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) + .build(); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java new file mode 100644 index 0000000..c7a73b5 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java @@ -0,0 +1,172 @@ +package cn.iocoder.yudao.module.mp.handler; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.http.HtmlUtil; +import cn.hutool.http.HttpUtil; +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; +import cn.iocoder.yudao.module.infra.api.file.FileApi; +import cn.iocoder.yudao.module.mp.builder.TextBuilder; +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.WxFansMsgCreateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.service.account.WxAccountService; +import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.api.WxConsts; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import me.chanjar.weixin.mp.bean.result.WxMpUser; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.File; +import java.io.UnsupportedEncodingException; +import java.util.Map; + +@Component +@Slf4j +public class MsgHandler implements WxMpMessageHandler { + @Autowired + private WxAccountService wxAccountService; + + @Autowired + private WxFansMsgService wxFansMsgService; + + @Resource + private FileApi fileApi; + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService weixinService, + WxSessionManager sessionManager) { + log.info("收到信息内容:{}", JsonUtils.toJsonString(wxMessage)); + log.info("关键字:{}", wxMessage.getContent()); + + if (!wxMessage.getMsgType().equals(WxConsts.XmlMsgType.EVENT)) { + //可以选择将消息保存到本地 + + // 获取微信用户基本信息 + try { + WxMpUser wxmpUser = weixinService.getUserService() + .userInfo(wxMessage.getFromUser(), null); + if (wxmpUser != null) { + WxAccountDO wxAccount = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); + if (wxAccount != null) { + + if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.TEXT)) { + WxFansMsgCreateReqVO wxFansMsg = new WxFansMsgCreateReqVO(); + wxFansMsg.setOpenid(wxmpUser.getOpenId()); + try { + wxFansMsg.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + wxFansMsg.setHeadimgUrl(wxmpUser.getHeadImgUrl()); + wxFansMsg.setWxAccountId(String.valueOf(wxAccount.getId())); + wxFansMsg.setMsgType(wxMessage.getMsgType()); + wxFansMsg.setContent(wxMessage.getContent()); + wxFansMsg.setIsRes("1"); + + //组装回复消息 + String content = processContent(wxMessage); + content = HtmlUtil.escape(content); + wxFansMsg.setResContent(content); + + wxFansMsgService.createWxFansMsg(wxFansMsg); + return new TextBuilder().build(content, wxMessage, weixinService); + + } + if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.IMAGE)) { + WxFansMsgCreateReqVO wxFansMsg = new WxFansMsgCreateReqVO(); + wxFansMsg.setOpenid(wxmpUser.getOpenId()); + try { + wxFansMsg.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + wxFansMsg.setHeadimgUrl(wxmpUser.getHeadImgUrl()); + wxFansMsg.setWxAccountId(String.valueOf(wxAccount.getId())); + wxFansMsg.setMsgType(wxMessage.getMsgType()); + wxFansMsg.setMediaId(wxMessage.getMediaId()); + wxFansMsg.setPicUrl(wxMessage.getPicUrl()); + String downloadDirStr = fileApi.createFile(HttpUtil.downloadBytes(wxMessage.getPicUrl())); + File downloadDir = new File(downloadDirStr); + if (!downloadDir.exists()) { + downloadDir.mkdirs(); + } + String filepath = downloadDirStr + System.currentTimeMillis() + ".png"; + //微信pic url下载到本地,防止失效 + long size = HttpUtil.downloadFile(wxMessage.getPicUrl(), FileUtil.file(filepath)); + log.info("download pic size : {}", size); + wxFansMsg.setPicPath(filepath); + wxFansMsg.setIsRes("0"); + wxFansMsgService.createWxFansMsg(wxFansMsg); + } + + } + } + } catch (WxErrorException e) { + if (e.getError().getErrorCode() == 48001) { + log.info("该公众号没有获取用户信息权限!"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + + //当用户输入关键词如“你好”,“客服”等,并且有客服在线时,把消息转发给在线客服 + try { + if (StringUtils.startsWithAny(wxMessage.getContent(), "你好", "客服") + && weixinService.getKefuService().kfOnlineList() + .getKfOnlineList().size() > 0) { + return WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE() + .fromUser(wxMessage.getToUser()) + .toUser(wxMessage.getFromUser()).build(); + } + } catch (WxErrorException e) { + e.printStackTrace(); + } + + //组装默认回复消息 + return new TextBuilder().build("测试", wxMessage, weixinService); + } + + + //处理回复信息,优先级,关键字、智能机器人、默认值 + String processContent(WxMpXmlMessage wxMessage) { + String content = ""; + /* content = processReceiveTextContent(wxMessage); + if(StringUtils.isNotBlank( content )){ + return content; + } + + content = defaultResponseContent;*/ + return content; + } + + //处理关键字 + String processReceiveTextContent(WxMpXmlMessage wxMessage) { + String content = ""; + /* WxAccountDO wxAccount = wxAccountService.findBy( WxAccountDO::getAccount,wxMessage.getToUser()); + if(wxAccount != null){ + WxReceiveText wxReceiveTextTpl = new WxReceiveText(); + wxReceiveTextTpl.setWxAccountId( String.valueOf( wxAccount.getId() ) ); + wxReceiveTextTpl.setReceiveText( wxMessage.getContent() ); + List wxReceiveTextList = wxReceiveTextService.findListByReceiveTest( wxReceiveTextTpl ); + if(wxReceiveTextList != null && wxReceiveTextList.size() > 0){ + WxReceiveText wxReceiveText = wxReceiveTextList.get( 0 ); + WxTextTemplate wxTextTemplate = wxTextTemplateService.findById( Integer.parseInt( wxReceiveText.getTplId() ) ); + content = wxTextTemplate.getContent(); + } + }*/ + return content; + } + + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java new file mode 100644 index 0000000..abc9076 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.handler; + +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public class NullHandler implements WxMpMessageHandler { + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService wxMpService, + WxSessionManager sessionManager) { + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java new file mode 100644 index 0000000..20d0c0e --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.handler; + +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public class ScanHandler implements WxMpMessageHandler { + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMpXmlMessage, Map map, + WxMpService wxMpService, WxSessionManager wxSessionManager) throws WxErrorException { + // 扫码事件处理 + return null; + } +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java new file mode 100644 index 0000000..52715c5 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.mp.handler; + +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * 门店审核事件处理 + * + */ +@Component +public class StoreCheckNotifyHandler implements WxMpMessageHandler { + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService wxMpService, + WxSessionManager sessionManager) { + // TODO 处理门店审核事件 + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java new file mode 100644 index 0000000..a25372d --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java @@ -0,0 +1,159 @@ +package cn.iocoder.yudao.module.mp.handler; + +import cn.hutool.core.date.DateUtil; +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; +import cn.iocoder.yudao.module.mp.builder.TextBuilder; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; +import cn.iocoder.yudao.module.mp.service.account.WxAccountService; +import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; +import cn.iocoder.yudao.module.mp.service.accountfanstag.WxAccountFansTagService; +import cn.iocoder.yudao.module.mp.service.subscribetext.WxSubscribeTextService; +import cn.iocoder.yudao.module.mp.service.texttemplate.WxTextTemplateService; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import me.chanjar.weixin.mp.bean.result.WxMpUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.UnsupportedEncodingException; +import java.util.Map; + +@Component +@Slf4j +public class SubscribeHandler implements WxMpMessageHandler { + + @Autowired + private WxTextTemplateService wxTextTemplateService; + + @Autowired + private WxAccountService wxAccountService; + + @Autowired + private WxSubscribeTextService wxSubscribeTextService; + + @Autowired + private WxAccountFansService wxAccountFansService; + + @Autowired + private WxAccountFansTagService wxAccountFansTagService; + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService weixinService, + WxSessionManager sessionManager) throws WxErrorException { + + log.info("新关注用户 OPENID: " + wxMessage.getFromUser()); + + // 获取微信用户基本信息 + try { + WxMpUser wxmpUser = weixinService.getUserService() + .userInfo(wxMessage.getFromUser(), null); + if (wxmpUser != null) { + // 可以添加关注用户到本地数据库 + WxAccountDO wxAccount = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); + if (wxAccount != null) { + WxAccountFansDO wxAccountFans = wxAccountFansService.findBy(WxAccountFansDO::getOpenid, wxmpUser.getOpenId()); + if (wxAccountFans == null) {//insert + WxAccountFansCreateReqVO wxAccountFansCreateReqVO = new WxAccountFansCreateReqVO(); + wxAccountFansCreateReqVO.setOpenid(wxmpUser.getOpenId()); + wxAccountFansCreateReqVO.setSubscribeStatus(wxmpUser.getSubscribe() ? "1" : "0"); + wxAccountFansCreateReqVO.setSubscribeTime(DateUtil.date(wxmpUser.getSubscribeTime() * 1000L)); + try { + wxAccountFansCreateReqVO.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + wxAccountFansCreateReqVO.setLanguage(wxmpUser.getLanguage()); + wxAccountFansCreateReqVO.setHeadimgUrl(wxmpUser.getHeadImgUrl()); + wxAccountFansCreateReqVO.setRemark(wxmpUser.getRemark()); + wxAccountFansCreateReqVO.setWxAccountId(String.valueOf(wxAccount.getId())); + wxAccountFansCreateReqVO.setWxAccountAppid(wxAccount.getAppId()); + wxAccountFansService.createWxAccountFans(wxAccountFansCreateReqVO); + + //process tags + wxAccountFansTagService.processFansTags(wxAccount, wxmpUser); + + } else {//update + WxAccountFansUpdateReqVO wxAccountFansUpdateReqVO = new WxAccountFansUpdateReqVO(); + wxAccountFansUpdateReqVO.setId(wxAccountFans.getId()); + wxAccountFansUpdateReqVO.setOpenid(wxmpUser.getOpenId()); + wxAccountFansUpdateReqVO.setSubscribeStatus(wxmpUser.getSubscribe() ? "1" : "0"); + wxAccountFansUpdateReqVO.setSubscribeTime(DateUtil.date(wxmpUser.getSubscribeTime() * 1000L)); + try { + wxAccountFans.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + wxAccountFansUpdateReqVO.setLanguage(wxmpUser.getLanguage()); + wxAccountFansUpdateReqVO.setHeadimgUrl(wxmpUser.getHeadImgUrl()); + wxAccountFansUpdateReqVO.setRemark(wxmpUser.getRemark()); + wxAccountFansUpdateReqVO.setWxAccountId(String.valueOf(wxAccount.getId())); + wxAccountFansUpdateReqVO.setWxAccountAppid(wxAccount.getAppId()); + wxAccountFansService.updateWxAccountFans(wxAccountFansUpdateReqVO); + + //process tags + wxAccountFansTagService.processFansTags(wxAccount, wxmpUser); + + } + } + + } + } catch (WxErrorException e) { + if (e.getError().getErrorCode() == 48001) { + log.info("该公众号没有获取用户信息权限!"); + } + } + + + WxMpXmlOutMessage responseResult = null; + try { + responseResult = this.handleSpecial(wxMessage); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + if (responseResult != null) { + return responseResult; + } + + try { + String content = "感谢关注!";//默认 + WxAccountDO wxAccount = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); + if (wxAccount != null) { + WxSubscribeTextDO wxSubscribeText = wxSubscribeTextService.findBy(WxSubscribeTextDO::getWxAccountId, String.valueOf(wxAccount.getId())); + if (wxSubscribeText != null) { + WxTextTemplateDO wxTextTemplate = wxTextTemplateService.getWxTextTemplate(Integer.parseInt(wxSubscribeText.getTplId())); + if (wxTextTemplate != null) { + content = wxTextTemplate.getContent(); + } + } + } + log.info("wxMessage : {}", JsonUtils.toJsonString(wxMessage)); + return new TextBuilder().build(content, wxMessage, weixinService); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + return null; + } + + /** + * 处理特殊请求,比如如果是扫码进来的,可以做相应处理 + */ + private WxMpXmlOutMessage handleSpecial(WxMpXmlMessage wxMessage) + throws Exception { + //TODO + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java new file mode 100644 index 0000000..825834f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.mp.handler; + +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import cn.iocoder.yudao.module.mp.service.account.WxAccountService; +import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.session.WxSessionManager; +import me.chanjar.weixin.mp.api.WxMpMessageHandler; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +@Slf4j +public class UnsubscribeHandler implements WxMpMessageHandler { + + @Autowired + private WxAccountService wxAccountService; + + @Autowired + private WxAccountFansService wxAccountFansService; + + @Override + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, + Map context, WxMpService wxMpService, + WxSessionManager sessionManager) { + String openId = wxMessage.getFromUser(); + log.info("取消关注用户 OPENID: " + openId); + // TODO 可以更新本地数据库为取消关注状态 + + WxAccountDO wxAccountDO = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); + if (wxAccountDO != null) { + WxAccountFansDO wxAccountFansDO = wxAccountFansService.findBy(WxAccountFansDO::getOpenid, openId); + if (wxAccountFansDO != null) { + WxAccountFansUpdateReqVO wxAccountFansUpdateReqVO = new WxAccountFansUpdateReqVO(); + wxAccountFansUpdateReqVO.setId(wxAccountDO.getId()); + wxAccountFansDO.setSubscribeStatus("0");//取消订阅 + wxAccountFansService.updateWxAccountFans(wxAccountFansUpdateReqVO); + } + } + + + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java new file mode 100644 index 0000000..2f0863b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.mp.mq.costomer; + +import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener; +import cn.iocoder.yudao.module.mp.mq.message.WxConfigDataRefreshMessage; +import cn.iocoder.yudao.module.mp.service.account.WxAccountService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 针对 {@link WxConfigDataRefreshMessage} 的消费者 + * + * @author lyz + */ +@Component +@Slf4j +public class WxConfigDataRefreshConsumer extends AbstractChannelMessageListener { + + @Resource + private WxAccountService wxAccountService; + + @Override + public void onMessage(WxConfigDataRefreshMessage message) { + log.info("[onMessage][收到 WxConfigData 刷新消息]"); + wxAccountService.initLoadWxMpConfigStorages(); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java new file mode 100644 index 0000000..4838260 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.mp.mq.message; + +import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 微信配置数据刷新 Message + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WxConfigDataRefreshMessage extends AbstractChannelMessage { + + @Override + public String getChannel() { + return "wechat-mp.wx-config-data.refresh"; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java new file mode 100644 index 0000000..d765b9a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.mp.mq.producer; + +import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate; +import cn.iocoder.yudao.module.mp.mq.message.WxConfigDataRefreshMessage; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 微信配置数据相关消息的 Producer + */ +@Component +public class WxMpConfigDataProducer { + + @Resource + private RedisMQTemplate redisMQTemplate; + + /** + * 发送 {@link WxConfigDataRefreshMessage} 消息 + */ + public void sendDictDataRefreshMessage() { + WxConfigDataRefreshMessage message = new WxConfigDataRefreshMessage(); + redisMQTemplate.send(message); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java new file mode 100644 index 0000000..5987180 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java @@ -0,0 +1,8 @@ +/** + * mp 模块,我们放微信微信公众号。 + * 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能 + * + * 1. Controller URL:以 /mp/ 开头,避免和其它 Module 冲突 + * 2. DataObject 表名:以 mp_ 开头,方便在数据库中区分 + */ +package cn.iocoder.yudao.module.mp; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java new file mode 100644 index 0000000..79650c2 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java @@ -0,0 +1,89 @@ +package cn.iocoder.yudao.module.mp.service.account; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountPageReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountUpdateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; + +/** + * 公众号账户 Service 接口 + * + * @author 芋道源码 + */ +public interface WxAccountService { + + /** + * 创建公众号账户 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createWxAccount(@Valid WxAccountCreateReqVO createReqVO); + + /** + * 更新公众号账户 + * + * @param updateReqVO 更新信息 + */ + void updateWxAccount(@Valid WxAccountUpdateReqVO updateReqVO); + + /** + * 删除公众号账户 + * + * @param id 编号 + */ + void deleteWxAccount(Long id); + + /** + * 获得公众号账户 + * + * @param id 编号 + * @return 公众号账户 + */ + WxAccountDO getWxAccount(Long id); + + /** + * 获得公众号账户列表 + * + * @param ids 编号 + * @return 公众号账户列表 + */ + List getWxAccountList(Collection ids); + + /** + * 获得公众号账户分页 + * + * @param pageReqVO 分页查询 + * @return 公众号账户分页 + */ + PageResult getWxAccountPage(WxAccountPageReqVO pageReqVO); + + /** + * 获得公众号账户列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 公众号账户列表 + */ + List getWxAccountList(WxAccountExportReqVO exportReqVO); + + /** + * 查询账户 + * + * @param field + * @param val + * @return + */ + WxAccountDO findBy(SFunction field, Object val); + + /** + * 初始化 + */ + void initLoadWxMpConfigStorages(); +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java new file mode 100644 index 0000000..6b550bb --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java @@ -0,0 +1,159 @@ +package cn.iocoder.yudao.module.mp.service.account; + +import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountPageReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountUpdateReqVO; +import cn.iocoder.yudao.module.mp.convert.account.WxAccountConvert; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.dal.mysql.account.WxAccountMapper; +import cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants; +import cn.iocoder.yudao.module.mp.mq.producer.WxMpConfigDataProducer; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.config.WxMpConfigStorage; +import org.springframework.context.annotation.Lazy; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * 公众号账户 Service 实现类 + * + * @author fengdan + */ +@Slf4j +@Service +@Validated +public class WxAccountServiceImpl implements WxAccountService { + + private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L; + @Resource + private WxAccountMapper wxAccountMapper; + @Resource + private WxMpConfigDataProducer wxMpConfigDataProducer; + @Resource + private StringRedisTemplate stringRedisTemplate; + @Resource + private WxMpService wxMpService; + @Resource + private WxMpProperties wxMpProperties; + @Resource + @Lazy // 注入自己,所以延迟加载 + private WxAccountService self; + + @Override + public Long createWxAccount(WxAccountCreateReqVO createReqVO) { + // 插入 + WxAccountDO wxAccount = WxAccountConvert.INSTANCE.convert(createReqVO); + wxAccountMapper.insert(wxAccount); + wxMpConfigDataProducer.sendDictDataRefreshMessage(); + // 返回 + return wxAccount.getId(); + } + + @Override + public void updateWxAccount(WxAccountUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxAccountExists(updateReqVO.getId()); + // 更新 + WxAccountDO updateObj = WxAccountConvert.INSTANCE.convert(updateReqVO); + wxAccountMapper.updateById(updateObj); + wxMpConfigDataProducer.sendDictDataRefreshMessage(); + } + + @Override + public void deleteWxAccount(Long id) { + // 校验存在 + this.validateWxAccountExists(id); + // 删除 + wxAccountMapper.deleteById(id); + wxMpConfigDataProducer.sendDictDataRefreshMessage(); + } + + private void validateWxAccountExists(Long id) { + if (wxAccountMapper.selectById(id) == null) { + throw ServiceExceptionUtil.exception(ErrorCodeConstants.WX_ACCOUNT_NOT_EXISTS); + } + } + + @Override + public WxAccountDO getWxAccount(Long id) { + return wxAccountMapper.selectById(id); + } + + @Override + public List getWxAccountList(Collection ids) { + return wxAccountMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxAccountPage(WxAccountPageReqVO pageReqVO) { + return wxAccountMapper.selectPage(pageReqVO); + } + + @Override + public List getWxAccountList(WxAccountExportReqVO exportReqVO) { + return wxAccountMapper.selectList(exportReqVO); + } + + @Override + public WxAccountDO findBy(SFunction field, Object val) { + return wxAccountMapper.selectOne(field, val); + } + + @PostConstruct + @TenantIgnore + @Override + public void initLoadWxMpConfigStorages() { + List wxAccountList = this.wxAccountMapper.selectList(); + if (CollectionUtils.isEmpty(wxAccountList)) { + log.info("未读取到公众号配置,请在管理后台添加"); + return; + } + log.info("加载到{}条公众号配置", wxAccountList.size()); + wxAccountList.forEach(account -> addAccountToRuntime(account, new RedisTemplateWxRedisOps(stringRedisTemplate))); + log.info("公众号配置加载完成"); + } + + /** + * 添加账号到当前程序,如首次添加需初始化configStorageMap + * + * @param account 公众号 + */ + private synchronized void addAccountToRuntime(WxAccountDO account, RedisTemplateWxRedisOps redisOps) { + String appId = account.getAppId(); + WxMpConfigStorage wxMpRedisConfig = account.toWxMpConfigStorage(redisOps, wxMpProperties); + try { + wxMpService.addConfigStorage(appId, wxMpRedisConfig); + } catch (NullPointerException e) { + log.info("需初始化configStorageMap..."); + Map configStorages = new HashMap<>(4); + configStorages.put(appId, wxMpRedisConfig); + wxMpService.setMultiConfigStorages(configStorages, appId); + } + } + + @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD) + public void schedulePeriodicRefresh() { + self.initLoadWxMpConfigStorages(); + } + + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java new file mode 100644 index 0000000..b4dbe29 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java @@ -0,0 +1,84 @@ +package cn.iocoder.yudao.module.mp.service.accountfans; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; + +/** + * 微信公众号粉丝 Service 接口 + * + * @author 芋道源码 + */ +public interface WxAccountFansService { + + /** + * 创建微信公众号粉丝 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createWxAccountFans(@Valid WxAccountFansCreateReqVO createReqVO); + + /** + * 更新微信公众号粉丝 + * + * @param updateReqVO 更新信息 + */ + void updateWxAccountFans(@Valid WxAccountFansUpdateReqVO updateReqVO); + + /** + * 删除微信公众号粉丝 + * + * @param id 编号 + */ + void deleteWxAccountFans(Long id); + + /** + * 获得微信公众号粉丝 + * + * @param id 编号 + * @return 微信公众号粉丝 + */ + WxAccountFansDO getWxAccountFans(Long id); + + /** + * 获得微信公众号粉丝列表 + * + * @param ids 编号 + * @return 微信公众号粉丝列表 + */ + List getWxAccountFansList(Collection ids); + + /** + * 获得微信公众号粉丝分页 + * + * @param pageReqVO 分页查询 + * @return 微信公众号粉丝分页 + */ + PageResult getWxAccountFansPage(WxAccountFansPageReqVO pageReqVO); + + /** + * 获得微信公众号粉丝列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 微信公众号粉丝列表 + */ + List getWxAccountFansList(WxAccountFansExportReqVO exportReqVO); + + /** + * 查询粉丝 + * + * @param sFunction + * @param val + * @return + */ + WxAccountFansDO findBy(SFunction sFunction, Object val); +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java new file mode 100644 index 0000000..21568b9 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java @@ -0,0 +1,89 @@ +package cn.iocoder.yudao.module.mp.service.accountfans; + +import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; +import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; +import cn.iocoder.yudao.module.mp.dal.mysql.accountfans.WxAccountFansMapper; +import cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; + +/** + * 微信公众号粉丝 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxAccountFansServiceImpl implements WxAccountFansService { + + @Resource + private WxAccountFansMapper wxAccountFansMapper; + + @Override + public Long createWxAccountFans(WxAccountFansCreateReqVO createReqVO) { + // 插入 + WxAccountFansDO wxAccountFans = WxAccountFansConvert.INSTANCE.convert(createReqVO); + wxAccountFansMapper.insert(wxAccountFans); + // 返回 + return wxAccountFans.getId(); + } + + @Override + public void updateWxAccountFans(WxAccountFansUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxAccountFansExists(updateReqVO.getId()); + // 更新 + WxAccountFansDO updateObj = WxAccountFansConvert.INSTANCE.convert(updateReqVO); + wxAccountFansMapper.updateById(updateObj); + } + + @Override + public void deleteWxAccountFans(Long id) { + // 校验存在 + this.validateWxAccountFansExists(id); + // 删除 + wxAccountFansMapper.deleteById(id); + } + + private void validateWxAccountFansExists(Long id) { + if (wxAccountFansMapper.selectById(id) == null) { + throw ServiceExceptionUtil.exception(ErrorCodeConstants.WX_ACCOUNT_FANS_NOT_EXISTS); + } + } + + @Override + public WxAccountFansDO getWxAccountFans(Long id) { + return wxAccountFansMapper.selectById(id); + } + + @Override + public List getWxAccountFansList(Collection ids) { + return wxAccountFansMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxAccountFansPage(WxAccountFansPageReqVO pageReqVO) { + return wxAccountFansMapper.selectPage(pageReqVO); + } + + @Override + public List getWxAccountFansList(WxAccountFansExportReqVO exportReqVO) { + return wxAccountFansMapper.selectList(exportReqVO); + } + + @Override + public WxAccountFansDO findBy(SFunction sFunction, Object val) { + return wxAccountFansMapper.selectOne(sFunction, val); + } +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java new file mode 100644 index 0000000..6247069 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.mp.service.accountfanstag; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import me.chanjar.weixin.mp.bean.result.WxMpUser; + +/** + * 粉丝标签关联 Service 接口 + * + * @author 芋道源码 + */ +public interface WxAccountFansTagService { + + /** + * 创建粉丝标签关联 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxAccountFansTag(@Valid WxAccountFansTagCreateReqVO createReqVO); + + /** + * 更新粉丝标签关联 + * + * @param updateReqVO 更新信息 + */ + void updateWxAccountFansTag(@Valid WxAccountFansTagUpdateReqVO updateReqVO); + + /** + * 删除粉丝标签关联 + * + * @param id 编号 + */ + void deleteWxAccountFansTag(Integer id); + + /** + * 获得粉丝标签关联 + * + * @param id 编号 + * @return 粉丝标签关联 + */ + WxAccountFansTagDO getWxAccountFansTag(Integer id); + + /** + * 获得粉丝标签关联列表 + * + * @param ids 编号 + * @return 粉丝标签关联列表 + */ + List getWxAccountFansTagList(Collection ids); + + /** + * 获得粉丝标签关联分页 + * + * @param pageReqVO 分页查询 + * @return 粉丝标签关联分页 + */ + PageResult getWxAccountFansTagPage(WxAccountFansTagPageReqVO pageReqVO); + + /** + * 获得粉丝标签关联列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 粉丝标签关联列表 + */ + List getWxAccountFansTagList(WxAccountFansTagExportReqVO exportReqVO); + + void processFansTags(WxAccountDO wxAccount, WxMpUser wxmpUser); +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java new file mode 100644 index 0000000..4368561 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.mp.service.accountfanstag; + +import cn.hutool.core.date.DateUtil; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import me.chanjar.weixin.mp.bean.result.WxMpUser; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.accountfanstag.WxAccountFansTagConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.accountfanstag.WxAccountFansTagMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 粉丝标签关联 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxAccountFansTagServiceImpl implements WxAccountFansTagService { + + @Resource + private WxAccountFansTagMapper wxAccountFansTagMapper; + + @Override + public Integer createWxAccountFansTag(WxAccountFansTagCreateReqVO createReqVO) { + // 插入 + WxAccountFansTagDO wxAccountFansTag = WxAccountFansTagConvert.INSTANCE.convert(createReqVO); + wxAccountFansTagMapper.insert(wxAccountFansTag); + // 返回 + return wxAccountFansTag.getId(); + } + + @Override + public void updateWxAccountFansTag(WxAccountFansTagUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxAccountFansTagExists(updateReqVO.getId()); + // 更新 + WxAccountFansTagDO updateObj = WxAccountFansTagConvert.INSTANCE.convert(updateReqVO); + wxAccountFansTagMapper.updateById(updateObj); + } + + @Override + public void deleteWxAccountFansTag(Integer id) { + // 校验存在 + this.validateWxAccountFansTagExists(id); + // 删除 + wxAccountFansTagMapper.deleteById(id); + } + + private void validateWxAccountFansTagExists(Integer id) { + if (wxAccountFansTagMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxAccountFansTagDO getWxAccountFansTag(Integer id) { + return wxAccountFansTagMapper.selectById(id); + } + + @Override + public List getWxAccountFansTagList(Collection ids) { + return wxAccountFansTagMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxAccountFansTagPage(WxAccountFansTagPageReqVO pageReqVO) { + return wxAccountFansTagMapper.selectPage(pageReqVO); + } + + @Override + public List getWxAccountFansTagList(WxAccountFansTagExportReqVO exportReqVO) { + return wxAccountFansTagMapper.selectList(exportReqVO); + } + + @Override + public void processFansTags(WxAccountDO wxAccountDO, WxMpUser wxmpUser) { + WxAccountFansTagExportReqVO wxAccountFansTagTpl = new WxAccountFansTagExportReqVO(); + wxAccountFansTagTpl.setOpenid(wxmpUser.getOpenId()); + List wxAccountFansTagList = this.getWxAccountFansTagList(wxAccountFansTagTpl); + wxAccountFansTagList.forEach(temp -> this.deleteWxAccountFansTag(temp.getId())); + + Long[] tagIds = wxmpUser.getTagIds(); + for (Long tagId : tagIds) { + WxAccountFansTagCreateReqVO wxAccountFansTag = new WxAccountFansTagCreateReqVO(); + wxAccountFansTag.setOpenid(wxmpUser.getOpenId()); + wxAccountFansTag.setTagId(String.valueOf(tagId)); + wxAccountFansTag.setWxAccountId(String.valueOf(wxAccountDO.getId())); + this.createWxAccountFansTag(wxAccountFansTag); + } + } + + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java new file mode 100644 index 0000000..658a89a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.fansmsg; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 粉丝消息表 Service 接口 + * + * @author 芋道源码 + */ +public interface WxFansMsgService { + + /** + * 创建粉丝消息表 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxFansMsg(@Valid WxFansMsgCreateReqVO createReqVO); + + /** + * 更新粉丝消息表 + * + * @param updateReqVO 更新信息 + */ + void updateWxFansMsg(@Valid WxFansMsgUpdateReqVO updateReqVO); + + /** + * 删除粉丝消息表 + * + * @param id 编号 + */ + void deleteWxFansMsg(Integer id); + + /** + * 获得粉丝消息表 + * + * @param id 编号 + * @return 粉丝消息表 + */ + WxFansMsgDO getWxFansMsg(Integer id); + + /** + * 获得粉丝消息表 列表 + * + * @param ids 编号 + * @return 粉丝消息表 列表 + */ + List getWxFansMsgList(Collection ids); + + /** + * 获得粉丝消息表 分页 + * + * @param pageReqVO 分页查询 + * @return 粉丝消息表 分页 + */ + PageResult getWxFansMsgPage(WxFansMsgPageReqVO pageReqVO); + + /** + * 获得粉丝消息表 列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 粉丝消息表 列表 + */ + List getWxFansMsgList(WxFansMsgExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java new file mode 100644 index 0000000..3c533c3 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.fansmsg; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.fansmsg.WxFansMsgMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 粉丝消息表 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxFansMsgServiceImpl implements WxFansMsgService { + + @Resource + private WxFansMsgMapper wxFansMsgMapper; + + @Override + public Integer createWxFansMsg(WxFansMsgCreateReqVO createReqVO) { + // 插入 + WxFansMsgDO wxFansMsg = WxFansMsgConvert.INSTANCE.convert(createReqVO); + wxFansMsgMapper.insert(wxFansMsg); + // 返回 + return wxFansMsg.getId(); + } + + @Override + public void updateWxFansMsg(WxFansMsgUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxFansMsgExists(updateReqVO.getId()); + // 更新 + WxFansMsgDO updateObj = WxFansMsgConvert.INSTANCE.convert(updateReqVO); + wxFansMsgMapper.updateById(updateObj); + } + + @Override + public void deleteWxFansMsg(Integer id) { + // 校验存在 + this.validateWxFansMsgExists(id); + // 删除 + wxFansMsgMapper.deleteById(id); + } + + private void validateWxFansMsgExists(Integer id) { + if (wxFansMsgMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxFansMsgDO getWxFansMsg(Integer id) { + return wxFansMsgMapper.selectById(id); + } + + @Override + public List getWxFansMsgList(Collection ids) { + return wxFansMsgMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxFansMsgPage(WxFansMsgPageReqVO pageReqVO) { + return wxFansMsgMapper.selectPage(pageReqVO); + } + + @Override + public List getWxFansMsgList(WxFansMsgExportReqVO exportReqVO) { + return wxFansMsgMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java new file mode 100644 index 0000000..203c362 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.fansmsgres; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 回复粉丝消息历史表 Service 接口 + * + * @author 芋道源码 + */ +public interface WxFansMsgResService { + + /** + * 创建回复粉丝消息历史表 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxFansMsgRes(@Valid WxFansMsgResCreateReqVO createReqVO); + + /** + * 更新回复粉丝消息历史表 + * + * @param updateReqVO 更新信息 + */ + void updateWxFansMsgRes(@Valid WxFansMsgResUpdateReqVO updateReqVO); + + /** + * 删除回复粉丝消息历史表 + * + * @param id 编号 + */ + void deleteWxFansMsgRes(Integer id); + + /** + * 获得回复粉丝消息历史表 + * + * @param id 编号 + * @return 回复粉丝消息历史表 + */ + WxFansMsgResDO getWxFansMsgRes(Integer id); + + /** + * 获得回复粉丝消息历史表 列表 + * + * @param ids 编号 + * @return 回复粉丝消息历史表 列表 + */ + List getWxFansMsgResList(Collection ids); + + /** + * 获得回复粉丝消息历史表 分页 + * + * @param pageReqVO 分页查询 + * @return 回复粉丝消息历史表 分页 + */ + PageResult getWxFansMsgResPage(WxFansMsgResPageReqVO pageReqVO); + + /** + * 获得回复粉丝消息历史表 列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 回复粉丝消息历史表 列表 + */ + List getWxFansMsgResList(WxFansMsgResExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java new file mode 100644 index 0000000..964c0ed --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.fansmsgres; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.fansmsgres.WxFansMsgResMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 回复粉丝消息历史表 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxFansMsgResServiceImpl implements WxFansMsgResService { + + @Resource + private WxFansMsgResMapper wxFansMsgResMapper; + + @Override + public Integer createWxFansMsgRes(WxFansMsgResCreateReqVO createReqVO) { + // 插入 + WxFansMsgResDO wxFansMsgRes = WxFansMsgResConvert.INSTANCE.convert(createReqVO); + wxFansMsgResMapper.insert(wxFansMsgRes); + // 返回 + return wxFansMsgRes.getId(); + } + + @Override + public void updateWxFansMsgRes(WxFansMsgResUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxFansMsgResExists(updateReqVO.getId()); + // 更新 + WxFansMsgResDO updateObj = WxFansMsgResConvert.INSTANCE.convert(updateReqVO); + wxFansMsgResMapper.updateById(updateObj); + } + + @Override + public void deleteWxFansMsgRes(Integer id) { + // 校验存在 + this.validateWxFansMsgResExists(id); + // 删除 + wxFansMsgResMapper.deleteById(id); + } + + private void validateWxFansMsgResExists(Integer id) { + if (wxFansMsgResMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxFansMsgResDO getWxFansMsgRes(Integer id) { + return wxFansMsgResMapper.selectById(id); + } + + @Override + public List getWxFansMsgResList(Collection ids) { + return wxFansMsgResMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxFansMsgResPage(WxFansMsgResPageReqVO pageReqVO) { + return wxFansMsgResMapper.selectPage(pageReqVO); + } + + @Override + public List getWxFansMsgResList(WxFansMsgResExportReqVO exportReqVO) { + return wxFansMsgResMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java new file mode 100644 index 0000000..c6c57bb --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.mediaupload; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 微信素材上传表 Service 接口 + * + * @author 芋道源码 + */ +public interface WxMediaUploadService { + + /** + * 创建微信素材上传表 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxMediaUpload(@Valid WxMediaUploadCreateReqVO createReqVO); + + /** + * 更新微信素材上传表 + * + * @param updateReqVO 更新信息 + */ + void updateWxMediaUpload(@Valid WxMediaUploadUpdateReqVO updateReqVO); + + /** + * 删除微信素材上传表 + * + * @param id 编号 + */ + void deleteWxMediaUpload(Integer id); + + /** + * 获得微信素材上传表 + * + * @param id 编号 + * @return 微信素材上传表 + */ + WxMediaUploadDO getWxMediaUpload(Integer id); + + /** + * 获得微信素材上传表 列表 + * + * @param ids 编号 + * @return 微信素材上传表 列表 + */ + List getWxMediaUploadList(Collection ids); + + /** + * 获得微信素材上传表 分页 + * + * @param pageReqVO 分页查询 + * @return 微信素材上传表 分页 + */ + PageResult getWxMediaUploadPage(WxMediaUploadPageReqVO pageReqVO); + + /** + * 获得微信素材上传表 列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 微信素材上传表 列表 + */ + List getWxMediaUploadList(WxMediaUploadExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java new file mode 100644 index 0000000..8433275 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.mediaupload; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.mediaupload.WxMediaUploadConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.mediaupload.WxMediaUploadMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 微信素材上传表 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxMediaUploadServiceImpl implements WxMediaUploadService { + + @Resource + private WxMediaUploadMapper wxMediaUploadMapper; + + @Override + public Integer createWxMediaUpload(WxMediaUploadCreateReqVO createReqVO) { + // 插入 + WxMediaUploadDO wxMediaUpload = WxMediaUploadConvert.INSTANCE.convert(createReqVO); + wxMediaUploadMapper.insert(wxMediaUpload); + // 返回 + return wxMediaUpload.getId(); + } + + @Override + public void updateWxMediaUpload(WxMediaUploadUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxMediaUploadExists(updateReqVO.getId()); + // 更新 + WxMediaUploadDO updateObj = WxMediaUploadConvert.INSTANCE.convert(updateReqVO); + wxMediaUploadMapper.updateById(updateObj); + } + + @Override + public void deleteWxMediaUpload(Integer id) { + // 校验存在 + this.validateWxMediaUploadExists(id); + // 删除 + wxMediaUploadMapper.deleteById(id); + } + + private void validateWxMediaUploadExists(Integer id) { + if (wxMediaUploadMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxMediaUploadDO getWxMediaUpload(Integer id) { + return wxMediaUploadMapper.selectById(id); + } + + @Override + public List getWxMediaUploadList(Collection ids) { + return wxMediaUploadMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxMediaUploadPage(WxMediaUploadPageReqVO pageReqVO) { + return wxMediaUploadMapper.selectPage(pageReqVO); + } + + @Override + public List getWxMediaUploadList(WxMediaUploadExportReqVO exportReqVO) { + return wxMediaUploadMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java new file mode 100644 index 0000000..0876db2 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.menu; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 微信菜单 Service 接口 + * + * @author 芋道源码 + */ +public interface WxMenuService { + + /** + * 创建微信菜单 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxMenu(@Valid WxMenuCreateReqVO createReqVO); + + /** + * 更新微信菜单 + * + * @param updateReqVO 更新信息 + */ + void updateWxMenu(@Valid WxMenuUpdateReqVO updateReqVO); + + /** + * 删除微信菜单 + * + * @param id 编号 + */ + void deleteWxMenu(Integer id); + + /** + * 获得微信菜单 + * + * @param id 编号 + * @return 微信菜单 + */ + WxMenuDO getWxMenu(Integer id); + + /** + * 获得微信菜单列表 + * + * @param ids 编号 + * @return 微信菜单列表 + */ + List getWxMenuList(Collection ids); + + /** + * 获得微信菜单分页 + * + * @param pageReqVO 分页查询 + * @return 微信菜单分页 + */ + PageResult getWxMenuPage(WxMenuPageReqVO pageReqVO); + + /** + * 获得微信菜单列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 微信菜单列表 + */ + List getWxMenuList(WxMenuExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java new file mode 100644 index 0000000..6f8fc37 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.menu; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.menu.WxMenuConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.menu.WxMenuMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 微信菜单 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxMenuServiceImpl implements WxMenuService { + + @Resource + private WxMenuMapper wxMenuMapper; + + @Override + public Integer createWxMenu(WxMenuCreateReqVO createReqVO) { + // 插入 + WxMenuDO wxMenu = WxMenuConvert.INSTANCE.convert(createReqVO); + wxMenuMapper.insert(wxMenu); + // 返回 + return wxMenu.getId(); + } + + @Override + public void updateWxMenu(WxMenuUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxMenuExists(updateReqVO.getId()); + // 更新 + WxMenuDO updateObj = WxMenuConvert.INSTANCE.convert(updateReqVO); + wxMenuMapper.updateById(updateObj); + } + + @Override + public void deleteWxMenu(Integer id) { + // 校验存在 + this.validateWxMenuExists(id); + // 删除 + wxMenuMapper.deleteById(id); + } + + private void validateWxMenuExists(Integer id) { + if (wxMenuMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxMenuDO getWxMenu(Integer id) { + return wxMenuMapper.selectById(id); + } + + @Override + public List getWxMenuList(Collection ids) { + return wxMenuMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxMenuPage(WxMenuPageReqVO pageReqVO) { + return wxMenuMapper.selectPage(pageReqVO); + } + + @Override + public List getWxMenuList(WxMenuExportReqVO exportReqVO) { + return wxMenuMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java new file mode 100644 index 0000000..c180768 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.newsarticleitem; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 图文消息文章列表表 Service 接口 + * + * @author 芋道源码 + */ +public interface WxNewsArticleItemService { + + /** + * 创建图文消息文章列表表 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxNewsArticleItem(@Valid WxNewsArticleItemCreateReqVO createReqVO); + + /** + * 更新图文消息文章列表表 + * + * @param updateReqVO 更新信息 + */ + void updateWxNewsArticleItem(@Valid WxNewsArticleItemUpdateReqVO updateReqVO); + + /** + * 删除图文消息文章列表表 + * + * @param id 编号 + */ + void deleteWxNewsArticleItem(Integer id); + + /** + * 获得图文消息文章列表表 + * + * @param id 编号 + * @return 图文消息文章列表表 + */ + WxNewsArticleItemDO getWxNewsArticleItem(Integer id); + + /** + * 获得图文消息文章列表表 列表 + * + * @param ids 编号 + * @return 图文消息文章列表表 列表 + */ + List getWxNewsArticleItemList(Collection ids); + + /** + * 获得图文消息文章列表表 分页 + * + * @param pageReqVO 分页查询 + * @return 图文消息文章列表表 分页 + */ + PageResult getWxNewsArticleItemPage(WxNewsArticleItemPageReqVO pageReqVO); + + /** + * 获得图文消息文章列表表 列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 图文消息文章列表表 列表 + */ + List getWxNewsArticleItemList(WxNewsArticleItemExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java new file mode 100644 index 0000000..52b6b6b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.newsarticleitem; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.newsarticleitem.WxNewsArticleItemMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 图文消息文章列表表 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxNewsArticleItemServiceImpl implements WxNewsArticleItemService { + + @Resource + private WxNewsArticleItemMapper wxNewsArticleItemMapper; + + @Override + public Integer createWxNewsArticleItem(WxNewsArticleItemCreateReqVO createReqVO) { + // 插入 + WxNewsArticleItemDO wxNewsArticleItem = WxNewsArticleItemConvert.INSTANCE.convert(createReqVO); + wxNewsArticleItemMapper.insert(wxNewsArticleItem); + // 返回 + return wxNewsArticleItem.getId(); + } + + @Override + public void updateWxNewsArticleItem(WxNewsArticleItemUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxNewsArticleItemExists(updateReqVO.getId()); + // 更新 + WxNewsArticleItemDO updateObj = WxNewsArticleItemConvert.INSTANCE.convert(updateReqVO); + wxNewsArticleItemMapper.updateById(updateObj); + } + + @Override + public void deleteWxNewsArticleItem(Integer id) { + // 校验存在 + this.validateWxNewsArticleItemExists(id); + // 删除 + wxNewsArticleItemMapper.deleteById(id); + } + + private void validateWxNewsArticleItemExists(Integer id) { + if (wxNewsArticleItemMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxNewsArticleItemDO getWxNewsArticleItem(Integer id) { + return wxNewsArticleItemMapper.selectById(id); + } + + @Override + public List getWxNewsArticleItemList(Collection ids) { + return wxNewsArticleItemMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxNewsArticleItemPage(WxNewsArticleItemPageReqVO pageReqVO) { + return wxNewsArticleItemMapper.selectPage(pageReqVO); + } + + @Override + public List getWxNewsArticleItemList(WxNewsArticleItemExportReqVO exportReqVO) { + return wxNewsArticleItemMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java new file mode 100644 index 0000000..fb854b9 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.newstemplate; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 图文消息模板 Service 接口 + * + * @author 芋道源码 + */ +public interface WxNewsTemplateService { + + /** + * 创建图文消息模板 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxNewsTemplate(@Valid WxNewsTemplateCreateReqVO createReqVO); + + /** + * 更新图文消息模板 + * + * @param updateReqVO 更新信息 + */ + void updateWxNewsTemplate(@Valid WxNewsTemplateUpdateReqVO updateReqVO); + + /** + * 删除图文消息模板 + * + * @param id 编号 + */ + void deleteWxNewsTemplate(Integer id); + + /** + * 获得图文消息模板 + * + * @param id 编号 + * @return 图文消息模板 + */ + WxNewsTemplateDO getWxNewsTemplate(Integer id); + + /** + * 获得图文消息模板列表 + * + * @param ids 编号 + * @return 图文消息模板列表 + */ + List getWxNewsTemplateList(Collection ids); + + /** + * 获得图文消息模板分页 + * + * @param pageReqVO 分页查询 + * @return 图文消息模板分页 + */ + PageResult getWxNewsTemplatePage(WxNewsTemplatePageReqVO pageReqVO); + + /** + * 获得图文消息模板列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 图文消息模板列表 + */ + List getWxNewsTemplateList(WxNewsTemplateExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java new file mode 100644 index 0000000..ac20950 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.newstemplate; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.newstemplate.WxNewsTemplateMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 图文消息模板 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxNewsTemplateServiceImpl implements WxNewsTemplateService { + + @Resource + private WxNewsTemplateMapper wxNewsTemplateMapper; + + @Override + public Integer createWxNewsTemplate(WxNewsTemplateCreateReqVO createReqVO) { + // 插入 + WxNewsTemplateDO wxNewsTemplate = WxNewsTemplateConvert.INSTANCE.convert(createReqVO); + wxNewsTemplateMapper.insert(wxNewsTemplate); + // 返回 + return wxNewsTemplate.getId(); + } + + @Override + public void updateWxNewsTemplate(WxNewsTemplateUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxNewsTemplateExists(updateReqVO.getId()); + // 更新 + WxNewsTemplateDO updateObj = WxNewsTemplateConvert.INSTANCE.convert(updateReqVO); + wxNewsTemplateMapper.updateById(updateObj); + } + + @Override + public void deleteWxNewsTemplate(Integer id) { + // 校验存在 + this.validateWxNewsTemplateExists(id); + // 删除 + wxNewsTemplateMapper.deleteById(id); + } + + private void validateWxNewsTemplateExists(Integer id) { + if (wxNewsTemplateMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxNewsTemplateDO getWxNewsTemplate(Integer id) { + return wxNewsTemplateMapper.selectById(id); + } + + @Override + public List getWxNewsTemplateList(Collection ids) { + return wxNewsTemplateMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxNewsTemplatePage(WxNewsTemplatePageReqVO pageReqVO) { + return wxNewsTemplateMapper.selectPage(pageReqVO); + } + + @Override + public List getWxNewsTemplateList(WxNewsTemplateExportReqVO exportReqVO) { + return wxNewsTemplateMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java new file mode 100644 index 0000000..a27e620 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.receivetext; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 回复关键字 Service 接口 + * + * @author 芋道源码 + */ +public interface WxReceiveTextService { + + /** + * 创建回复关键字 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxReceiveText(@Valid WxReceiveTextCreateReqVO createReqVO); + + /** + * 更新回复关键字 + * + * @param updateReqVO 更新信息 + */ + void updateWxReceiveText(@Valid WxReceiveTextUpdateReqVO updateReqVO); + + /** + * 删除回复关键字 + * + * @param id 编号 + */ + void deleteWxReceiveText(Integer id); + + /** + * 获得回复关键字 + * + * @param id 编号 + * @return 回复关键字 + */ + WxReceiveTextDO getWxReceiveText(Integer id); + + /** + * 获得回复关键字列表 + * + * @param ids 编号 + * @return 回复关键字列表 + */ + List getWxReceiveTextList(Collection ids); + + /** + * 获得回复关键字分页 + * + * @param pageReqVO 分页查询 + * @return 回复关键字分页 + */ + PageResult getWxReceiveTextPage(WxReceiveTextPageReqVO pageReqVO); + + /** + * 获得回复关键字列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 回复关键字列表 + */ + List getWxReceiveTextList(WxReceiveTextExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java new file mode 100644 index 0000000..07c4b75 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.receivetext; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.receivetext.WxReceiveTextConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.receivetext.WxReceiveTextMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 回复关键字 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxReceiveTextServiceImpl implements WxReceiveTextService { + + @Resource + private WxReceiveTextMapper wxReceiveTextMapper; + + @Override + public Integer createWxReceiveText(WxReceiveTextCreateReqVO createReqVO) { + // 插入 + WxReceiveTextDO wxReceiveText = WxReceiveTextConvert.INSTANCE.convert(createReqVO); + wxReceiveTextMapper.insert(wxReceiveText); + // 返回 + return wxReceiveText.getId(); + } + + @Override + public void updateWxReceiveText(WxReceiveTextUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxReceiveTextExists(updateReqVO.getId()); + // 更新 + WxReceiveTextDO updateObj = WxReceiveTextConvert.INSTANCE.convert(updateReqVO); + wxReceiveTextMapper.updateById(updateObj); + } + + @Override + public void deleteWxReceiveText(Integer id) { + // 校验存在 + this.validateWxReceiveTextExists(id); + // 删除 + wxReceiveTextMapper.deleteById(id); + } + + private void validateWxReceiveTextExists(Integer id) { + if (wxReceiveTextMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxReceiveTextDO getWxReceiveText(Integer id) { + return wxReceiveTextMapper.selectById(id); + } + + @Override + public List getWxReceiveTextList(Collection ids) { + return wxReceiveTextMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxReceiveTextPage(WxReceiveTextPageReqVO pageReqVO) { + return wxReceiveTextMapper.selectPage(pageReqVO); + } + + @Override + public List getWxReceiveTextList(WxReceiveTextExportReqVO exportReqVO) { + return wxReceiveTextMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java new file mode 100644 index 0000000..a429449 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java @@ -0,0 +1,81 @@ +package cn.iocoder.yudao.module.mp.service.subscribetext; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; + +/** + * 关注欢迎语 Service 接口 + * + * @author 芋道源码 + */ +public interface WxSubscribeTextService { + + /** + * 创建关注欢迎语 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxSubscribeText(@Valid WxSubscribeTextCreateReqVO createReqVO); + + /** + * 更新关注欢迎语 + * + * @param updateReqVO 更新信息 + */ + void updateWxSubscribeText(@Valid WxSubscribeTextUpdateReqVO updateReqVO); + + /** + * 删除关注欢迎语 + * + * @param id 编号 + */ + void deleteWxSubscribeText(Integer id); + + /** + * 获得关注欢迎语 + * + * @param id 编号 + * @return 关注欢迎语 + */ + WxSubscribeTextDO getWxSubscribeText(Integer id); + + /** + * 获得关注欢迎语列表 + * + * @param ids 编号 + * @return 关注欢迎语列表 + */ + List getWxSubscribeTextList(Collection ids); + + /** + * 获得关注欢迎语分页 + * + * @param pageReqVO 分页查询 + * @return 关注欢迎语分页 + */ + PageResult getWxSubscribeTextPage(WxSubscribeTextPageReqVO pageReqVO); + + /** + * 获得关注欢迎语列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 关注欢迎语列表 + */ + List getWxSubscribeTextList(WxSubscribeTextExportReqVO exportReqVO); + + /** + * 关注欢迎语分页 + * + * @param column + * @param obj + * @return + */ + WxSubscribeTextDO findBy(SFunction column, Object obj); +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java new file mode 100644 index 0000000..0e6d076 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.mp.service.subscribetext; + +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.subscribetext.WxSubscribeTextConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.subscribetext.WxSubscribeTextMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 关注欢迎语 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxSubscribeTextServiceImpl implements WxSubscribeTextService { + + @Resource + private WxSubscribeTextMapper wxSubscribeTextMapper; + + @Override + public Integer createWxSubscribeText(WxSubscribeTextCreateReqVO createReqVO) { + // 插入 + WxSubscribeTextDO wxSubscribeText = WxSubscribeTextConvert.INSTANCE.convert(createReqVO); + wxSubscribeTextMapper.insert(wxSubscribeText); + // 返回 + return wxSubscribeText.getId(); + } + + @Override + public void updateWxSubscribeText(WxSubscribeTextUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxSubscribeTextExists(updateReqVO.getId()); + // 更新 + WxSubscribeTextDO updateObj = WxSubscribeTextConvert.INSTANCE.convert(updateReqVO); + wxSubscribeTextMapper.updateById(updateObj); + } + + @Override + public void deleteWxSubscribeText(Integer id) { + // 校验存在 + this.validateWxSubscribeTextExists(id); + // 删除 + wxSubscribeTextMapper.deleteById(id); + } + + private void validateWxSubscribeTextExists(Integer id) { + if (wxSubscribeTextMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxSubscribeTextDO getWxSubscribeText(Integer id) { + return wxSubscribeTextMapper.selectById(id); + } + + @Override + public List getWxSubscribeTextList(Collection ids) { + return wxSubscribeTextMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxSubscribeTextPage(WxSubscribeTextPageReqVO pageReqVO) { + return wxSubscribeTextMapper.selectPage(pageReqVO); + } + + @Override + public List getWxSubscribeTextList(WxSubscribeTextExportReqVO exportReqVO) { + return wxSubscribeTextMapper.selectList(exportReqVO); + } + + @Override + public WxSubscribeTextDO findBy(SFunction column, Object obj) { + return wxSubscribeTextMapper.selectOne(column, obj); + } +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java new file mode 100644 index 0000000..469a3f1 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.mp.service.tag; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagPageReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagUpdateReqVO; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.mp.bean.tag.WxUserTag; + +import javax.validation.Valid; +import java.util.List; + +/** + * 粉丝标签 Service 接口 + * + * @author fengdan + */ +public interface FansTagService { + + /** + * 创建粉丝标签 + * + * @param createReqVO 创建标签信息 + * @return {@link WxUserTag} 用户标签对象 + * @throws WxErrorException 微信异常 + */ + WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) throws WxErrorException; + + /** + * 更新粉丝标签 + * + * @param updateReqVO 更新信息 + * @return {@link Boolean} + * @throws WxErrorException 微信异常 + */ + Boolean updateWxFansTag(@Valid FansTagUpdateReqVO updateReqVO) throws WxErrorException; + + /** + * 删除粉丝标签 + * + * @param id 编号 + * @param appId 公众号appId + * @return {@link Boolean} + * @throws WxErrorException 微信异常 + */ + Boolean deleteWxFansTag(Long id, String appId) throws WxErrorException; + + /** + * 获取公众号已创建的标签 + * + * @param appId 公众号appId + * @return 粉丝标签列表 + * @throws WxErrorException 微信异常 + */ + List getWxFansTagList(String appId) throws WxErrorException; + + /** + * 获得粉丝标签分页 + * + * @param pageReqVO 分页查询 + * @return 粉丝标签分页 + */ + PageResult getWxFansTagPage(FansTagPageReqVO pageReqVO); + + /** + * 获得粉丝标签列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 粉丝标签列表 + */ + List getWxFansTagList(FansTagExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java new file mode 100644 index 0000000..c93432c --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.mp.service.tag; + +import cn.hutool.core.util.ReUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagCreateReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagExportReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagPageReqVO; +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagUpdateReqVO; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.tag.WxUserTag; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 粉丝标签 Service 实现类 + * + * @author fengdan + */ +@Slf4j +@Service +@Validated +public class FansTagServiceImpl implements FansTagService { + @Resource + private WxMpService wxMpService; + + @Override + public WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) throws WxErrorException { + // TODO 切换公众号操作 调整为 aop 或者 过滤器\拦截器 处理 + wxMpService.switchover(createReqVO.getAppId()); + return wxMpService.getUserTagService().tagCreate(createReqVO.getName()); + } + + @Override + public Boolean updateWxFansTag(FansTagUpdateReqVO updateReqVO) throws WxErrorException { + wxMpService.switchover(updateReqVO.getAppId()); + return wxMpService.getUserTagService().tagUpdate(updateReqVO.getId(), updateReqVO.getName()); + } + + @Override + public Boolean deleteWxFansTag(Long id, String appId) throws WxErrorException { + wxMpService.switchover(appId); + return wxMpService.getUserTagService().tagDelete(id); + } + + + @Override + public List getWxFansTagList(String appId) throws WxErrorException { + wxMpService.switchover(appId); + return wxMpService.getUserTagService().tagGet(); + } + + @Override + public PageResult getWxFansTagPage(FansTagPageReqVO pageReqVO) { + return null; + } + + @Override + public List getWxFansTagList(FansTagExportReqVO exportReqVO) { + return null; + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java new file mode 100644 index 0000000..51dcf7d --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.mp.service.texttemplate; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 文本模板 Service 接口 + * + * @author 芋道源码 + */ +public interface WxTextTemplateService { + + /** + * 创建文本模板 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createWxTextTemplate(@Valid WxTextTemplateCreateReqVO createReqVO); + + /** + * 更新文本模板 + * + * @param updateReqVO 更新信息 + */ + void updateWxTextTemplate(@Valid WxTextTemplateUpdateReqVO updateReqVO); + + /** + * 删除文本模板 + * + * @param id 编号 + */ + void deleteWxTextTemplate(Integer id); + + /** + * 获得文本模板 + * + * @param id 编号 + * @return 文本模板 + */ + WxTextTemplateDO getWxTextTemplate(Integer id); + + /** + * 获得文本模板列表 + * + * @param ids 编号 + * @return 文本模板列表 + */ + List getWxTextTemplateList(Collection ids); + + /** + * 获得文本模板分页 + * + * @param pageReqVO 分页查询 + * @return 文本模板分页 + */ + PageResult getWxTextTemplatePage(WxTextTemplatePageReqVO pageReqVO); + + /** + * 获得文本模板列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 文本模板列表 + */ + List getWxTextTemplateList(WxTextTemplateExportReqVO exportReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java new file mode 100644 index 0000000..74347ae --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mp.service.texttemplate; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import java.util.*; + +import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; +import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.convert.texttemplate.WxTextTemplateConvert; +import cn.iocoder.yudao.module.mp.dal.mysql.texttemplate.WxTextTemplateMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; + +/** + * 文本模板 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WxTextTemplateServiceImpl implements WxTextTemplateService { + + @Resource + private WxTextTemplateMapper wxTextTemplateMapper; + + @Override + public Integer createWxTextTemplate(WxTextTemplateCreateReqVO createReqVO) { + // 插入 + WxTextTemplateDO wxTextTemplate = WxTextTemplateConvert.INSTANCE.convert(createReqVO); + wxTextTemplateMapper.insert(wxTextTemplate); + // 返回 + return wxTextTemplate.getId(); + } + + @Override + public void updateWxTextTemplate(WxTextTemplateUpdateReqVO updateReqVO) { + // 校验存在 + this.validateWxTextTemplateExists(updateReqVO.getId()); + // 更新 + WxTextTemplateDO updateObj = WxTextTemplateConvert.INSTANCE.convert(updateReqVO); + wxTextTemplateMapper.updateById(updateObj); + } + + @Override + public void deleteWxTextTemplate(Integer id) { + // 校验存在 + this.validateWxTextTemplateExists(id); + // 删除 + wxTextTemplateMapper.deleteById(id); + } + + private void validateWxTextTemplateExists(Integer id) { + if (wxTextTemplateMapper.selectById(id) == null) { + throw exception(COMMON_NOT_EXISTS); + } + } + + @Override + public WxTextTemplateDO getWxTextTemplate(Integer id) { + return wxTextTemplateMapper.selectById(id); + } + + @Override + public List getWxTextTemplateList(Collection ids) { + return wxTextTemplateMapper.selectBatchIds(ids); + } + + @Override + public PageResult getWxTextTemplatePage(WxTextTemplatePageReqVO pageReqVO) { + return wxTextTemplateMapper.selectPage(pageReqVO); + } + + @Override + public List getWxTextTemplateList(WxTextTemplateExportReqVO exportReqVO) { + return wxTextTemplateMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-wechat/pom.xml b/yudao-module-wechat/pom.xml deleted file mode 100644 index 1107f7f..0000000 --- a/yudao-module-wechat/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - yudao - cn.iocoder.boot - ${revision} - - 4.0.0 - - yudao-module-wechat - pom - - - wechat 模块,主要实现微信平台的相关业务。 - 例如:微信公众号、企业微信 SCRM 等 - - - yudao-module-mp-api - yudao-module-mp-biz - yudao-module-work-biz - yudao-module-work-api - - - diff --git a/yudao-module-wechat/yudao-module-mp-api/pom.xml b/yudao-module-wechat/yudao-module-mp-api/pom.xml deleted file mode 100644 index 509b5f6..0000000 --- a/yudao-module-wechat/yudao-module-mp-api/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - yudao-module-wechat - cn.iocoder.boot - ${revision} - - 4.0.0 - yudao-module-mp-api - jar - - ${project.artifactId} - - mp 模块 API,暴露给其它模块调用 - - - - - cn.iocoder.boot - yudao-common - - - - diff --git a/yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java b/yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java deleted file mode 100644 index 14e82db..0000000 --- a/yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.iocoder.yudao.module.mp.enums; - -import cn.iocoder.yudao.framework.common.exception.ErrorCode; - -/** - * Member 错误码枚举类 - * - * wechatMp 系统,使用 1-004-000-000 段 - */ -public interface ErrorCodeConstants { - - // ========== 用户相关 1004001000============ - ErrorCode WX_ACCOUNT_NOT_EXISTS = new ErrorCode(1004001000, "公众号账户不存在"); - ErrorCode WX_ACCOUNT_FANS_NOT_EXISTS = new ErrorCode(1004001001, "粉丝账号不存在"); - ErrorCode COMMON_NOT_EXISTS = new ErrorCode(1004001002, "用户不存在"); - -} diff --git a/yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java b/yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java deleted file mode 100644 index 5987180..0000000 --- a/yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * mp 模块,我们放微信微信公众号。 - * 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能 - * - * 1. Controller URL:以 /mp/ 开头,避免和其它 Module 冲突 - * 2. DataObject 表名:以 mp_ 开头,方便在数据库中区分 - */ -package cn.iocoder.yudao.module.mp; diff --git a/yudao-module-wechat/yudao-module-mp-biz/pom.xml b/yudao-module-wechat/yudao-module-mp-biz/pom.xml deleted file mode 100644 index ff7884d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/pom.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - yudao-module-wechat - cn.iocoder.boot - ${revision} - - 4.0.0 - yudao-module-mp-biz - jar - - ${project.artifactId} - - mp 模块,我们放微信微信公众号。 - 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能 - - - - - cn.iocoder.boot - yudao-module-mp-api - ${revision} - - - cn.iocoder.boot - yudao-module-system-api - ${revision} - - - cn.iocoder.boot - yudao-module-infra-api - ${revision} - - - - - cn.iocoder.boot - yudao-spring-boot-starter-biz-operatelog - - - cn.iocoder.boot - yudao-spring-boot-starter-biz-weixin - - - cn.iocoder.boot - yudao-spring-boot-starter-biz-tenant - - - - - cn.iocoder.boot - yudao-spring-boot-starter-security - - - - - cn.iocoder.boot - yudao-spring-boot-starter-mybatis - - - - cn.iocoder.boot - yudao-spring-boot-starter-redis - - - - - cn.iocoder.boot - yudao-spring-boot-starter-mq - - - - - cn.iocoder.boot - yudao-spring-boot-starter-test - test - - - - - cn.iocoder.boot - yudao-spring-boot-starter-excel - - - - - diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java deleted file mode 100644 index e2b0424..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.iocoder.yudao.module.mp.builder; - -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -// TODO @亚洲:看看是不是可以使用 convert 来做,更符合项目 -public abstract class AbstractBuilder { - protected final Logger logger = LoggerFactory.getLogger(getClass()); - - public abstract WxMpXmlOutMessage build(String content, - WxMpXmlMessage wxMessage, WxMpService service); -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java deleted file mode 100644 index 421f461..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.builder; - -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutImageMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; - -public class ImageBuilder extends AbstractBuilder { - - @Override - public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage, - WxMpService service) { - - WxMpXmlOutImageMessage m = WxMpXmlOutMessage.IMAGE().mediaId(content) - .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) - .build(); - - return m; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java deleted file mode 100644 index bd95199..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.mp.builder; - -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage; - -public class TextBuilder extends AbstractBuilder { - - @Override - public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage, - WxMpService service) { - WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content(content) - .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) - .build(); - return m; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java deleted file mode 100644 index 8d1952e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java +++ /dev/null @@ -1,102 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account; - -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.*; -import cn.iocoder.yudao.module.mp.convert.account.WxAccountConvert; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.service.account.WxAccountService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -/** - * @author fengdan - */ -@Api(tags = "管理后台 - 公众号账户") -@RestController -@RequestMapping("/wechatMp/account") -@Validated -public class WxAccountController { - - @Resource - private WxAccountService wxAccountService; - - @PostMapping("/create") - @ApiOperation("创建公众号账户") - @PreAuthorize("@ss.hasPermission('wechatMp:account:create')") - public CommonResult createWxAccount(@Valid @RequestBody WxAccountCreateReqVO createReqVO) { - return success(wxAccountService.createWxAccount(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新公众号账户") - @PreAuthorize("@ss.hasPermission('wechatMp:account:update')") - public CommonResult updateWxAccount(@Valid @RequestBody WxAccountUpdateReqVO updateReqVO) { - wxAccountService.updateWxAccount(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除公众号账户") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) - @PreAuthorize("@ss.hasPermission('wechatMp:account:delete')") - public CommonResult deleteWxAccount(@RequestParam("id") Long id) { - wxAccountService.deleteWxAccount(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得公众号账户") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) - @PreAuthorize("@ss.hasPermission('wechatMp:account:query')") - public CommonResult getWxAccount(@RequestParam("id") Long id) { - WxAccountDO wxAccount = wxAccountService.getWxAccount(id); - return success(WxAccountConvert.INSTANCE.convert(wxAccount)); - } - - @GetMapping("/list") - @ApiOperation("获得公众号账户列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:account:query')") - public CommonResult> getWxAccountList(@RequestParam("ids") Collection ids) { - List list = wxAccountService.getWxAccountList(ids); - return success(WxAccountConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得公众号账户分页") - @PreAuthorize("@ss.hasPermission('wechatMp:account:query')") - public CommonResult> getWxAccountPage(@Valid WxAccountPageReqVO pageVO) { - PageResult pageResult = wxAccountService.getWxAccountPage(pageVO); - return success(WxAccountConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出公众号账户 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:account:export')") - @OperateLog(type = EXPORT) - public void exportWxAccountExcel(@Valid WxAccountExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxAccountService.getWxAccountList(exportReqVO); - // 导出 Excel - List datas = WxAccountConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "公众号账户.xls", "数据", WxAccountExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java deleted file mode 100644 index acd8dcc..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotNull; - -/** - * 公众号账户 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - * - * @author fengdan - */ -@Data -public class WxAccountBaseVO { - - @ApiModelProperty(value = "公众号名称", required = true) - @NotNull(message = "公众号名称不能为空") - private String name; - - @ApiModelProperty(value = "公众号账户", required = true) - @NotNull(message = "公众号账户不能为空") - private String account; - - @ApiModelProperty(value = "公众号appid", required = true) - @NotNull(message = "公众号appid不能为空") - private String appId; - - @ApiModelProperty(value = "公众号密钥", required = true) - @NotNull(message = "公众号密钥不能为空") - private String appSecret; - - @ApiModelProperty(value = "公众号token") - private String token; - - @ApiModelProperty(value = "加密密钥") - private String aesKey; - - @ApiModelProperty(value = "备注") - private String remark; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java deleted file mode 100644 index d2d7414..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import io.swagger.annotations.ApiModel; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 公众号账户创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountCreateReqVO extends WxAccountBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java deleted file mode 100644 index e889b35..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import java.util.Date; - - -/** - * 公众号账户 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxAccountExcelVO { - - @ExcelProperty("编号") - private Long id; - - @ExcelProperty("公众号名称") - private String name; - - @ExcelProperty("公众号账户") - private String account; - - @ExcelProperty("公众号appid") - private String appId; - - @ExcelProperty("公众号url") - private String url; - - @ExcelProperty("公众号token") - private String token; - - @ExcelProperty("加密密钥") - private String aesKey; - - @ExcelProperty("二维码图片URL") - private String qrCodeUrl; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("创建时间") - private Date createTime; -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java deleted file mode 100644 index ac3a98d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * @author fengdan - */ -@ApiModel(value = "管理后台 - 公众号账户 Excel 导出 Request VO", description = "参数和 WxAccountPageReqVO 是一致的") -@Data -public class WxAccountExportReqVO { - - @ApiModelProperty(value = "公众号名称") - private String name; - - @ApiModelProperty(value = "公众号账户") - private String account; - - @ApiModelProperty(value = "公众号appid") - private String appId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java deleted file mode 100644 index d314517..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 公众号账户分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountPageReqVO extends PageParam { - @ApiModelProperty(value = "公众号名称") - private String name; - - @ApiModelProperty(value = "公众号账户") - private String account; - - @ApiModelProperty(value = "公众号appid") - private String appId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java deleted file mode 100644 index 235bebc..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import java.util.Date; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 公众号账户 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountRespVO extends WxAccountBaseVO { - - @ApiModelProperty(value = "编号", required = true) - private Long id; - - @ApiModelProperty(value = "公众号url") - private String url; - - @ApiModelProperty(value = "二维码图片URL") - private String qrCodeUrl; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - - @ApiModelProperty(value = "公众号密钥", required = true) - private String appSecret; -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java deleted file mode 100644 index d1607d7..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.account.vo; - -import lombok.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 公众号账户更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountUpdateReqVO extends WxAccountBaseVO { - - @ApiModelProperty(value = "编号", required = true) - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java deleted file mode 100644 index c39c8cc..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans; - -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.*; -import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Api(tags = "管理后台 - 微信公众号粉丝") -@RestController -@RequestMapping("/wechatMp/wx-account-fans") -@Validated -public class WxAccountFansController { - - @Resource - private WxAccountFansService wxAccountFansService; - - @PostMapping("/create") - @ApiOperation("创建微信公众号粉丝") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:create')") - public CommonResult createWxAccountFans(@Valid @RequestBody WxAccountFansCreateReqVO createReqVO) { - return success(wxAccountFansService.createWxAccountFans(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新微信公众号粉丝") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:update')") - public CommonResult updateWxAccountFans(@Valid @RequestBody WxAccountFansUpdateReqVO updateReqVO) { - wxAccountFansService.updateWxAccountFans(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除微信公众号粉丝") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:delete')") - public CommonResult deleteWxAccountFans(@RequestParam("id") Long id) { - wxAccountFansService.deleteWxAccountFans(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得微信公众号粉丝") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") - public CommonResult getWxAccountFans(@RequestParam("id") Long id) { - WxAccountFansDO wxAccountFans = wxAccountFansService.getWxAccountFans(id); - return success(WxAccountFansConvert.INSTANCE.convert(wxAccountFans)); - } - - @GetMapping("/list") - @ApiOperation("获得微信公众号粉丝列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") - public CommonResult> getWxAccountFansList(@RequestParam("ids") Collection ids) { - List list = wxAccountFansService.getWxAccountFansList(ids); - return success(WxAccountFansConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得微信公众号粉丝分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") - public CommonResult> getWxAccountFansPage(@Valid WxAccountFansPageReqVO pageVO) { - PageResult pageResult = wxAccountFansService.getWxAccountFansPage(pageVO); - return success(WxAccountFansConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出微信公众号粉丝 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:export')") - @OperateLog(type = EXPORT) - public void exportWxAccountFansExcel(@Valid WxAccountFansExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxAccountFansService.getWxAccountFansList(exportReqVO); - // 导出 Excel - List datas = WxAccountFansConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "微信公众号粉丝.xls", "数据", WxAccountFansExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java deleted file mode 100644 index d030c16..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -/** -* 微信公众号粉丝 Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class WxAccountFansBaseVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "订阅状态,0未关注,1已关注") - private String subscribeStatus; - - @ApiModelProperty(value = "订阅时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private Date subscribeTime; - - @ApiModelProperty(value = "昵称") - private byte[] nickname; - - @ApiModelProperty(value = "性别,1男,2女,0未知") - private String gender; - - @ApiModelProperty(value = "语言") - private String language; - - @ApiModelProperty(value = "国家") - private String country; - - @ApiModelProperty(value = "省份") - private String province; - - @ApiModelProperty(value = "城市") - private String city; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "备注") - private String remark; - - @ApiModelProperty(value = "微信公众号ID") - private String wxAccountId; - - @ApiModelProperty(value = "微信公众号appid") - private String wxAccountAppid; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java deleted file mode 100644 index 2243b97..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 微信公众号粉丝创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansCreateReqVO extends WxAccountFansBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java deleted file mode 100644 index c5114a7..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java +++ /dev/null @@ -1,61 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 微信公众号粉丝 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxAccountFansExcelVO { - - @ExcelProperty("编号") - private Long id; - - @ExcelProperty("用户标识") - private String openid; - - @ExcelProperty("订阅状态,0未关注,1已关注") - private String subscribeStatus; - - @ExcelProperty("订阅时间") - private Date subscribeTime; - - @ExcelProperty("昵称") - private byte[] nickname; - - @ExcelProperty("性别,1男,2女,0未知") - private String gender; - - @ExcelProperty("语言") - private String language; - - @ExcelProperty("国家") - private String country; - - @ExcelProperty("省份") - private String province; - - @ExcelProperty("城市") - private String city; - - @ExcelProperty("头像地址") - private String headimgUrl; - - @ExcelProperty("备注") - private String remark; - - @ExcelProperty("微信公众号ID") - private String wxAccountId; - - @ExcelProperty("微信公众号appid") - private String wxAccountAppid; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java deleted file mode 100644 index 82f4bc7..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 微信公众号粉丝 Excel 导出 Request VO", description = "参数和 WxAccountFansPageReqVO 是一致的") -@Data -public class WxAccountFansExportReqVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "订阅状态,0未关注,1已关注") - private String subscribeStatus; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始订阅时间") - private Date beginSubscribeTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束订阅时间") - private Date endSubscribeTime; - - @ApiModelProperty(value = "昵称") - private String nickname; - - @ApiModelProperty(value = "性别,1男,2女,0未知") - private String gender; - - @ApiModelProperty(value = "语言") - private String language; - - @ApiModelProperty(value = "国家") - private String country; - - @ApiModelProperty(value = "省份") - private String province; - - @ApiModelProperty(value = "城市") - private String city; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "备注") - private String remark; - - @ApiModelProperty(value = "微信公众号ID") - private String wxAccountId; - - @ApiModelProperty(value = "微信公众号appid") - private String wxAccountAppid; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java deleted file mode 100644 index 2437ce6..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java +++ /dev/null @@ -1,69 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 微信公众号粉丝分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansPageReqVO extends PageParam { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "订阅状态,0未关注,1已关注") - private String subscribeStatus; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始订阅时间") - private Date beginSubscribeTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束订阅时间") - private Date endSubscribeTime; - - @ApiModelProperty(value = "昵称") - private String nickname; - - @ApiModelProperty(value = "性别,1男,2女,0未知") - private String gender; - - @ApiModelProperty(value = "语言") - private String language; - - @ApiModelProperty(value = "国家") - private String country; - - @ApiModelProperty(value = "省份") - private String province; - - @ApiModelProperty(value = "城市") - private String city; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "备注") - private String remark; - - @ApiModelProperty(value = "微信公众号ID") - private String wxAccountId; - - @ApiModelProperty(value = "微信公众号appid") - private String wxAccountAppid; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java deleted file mode 100644 index f1704ee..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 微信公众号粉丝 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansRespVO extends WxAccountFansBaseVO { - - @ApiModelProperty(value = "编号", required = true) - private Long id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java deleted file mode 100644 index 9b04e47..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; - -import lombok.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 微信公众号粉丝更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansUpdateReqVO extends WxAccountFansBaseVO { - - @ApiModelProperty(value = "编号", required = true) - @NotNull(message = "编号不能为空") - private Long id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java deleted file mode 100644 index aa4a0e3..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; -import cn.iocoder.yudao.module.mp.convert.accountfanstag.WxAccountFansTagConvert; -import cn.iocoder.yudao.module.mp.service.accountfanstag.WxAccountFansTagService; - -@Api(tags = "管理后台 - 粉丝标签关联") -@RestController -@RequestMapping("/wechatMp/wx-account-fans-tag") -@Validated -public class WxAccountFansTagController { - - @Resource - private WxAccountFansTagService wxAccountFansTagService; - - @PostMapping("/create") - @ApiOperation("创建粉丝标签关联") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:create')") - public CommonResult createWxAccountFansTag(@Valid @RequestBody WxAccountFansTagCreateReqVO createReqVO) { - return success(wxAccountFansTagService.createWxAccountFansTag(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新粉丝标签关联") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:update')") - public CommonResult updateWxAccountFansTag(@Valid @RequestBody WxAccountFansTagUpdateReqVO updateReqVO) { - wxAccountFansTagService.updateWxAccountFansTag(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除粉丝标签关联") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:delete')") - public CommonResult deleteWxAccountFansTag(@RequestParam("id") Integer id) { - wxAccountFansTagService.deleteWxAccountFansTag(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得粉丝标签关联") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") - public CommonResult getWxAccountFansTag(@RequestParam("id") Integer id) { - WxAccountFansTagDO wxAccountFansTag = wxAccountFansTagService.getWxAccountFansTag(id); - return success(WxAccountFansTagConvert.INSTANCE.convert(wxAccountFansTag)); - } - - @GetMapping("/list") - @ApiOperation("获得粉丝标签关联列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") - public CommonResult> getWxAccountFansTagList(@RequestParam("ids") Collection ids) { - List list = wxAccountFansTagService.getWxAccountFansTagList(ids); - return success(WxAccountFansTagConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得粉丝标签关联分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") - public CommonResult> getWxAccountFansTagPage(@Valid WxAccountFansTagPageReqVO pageVO) { - PageResult pageResult = wxAccountFansTagService.getWxAccountFansTagPage(pageVO); - return success(WxAccountFansTagConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出粉丝标签关联 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:export')") - @OperateLog(type = EXPORT) - public void exportWxAccountFansTagExcel(@Valid WxAccountFansTagExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxAccountFansTagService.getWxAccountFansTagList(exportReqVO); - // 导出 Excel - List datas = WxAccountFansTagConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "粉丝标签关联.xls", "数据", WxAccountFansTagExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java deleted file mode 100644 index 2e952e4..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 粉丝标签关联 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxAccountFansTagBaseVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "标签ID") - private String tagId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java deleted file mode 100644 index e386d40..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 粉丝标签关联创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansTagCreateReqVO extends WxAccountFansTagBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java deleted file mode 100644 index ffaa474..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 粉丝标签关联 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxAccountFansTagExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("用户标识") - private String openid; - - @ExcelProperty("标签ID") - private String tagId; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java deleted file mode 100644 index 2185e06..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 粉丝标签关联 Excel 导出 Request VO", description = "参数和 WxAccountFansTagPageReqVO 是一致的") -@Data -public class WxAccountFansTagExportReqVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "标签ID") - private String tagId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java deleted file mode 100644 index 142cab3..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 粉丝标签关联分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansTagPageReqVO extends PageParam { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "标签ID") - private String tagId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java deleted file mode 100644 index 804ac8e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 粉丝标签关联 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansTagRespVO extends WxAccountFansTagBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java deleted file mode 100644 index 7ef3f4c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 粉丝标签关联更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxAccountFansTagUpdateReqVO extends WxAccountFansTagBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java deleted file mode 100644 index ff3466c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; -import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; - -@Api(tags = "管理后台 - 粉丝消息表 ") -@RestController -@RequestMapping("/wechatMp/wx-fans-msg") -@Validated -public class WxFansMsgController { - - @Resource - private WxFansMsgService wxFansMsgService; - - @PostMapping("/create") - @ApiOperation("创建粉丝消息表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:create')") - public CommonResult createWxFansMsg(@Valid @RequestBody WxFansMsgCreateReqVO createReqVO) { - return success(wxFansMsgService.createWxFansMsg(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新粉丝消息表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:update')") - public CommonResult updateWxFansMsg(@Valid @RequestBody WxFansMsgUpdateReqVO updateReqVO) { - wxFansMsgService.updateWxFansMsg(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除粉丝消息表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:delete')") - public CommonResult deleteWxFansMsg(@RequestParam("id") Integer id) { - wxFansMsgService.deleteWxFansMsg(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得粉丝消息表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") - public CommonResult getWxFansMsg(@RequestParam("id") Integer id) { - WxFansMsgDO wxFansMsg = wxFansMsgService.getWxFansMsg(id); - return success(WxFansMsgConvert.INSTANCE.convert(wxFansMsg)); - } - - @GetMapping("/list") - @ApiOperation("获得粉丝消息表 列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") - public CommonResult> getWxFansMsgList(@RequestParam("ids") Collection ids) { - List list = wxFansMsgService.getWxFansMsgList(ids); - return success(WxFansMsgConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得粉丝消息表 分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") - public CommonResult> getWxFansMsgPage(@Valid WxFansMsgPageReqVO pageVO) { - PageResult pageResult = wxFansMsgService.getWxFansMsgPage(pageVO); - return success(WxFansMsgConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出粉丝消息表 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:export')") - @OperateLog(type = EXPORT) - public void exportWxFansMsgExcel(@Valid WxFansMsgExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxFansMsgService.getWxFansMsgList(exportReqVO); - // 导出 Excel - List datas = WxFansMsgConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "粉丝消息表 .xls", "数据", WxFansMsgExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java deleted file mode 100644 index 8527d41..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 粉丝消息表 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxFansMsgBaseVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "昵称") - private byte[] nickname; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "消息类型") - private String msgType; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "最近一条回复内容") - private String resContent; - - @ApiModelProperty(value = "是否已回复") - private String isRes; - - @ApiModelProperty(value = "微信素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信图片URL") - private String picUrl; - - @ApiModelProperty(value = "本地图片路径") - private String picPath; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java deleted file mode 100644 index 22b293b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 粉丝消息表 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgCreateReqVO extends WxFansMsgBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java deleted file mode 100644 index 2d35d37..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 粉丝消息表 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxFansMsgExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("用户标识") - private String openid; - - @ExcelProperty("昵称") - private byte[] nickname; - - @ExcelProperty("头像地址") - private String headimgUrl; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("消息类型") - private String msgType; - - @ExcelProperty("内容") - private String content; - - @ExcelProperty("最近一条回复内容") - private String resContent; - - @ExcelProperty("是否已回复") - private String isRes; - - @ExcelProperty("微信素材ID") - private String mediaId; - - @ExcelProperty("微信图片URL") - private String picUrl; - - @ExcelProperty("本地图片路径") - private String picPath; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java deleted file mode 100644 index dba5d40..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 粉丝消息表 Excel 导出 Request VO", description = "参数和 WxFansMsgPageReqVO 是一致的") -@Data -public class WxFansMsgExportReqVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "昵称") - private String nickname; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "消息类型") - private String msgType; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "最近一条回复内容") - private String resContent; - - @ApiModelProperty(value = "是否已回复") - private String isRes; - - @ApiModelProperty(value = "微信素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信图片URL") - private String picUrl; - - @ApiModelProperty(value = "本地图片路径") - private String picPath; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java deleted file mode 100644 index d80a883..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 粉丝消息表 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgPageReqVO extends PageParam { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "昵称") - private String nickname; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "消息类型") - private String msgType; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "最近一条回复内容") - private String resContent; - - @ApiModelProperty(value = "是否已回复") - private String isRes; - - @ApiModelProperty(value = "微信素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信图片URL") - private String picUrl; - - @ApiModelProperty(value = "本地图片路径") - private String picPath; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java deleted file mode 100644 index 62845b4..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 粉丝消息表 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgRespVO extends WxFansMsgBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java deleted file mode 100644 index eedad78..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 粉丝消息表 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgUpdateReqVO extends WxFansMsgBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java deleted file mode 100644 index 19a9140..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; -import cn.iocoder.yudao.module.mp.service.fansmsgres.WxFansMsgResService; - -@Api(tags = "管理后台 - 回复粉丝消息历史表 ") -@RestController -@RequestMapping("/wechatMp/wx-fans-msg-res") -@Validated -public class WxFansMsgResController { - - @Resource - private WxFansMsgResService wxFansMsgResService; - - @PostMapping("/create") - @ApiOperation("创建回复粉丝消息历史表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:create')") - public CommonResult createWxFansMsgRes(@Valid @RequestBody WxFansMsgResCreateReqVO createReqVO) { - return success(wxFansMsgResService.createWxFansMsgRes(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新回复粉丝消息历史表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:update')") - public CommonResult updateWxFansMsgRes(@Valid @RequestBody WxFansMsgResUpdateReqVO updateReqVO) { - wxFansMsgResService.updateWxFansMsgRes(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除回复粉丝消息历史表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:delete')") - public CommonResult deleteWxFansMsgRes(@RequestParam("id") Integer id) { - wxFansMsgResService.deleteWxFansMsgRes(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得回复粉丝消息历史表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") - public CommonResult getWxFansMsgRes(@RequestParam("id") Integer id) { - WxFansMsgResDO wxFansMsgRes = wxFansMsgResService.getWxFansMsgRes(id); - return success(WxFansMsgResConvert.INSTANCE.convert(wxFansMsgRes)); - } - - @GetMapping("/list") - @ApiOperation("获得回复粉丝消息历史表 列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") - public CommonResult> getWxFansMsgResList(@RequestParam("ids") Collection ids) { - List list = wxFansMsgResService.getWxFansMsgResList(ids); - return success(WxFansMsgResConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得回复粉丝消息历史表 分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") - public CommonResult> getWxFansMsgResPage(@Valid WxFansMsgResPageReqVO pageVO) { - PageResult pageResult = wxFansMsgResService.getWxFansMsgResPage(pageVO); - return success(WxFansMsgResConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出回复粉丝消息历史表 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:export')") - @OperateLog(type = EXPORT) - public void exportWxFansMsgResExcel(@Valid WxFansMsgResExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxFansMsgResService.getWxFansMsgResList(exportReqVO); - // 导出 Excel - List datas = WxFansMsgResConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "回复粉丝消息历史表 .xls", "数据", WxFansMsgResExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java deleted file mode 100644 index 0f02b0b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 回复粉丝消息历史表 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxFansMsgResBaseVO { - - @ApiModelProperty(value = "粉丝消息ID") - private String fansMsgId; - - @ApiModelProperty(value = "回复内容") - private String resContent; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java deleted file mode 100644 index 8016f55..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 回复粉丝消息历史表 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResCreateReqVO extends WxFansMsgResBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java deleted file mode 100644 index 067e95b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 回复粉丝消息历史表 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxFansMsgResExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("粉丝消息ID") - private String fansMsgId; - - @ExcelProperty("回复内容") - private String resContent; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java deleted file mode 100644 index 741aa69..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 回复粉丝消息历史表 Excel 导出 Request VO", description = "参数和 WxFansMsgResPageReqVO 是一致的") -@Data -public class WxFansMsgResExportReqVO { - - @ApiModelProperty(value = "粉丝消息ID") - private String fansMsgId; - - @ApiModelProperty(value = "回复内容") - private String resContent; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java deleted file mode 100644 index c888bc4..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 回复粉丝消息历史表 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResPageReqVO extends PageParam { - - @ApiModelProperty(value = "粉丝消息ID") - private String fansMsgId; - - @ApiModelProperty(value = "回复内容") - private String resContent; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java deleted file mode 100644 index 3fc4b07..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 回复粉丝消息历史表 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResRespVO extends WxFansMsgResBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java deleted file mode 100644 index 71ac11c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 回复粉丝消息历史表 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResUpdateReqVO extends WxFansMsgResBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java deleted file mode 100644 index 556c011..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/FansTagController.java +++ /dev/null @@ -1,98 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag; - -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.*; -import cn.iocoder.yudao.module.mp.convert.fanstag.WxFansTagConvert; -import cn.iocoder.yudao.module.mp.service.tag.FansTagService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.mp.bean.tag.WxUserTag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; -import java.io.IOException; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -/** - * @author fengdan - */ -@Api(tags = "管理后台 - 粉丝标签") -@RestController -@RequestMapping("/wechatMp/fans-tag") -@Validated -public class FansTagController { - - @Resource - private FansTagService fansTagService; - - @PostMapping("/create") - @ApiOperation("创建粉丝标签") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:create')") - public CommonResult createWxFansTag(@Valid @RequestBody FansTagCreateReqVO createReqVO) throws WxErrorException { - return success(fansTagService.createWxFansTag(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新粉丝标签") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:update')") - public CommonResult updateWxFansTag(@Valid @RequestBody FansTagUpdateReqVO updateReqVO) throws WxErrorException { - return success(fansTagService.updateWxFansTag(updateReqVO)); - } - - @DeleteMapping("/delete") - @ApiOperation("删除粉丝标签") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:delete')") - public CommonResult deleteWxFansTag(@RequestParam("id") Long id, - @RequestParam("appId") String appId) throws WxErrorException { - return success(fansTagService.deleteWxFansTag(id, appId)); - } - - @GetMapping("/list") - @ApiOperation("获取公众号已创建的标签") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") - public CommonResult> getWxFansTagList(@NotEmpty(message = "公众号appId不能为空") - @RequestParam("appId") String appId) throws WxErrorException { - List list = fansTagService.getWxFansTagList(appId); - return success(WxFansTagConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获取公众号已创建的标签") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") - public CommonResult> page() throws WxErrorException { - PageResult page = new PageResult<>(); - return success(WxFansTagConvert.INSTANCE.convertPage(page)); - } - - @GetMapping("/tagListUser") - @ApiOperation("获取标签下粉丝列表") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") - public CommonResult tagListUser(@Valid FansTagPageReqVO pageVO) { - return success(""); - } - - @GetMapping("/export-excel") - @ApiOperation("导出粉丝标签 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:export')") - @OperateLog(type = EXPORT) - public void exportWxFansTagExcel(@Valid FansTagExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = fansTagService.getWxFansTagList(exportReqVO); - // 导出 Excel - List datas = WxFansTagConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "粉丝标签.xls", "数据", FansTagExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java deleted file mode 100644 index b1c4212..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagBaseVO.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -/** - * 粉丝标签 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - * - * @author fengdan - */ -@Data -public class FansTagBaseVO { - - @NotBlank(message = "标签名不能为空") - @ApiModelProperty(value = "标签名,UTF8编码") - private String name; -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java deleted file mode 100644 index 837c554..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagCreateReqVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotBlank; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 粉丝标签创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FansTagCreateReqVO extends FansTagBaseVO { - @NotBlank(message = "公众号appId不能为空") - @ApiModelProperty("微信公众号appId") - private String appId; -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java deleted file mode 100644 index b55c9dd..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExcelVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 粉丝标签 Excel VO - * - * @author 芋道源码 - */ -@Data -public class FansTagExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("标签名称") - private String name; - - @ExcelProperty("粉丝数量") - private Integer count; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java deleted file mode 100644 index fbe23b2..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagExportReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 粉丝标签 Excel 导出 Request VO", description = "参数和 WxFansTagPageReqVO 是一致的") -@Data -public class FansTagExportReqVO { - - @ApiModelProperty(value = "标签名称") - private String name; - - @ApiModelProperty(value = "粉丝数量") - private Integer count; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java deleted file mode 100644 index 1592e2c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagPageReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -import javax.validation.constraints.NotEmpty; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 粉丝标签分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FansTagPageReqVO extends PageParam { - - @NotEmpty(message = "公众号appId不能为空") - @ApiModelProperty("微信公众号appId") - private String appId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java deleted file mode 100644 index 7fd9967..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 粉丝标签 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FansTagRespVO extends FansTagBaseVO { - - @ApiModelProperty(value = "标签id,由微信分配.") - private Long id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java deleted file mode 100644 index d114c96..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/FansTagUpdateReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -/** - * @author fengdan - */ -@ApiModel("管理后台 - 粉丝标签更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class FansTagUpdateReqVO extends FansTagBaseVO { - - @ApiModelProperty(value = "标签id,由微信分配", required = true) - @NotNull(message = "主键不能为空") - private Long id; - - @NotBlank(message = "公众号appId不能为空") - @ApiModelProperty("微信公众号appId") - private String appId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java deleted file mode 100644 index 3a6b941..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; -import cn.iocoder.yudao.module.mp.convert.mediaupload.WxMediaUploadConvert; -import cn.iocoder.yudao.module.mp.service.mediaupload.WxMediaUploadService; - -@Api(tags = "管理后台 - 微信素材上传表 ") -@RestController -@RequestMapping("/wechatMp/wx-media-upload") -@Validated -public class WxMediaUploadController { - - @Resource - private WxMediaUploadService wxMediaUploadService; - - @PostMapping("/create") - @ApiOperation("创建微信素材上传表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:create')") - public CommonResult createWxMediaUpload(@Valid @RequestBody WxMediaUploadCreateReqVO createReqVO) { - return success(wxMediaUploadService.createWxMediaUpload(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新微信素材上传表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:update')") - public CommonResult updateWxMediaUpload(@Valid @RequestBody WxMediaUploadUpdateReqVO updateReqVO) { - wxMediaUploadService.updateWxMediaUpload(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除微信素材上传表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:delete')") - public CommonResult deleteWxMediaUpload(@RequestParam("id") Integer id) { - wxMediaUploadService.deleteWxMediaUpload(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得微信素材上传表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") - public CommonResult getWxMediaUpload(@RequestParam("id") Integer id) { - WxMediaUploadDO wxMediaUpload = wxMediaUploadService.getWxMediaUpload(id); - return success(WxMediaUploadConvert.INSTANCE.convert(wxMediaUpload)); - } - - @GetMapping("/list") - @ApiOperation("获得微信素材上传表 列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") - public CommonResult> getWxMediaUploadList(@RequestParam("ids") Collection ids) { - List list = wxMediaUploadService.getWxMediaUploadList(ids); - return success(WxMediaUploadConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得微信素材上传表 分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") - public CommonResult> getWxMediaUploadPage(@Valid WxMediaUploadPageReqVO pageVO) { - PageResult pageResult = wxMediaUploadService.getWxMediaUploadPage(pageVO); - return success(WxMediaUploadConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出微信素材上传表 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:export')") - @OperateLog(type = EXPORT) - public void exportWxMediaUploadExcel(@Valid WxMediaUploadExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxMediaUploadService.getWxMediaUploadList(exportReqVO); - // 导出 Excel - List datas = WxMediaUploadConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "微信素材上传表 .xls", "数据", WxMediaUploadExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java deleted file mode 100644 index c00af4f..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 微信素材上传表 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxMediaUploadBaseVO { - - @ApiModelProperty(value = "类型") - private String type; - - @ApiModelProperty(value = "图片URL") - private String url; - - @ApiModelProperty(value = "素材ID") - private String mediaId; - - @ApiModelProperty(value = "缩略图素材ID") - private String thumbMediaId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java deleted file mode 100644 index e26be6e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 微信素材上传表 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMediaUploadCreateReqVO extends WxMediaUploadBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java deleted file mode 100644 index 26e4597..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 微信素材上传表 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxMediaUploadExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("类型") - private String type; - - @ExcelProperty("图片URL") - private String url; - - @ExcelProperty("素材ID") - private String mediaId; - - @ExcelProperty("缩略图素材ID") - private String thumbMediaId; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java deleted file mode 100644 index a5d412e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 微信素材上传表 Excel 导出 Request VO", description = "参数和 WxMediaUploadPageReqVO 是一致的") -@Data -public class WxMediaUploadExportReqVO { - - @ApiModelProperty(value = "类型") - private String type; - - @ApiModelProperty(value = "图片URL") - private String url; - - @ApiModelProperty(value = "素材ID") - private String mediaId; - - @ApiModelProperty(value = "缩略图素材ID") - private String thumbMediaId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java deleted file mode 100644 index 32a4c17..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 微信素材上传表 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMediaUploadPageReqVO extends PageParam { - - @ApiModelProperty(value = "类型") - private String type; - - @ApiModelProperty(value = "图片URL") - private String url; - - @ApiModelProperty(value = "素材ID") - private String mediaId; - - @ApiModelProperty(value = "缩略图素材ID") - private String thumbMediaId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java deleted file mode 100644 index e2e1730..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 微信素材上传表 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMediaUploadRespVO extends WxMediaUploadBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java deleted file mode 100644 index a094a14..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 微信素材上传表 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMediaUploadUpdateReqVO extends WxMediaUploadBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java deleted file mode 100644 index d8472fb..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; -import cn.iocoder.yudao.module.mp.convert.menu.WxMenuConvert; -import cn.iocoder.yudao.module.mp.service.menu.WxMenuService; - -@Api(tags = "管理后台 - 微信菜单") -@RestController -@RequestMapping("/wechatMp/wx-menu") -@Validated -public class WxMenuController { - - @Resource - private WxMenuService wxMenuService; - - @PostMapping("/create") - @ApiOperation("创建微信菜单") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:create')") - public CommonResult createWxMenu(@Valid @RequestBody WxMenuCreateReqVO createReqVO) { - return success(wxMenuService.createWxMenu(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新微信菜单") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:update')") - public CommonResult updateWxMenu(@Valid @RequestBody WxMenuUpdateReqVO updateReqVO) { - wxMenuService.updateWxMenu(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除微信菜单") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:delete')") - public CommonResult deleteWxMenu(@RequestParam("id") Integer id) { - wxMenuService.deleteWxMenu(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得微信菜单") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") - public CommonResult getWxMenu(@RequestParam("id") Integer id) { - WxMenuDO wxMenu = wxMenuService.getWxMenu(id); - return success(WxMenuConvert.INSTANCE.convert(wxMenu)); - } - - @GetMapping("/list") - @ApiOperation("获得微信菜单列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") - public CommonResult> getWxMenuList(@RequestParam("ids") Collection ids) { - List list = wxMenuService.getWxMenuList(ids); - return success(WxMenuConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得微信菜单分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") - public CommonResult> getWxMenuPage(@Valid WxMenuPageReqVO pageVO) { - PageResult pageResult = wxMenuService.getWxMenuPage(pageVO); - return success(WxMenuConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出微信菜单 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:export')") - @OperateLog(type = EXPORT) - public void exportWxMenuExcel(@Valid WxMenuExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxMenuService.getWxMenuList(exportReqVO); - // 导出 Excel - List datas = WxMenuConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "微信菜单.xls", "数据", WxMenuExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java deleted file mode 100644 index 303d4a8..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 微信菜单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxMenuBaseVO { - - @ApiModelProperty(value = "父ID") - private String parentId; - - @ApiModelProperty(value = "菜单名称") - private String menuName; - - @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") - private String menuType; - - @ApiModelProperty(value = "菜单等级") - private String menuLevel; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "菜单URL") - private String menuUrl; - - @ApiModelProperty(value = "排序") - private String menuSort; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "小程序appid") - private String miniprogramAppid; - - @ApiModelProperty(value = "小程序页面路径") - private String miniprogramPagepath; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java deleted file mode 100644 index 1f5e527..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 微信菜单创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMenuCreateReqVO extends WxMenuBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java deleted file mode 100644 index 89302f2..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 微信菜单 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxMenuExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("父ID") - private String parentId; - - @ExcelProperty("菜单名称") - private String menuName; - - @ExcelProperty("菜单类型 1文本消息;2图文消息;3网址链接;4小程序") - private String menuType; - - @ExcelProperty("菜单等级") - private String menuLevel; - - @ExcelProperty("模板ID") - private String tplId; - - @ExcelProperty("菜单URL") - private String menuUrl; - - @ExcelProperty("排序") - private String menuSort; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("小程序appid") - private String miniprogramAppid; - - @ExcelProperty("小程序页面路径") - private String miniprogramPagepath; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java deleted file mode 100644 index 4faa533..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 微信菜单 Excel 导出 Request VO", description = "参数和 WxMenuPageReqVO 是一致的") -@Data -public class WxMenuExportReqVO { - - @ApiModelProperty(value = "父ID") - private String parentId; - - @ApiModelProperty(value = "菜单名称") - private String menuName; - - @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") - private String menuType; - - @ApiModelProperty(value = "菜单等级") - private String menuLevel; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "菜单URL") - private String menuUrl; - - @ApiModelProperty(value = "排序") - private String menuSort; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "小程序appid") - private String miniprogramAppid; - - @ApiModelProperty(value = "小程序页面路径") - private String miniprogramPagepath; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java deleted file mode 100644 index 5fe1cbe..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 微信菜单分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMenuPageReqVO extends PageParam { - - @ApiModelProperty(value = "父ID") - private String parentId; - - @ApiModelProperty(value = "菜单名称") - private String menuName; - - @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") - private String menuType; - - @ApiModelProperty(value = "菜单等级") - private String menuLevel; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "菜单URL") - private String menuUrl; - - @ApiModelProperty(value = "排序") - private String menuSort; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "小程序appid") - private String miniprogramAppid; - - @ApiModelProperty(value = "小程序页面路径") - private String miniprogramPagepath; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java deleted file mode 100644 index 21ccf98..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 微信菜单 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMenuRespVO extends WxMenuBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java deleted file mode 100644 index 5603624..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 微信菜单更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxMenuUpdateReqVO extends WxMenuBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java deleted file mode 100644 index 652c56c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; -import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; -import cn.iocoder.yudao.module.mp.service.newsarticleitem.WxNewsArticleItemService; - -@Api(tags = "管理后台 - 图文消息文章列表表 ") -@RestController -@RequestMapping("/wechatMp/wx-news-article-item") -@Validated -public class WxNewsArticleItemController { - - @Resource - private WxNewsArticleItemService wxNewsArticleItemService; - - @PostMapping("/create") - @ApiOperation("创建图文消息文章列表表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:create')") - public CommonResult createWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemCreateReqVO createReqVO) { - return success(wxNewsArticleItemService.createWxNewsArticleItem(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新图文消息文章列表表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:update')") - public CommonResult updateWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemUpdateReqVO updateReqVO) { - wxNewsArticleItemService.updateWxNewsArticleItem(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除图文消息文章列表表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:delete')") - public CommonResult deleteWxNewsArticleItem(@RequestParam("id") Integer id) { - wxNewsArticleItemService.deleteWxNewsArticleItem(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得图文消息文章列表表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") - public CommonResult getWxNewsArticleItem(@RequestParam("id") Integer id) { - WxNewsArticleItemDO wxNewsArticleItem = wxNewsArticleItemService.getWxNewsArticleItem(id); - return success(WxNewsArticleItemConvert.INSTANCE.convert(wxNewsArticleItem)); - } - - @GetMapping("/list") - @ApiOperation("获得图文消息文章列表表 列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") - public CommonResult> getWxNewsArticleItemList(@RequestParam("ids") Collection ids) { - List list = wxNewsArticleItemService.getWxNewsArticleItemList(ids); - return success(WxNewsArticleItemConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得图文消息文章列表表 分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") - public CommonResult> getWxNewsArticleItemPage(@Valid WxNewsArticleItemPageReqVO pageVO) { - PageResult pageResult = wxNewsArticleItemService.getWxNewsArticleItemPage(pageVO); - return success(WxNewsArticleItemConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出图文消息文章列表表 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:export')") - @OperateLog(type = EXPORT) - public void exportWxNewsArticleItemExcel(@Valid WxNewsArticleItemExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxNewsArticleItemService.getWxNewsArticleItemList(exportReqVO); - // 导出 Excel - List datas = WxNewsArticleItemConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "图文消息文章列表表 .xls", "数据", WxNewsArticleItemExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java deleted file mode 100644 index 78a5e96..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 图文消息文章列表表 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxNewsArticleItemBaseVO { - - @ApiModelProperty(value = "标题") - private String title; - - @ApiModelProperty(value = "摘要") - private String digest; - - @ApiModelProperty(value = "作者") - private String author; - - @ApiModelProperty(value = "是否展示封面图片(0/1)") - private String showCoverPic; - - @ApiModelProperty(value = "上传微信,封面图片标识") - private String thumbMediaId; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "内容链接") - private String contentSourceUrl; - - @ApiModelProperty(value = "文章排序") - private Integer orderNo; - - @ApiModelProperty(value = "图片路径") - private String picPath; - - @ApiModelProperty(value = "是否可以留言") - private String needOpenComment; - - @ApiModelProperty(value = "是否仅粉丝可以留言") - private String onlyFansCanComment; - - @ApiModelProperty(value = "图文ID") - private String newsId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java deleted file mode 100644 index 8dba64c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 图文消息文章列表表 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsArticleItemCreateReqVO extends WxNewsArticleItemBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java deleted file mode 100644 index d1172e5..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java +++ /dev/null @@ -1,62 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 图文消息文章列表表 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxNewsArticleItemExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("标题") - private String title; - - @ExcelProperty("摘要") - private String digest; - - @ExcelProperty("作者") - private String author; - - @ExcelProperty("是否展示封面图片(0/1)") - private String showCoverPic; - - @ExcelProperty("上传微信,封面图片标识") - private String thumbMediaId; - - @ExcelProperty("内容") - private String content; - - @ExcelProperty("内容链接") - private String contentSourceUrl; - - @ExcelProperty("文章排序") - private Integer orderNo; - - @ExcelProperty("图片路径") - private String picPath; - - @ExcelProperty("是否可以留言") - private String needOpenComment; - - @ExcelProperty("是否仅粉丝可以留言") - private String onlyFansCanComment; - - @ExcelProperty("图文ID") - private String newsId; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java deleted file mode 100644 index 90571a7..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java +++ /dev/null @@ -1,63 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 图文消息文章列表表 Excel 导出 Request VO", description = "参数和 WxNewsArticleItemPageReqVO 是一致的") -@Data -public class WxNewsArticleItemExportReqVO { - - @ApiModelProperty(value = "标题") - private String title; - - @ApiModelProperty(value = "摘要") - private String digest; - - @ApiModelProperty(value = "作者") - private String author; - - @ApiModelProperty(value = "是否展示封面图片(0/1)") - private String showCoverPic; - - @ApiModelProperty(value = "上传微信,封面图片标识") - private String thumbMediaId; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "内容链接") - private String contentSourceUrl; - - @ApiModelProperty(value = "文章排序") - private Integer orderNo; - - @ApiModelProperty(value = "图片路径") - private String picPath; - - @ApiModelProperty(value = "是否可以留言") - private String needOpenComment; - - @ApiModelProperty(value = "是否仅粉丝可以留言") - private String onlyFansCanComment; - - @ApiModelProperty(value = "图文ID") - private String newsId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java deleted file mode 100644 index 52b6af8..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 图文消息文章列表表 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsArticleItemPageReqVO extends PageParam { - - @ApiModelProperty(value = "标题") - private String title; - - @ApiModelProperty(value = "摘要") - private String digest; - - @ApiModelProperty(value = "作者") - private String author; - - @ApiModelProperty(value = "是否展示封面图片(0/1)") - private String showCoverPic; - - @ApiModelProperty(value = "上传微信,封面图片标识") - private String thumbMediaId; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "内容链接") - private String contentSourceUrl; - - @ApiModelProperty(value = "文章排序") - private Integer orderNo; - - @ApiModelProperty(value = "图片路径") - private String picPath; - - @ApiModelProperty(value = "是否可以留言") - private String needOpenComment; - - @ApiModelProperty(value = "是否仅粉丝可以留言") - private String onlyFansCanComment; - - @ApiModelProperty(value = "图文ID") - private String newsId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java deleted file mode 100644 index 7ed2c33..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 图文消息文章列表表 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsArticleItemRespVO extends WxNewsArticleItemBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java deleted file mode 100644 index 72f2351..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 图文消息文章列表表 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsArticleItemUpdateReqVO extends WxNewsArticleItemBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java deleted file mode 100644 index c6c7220..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; -import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; -import cn.iocoder.yudao.module.mp.service.newstemplate.WxNewsTemplateService; - -@Api(tags = "管理后台 - 图文消息模板") -@RestController -@RequestMapping("/wechatMp/wx-news-template") -@Validated -public class WxNewsTemplateController { - - @Resource - private WxNewsTemplateService wxNewsTemplateService; - - @PostMapping("/create") - @ApiOperation("创建图文消息模板") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:create')") - public CommonResult createWxNewsTemplate(@Valid @RequestBody WxNewsTemplateCreateReqVO createReqVO) { - return success(wxNewsTemplateService.createWxNewsTemplate(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新图文消息模板") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:update')") - public CommonResult updateWxNewsTemplate(@Valid @RequestBody WxNewsTemplateUpdateReqVO updateReqVO) { - wxNewsTemplateService.updateWxNewsTemplate(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除图文消息模板") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:delete')") - public CommonResult deleteWxNewsTemplate(@RequestParam("id") Integer id) { - wxNewsTemplateService.deleteWxNewsTemplate(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得图文消息模板") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") - public CommonResult getWxNewsTemplate(@RequestParam("id") Integer id) { - WxNewsTemplateDO wxNewsTemplate = wxNewsTemplateService.getWxNewsTemplate(id); - return success(WxNewsTemplateConvert.INSTANCE.convert(wxNewsTemplate)); - } - - @GetMapping("/list") - @ApiOperation("获得图文消息模板列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") - public CommonResult> getWxNewsTemplateList(@RequestParam("ids") Collection ids) { - List list = wxNewsTemplateService.getWxNewsTemplateList(ids); - return success(WxNewsTemplateConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得图文消息模板分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") - public CommonResult> getWxNewsTemplatePage(@Valid WxNewsTemplatePageReqVO pageVO) { - PageResult pageResult = wxNewsTemplateService.getWxNewsTemplatePage(pageVO); - return success(WxNewsTemplateConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出图文消息模板 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:export')") - @OperateLog(type = EXPORT) - public void exportWxNewsTemplateExcel(@Valid WxNewsTemplateExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxNewsTemplateService.getWxNewsTemplateList(exportReqVO); - // 导出 Excel - List datas = WxNewsTemplateConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "图文消息模板.xls", "数据", WxNewsTemplateExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java deleted file mode 100644 index 387243e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 图文消息模板 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxNewsTemplateBaseVO { - - @ApiModelProperty(value = "模板名称") - private String tplName; - - @ApiModelProperty(value = "是否已上传微信") - private String isUpload; - - @ApiModelProperty(value = "素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java deleted file mode 100644 index 0e4996b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 图文消息模板创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsTemplateCreateReqVO extends WxNewsTemplateBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java deleted file mode 100644 index 0d08232..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 图文消息模板 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxNewsTemplateExcelVO { - - @ExcelProperty("主键 主键ID") - private Integer id; - - @ExcelProperty("模板名称") - private String tplName; - - @ExcelProperty("是否已上传微信") - private String isUpload; - - @ExcelProperty("素材ID") - private String mediaId; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java deleted file mode 100644 index 12c30ab..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 图文消息模板 Excel 导出 Request VO", description = "参数和 WxNewsTemplatePageReqVO 是一致的") -@Data -public class WxNewsTemplateExportReqVO { - - @ApiModelProperty(value = "模板名称") - private String tplName; - - @ApiModelProperty(value = "是否已上传微信") - private String isUpload; - - @ApiModelProperty(value = "素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java deleted file mode 100644 index f0e85c0..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 图文消息模板分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsTemplatePageReqVO extends PageParam { - - @ApiModelProperty(value = "模板名称") - private String tplName; - - @ApiModelProperty(value = "是否已上传微信") - private String isUpload; - - @ApiModelProperty(value = "素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java deleted file mode 100644 index 697ff64..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 图文消息模板 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsTemplateRespVO extends WxNewsTemplateBaseVO { - - @ApiModelProperty(value = "主键 主键ID", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java deleted file mode 100644 index e8ae49a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 图文消息模板更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxNewsTemplateUpdateReqVO extends WxNewsTemplateBaseVO { - - @ApiModelProperty(value = "主键 主键ID", required = true) - @NotNull(message = "主键 主键ID不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java deleted file mode 100644 index a1a0aa5..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; -import cn.iocoder.yudao.module.mp.convert.receivetext.WxReceiveTextConvert; -import cn.iocoder.yudao.module.mp.service.receivetext.WxReceiveTextService; - -@Api(tags = "管理后台 - 回复关键字") -@RestController -@RequestMapping("/wechatMp/wx-receive-text") -@Validated -public class WxReceiveTextController { - - @Resource - private WxReceiveTextService wxReceiveTextService; - - @PostMapping("/create") - @ApiOperation("创建回复关键字") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:create')") - public CommonResult createWxReceiveText(@Valid @RequestBody WxReceiveTextCreateReqVO createReqVO) { - return success(wxReceiveTextService.createWxReceiveText(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新回复关键字") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:update')") - public CommonResult updateWxReceiveText(@Valid @RequestBody WxReceiveTextUpdateReqVO updateReqVO) { - wxReceiveTextService.updateWxReceiveText(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除回复关键字") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:delete')") - public CommonResult deleteWxReceiveText(@RequestParam("id") Integer id) { - wxReceiveTextService.deleteWxReceiveText(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得回复关键字") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") - public CommonResult getWxReceiveText(@RequestParam("id") Integer id) { - WxReceiveTextDO wxReceiveText = wxReceiveTextService.getWxReceiveText(id); - return success(WxReceiveTextConvert.INSTANCE.convert(wxReceiveText)); - } - - @GetMapping("/list") - @ApiOperation("获得回复关键字列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") - public CommonResult> getWxReceiveTextList(@RequestParam("ids") Collection ids) { - List list = wxReceiveTextService.getWxReceiveTextList(ids); - return success(WxReceiveTextConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得回复关键字分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") - public CommonResult> getWxReceiveTextPage(@Valid WxReceiveTextPageReqVO pageVO) { - PageResult pageResult = wxReceiveTextService.getWxReceiveTextPage(pageVO); - return success(WxReceiveTextConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出回复关键字 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:export')") - @OperateLog(type = EXPORT) - public void exportWxReceiveTextExcel(@Valid WxReceiveTextExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxReceiveTextService.getWxReceiveTextList(exportReqVO); - // 导出 Excel - List datas = WxReceiveTextConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "回复关键字.xls", "数据", WxReceiveTextExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java deleted file mode 100644 index 0eaf597..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 回复关键字 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxReceiveTextBaseVO { - - @ApiModelProperty(value = "关键字") - private String receiveText; - - @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") - private String msgType; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java deleted file mode 100644 index ca654b3..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 回复关键字创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxReceiveTextCreateReqVO extends WxReceiveTextBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java deleted file mode 100644 index 407029a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 回复关键字 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxReceiveTextExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("关键字") - private String receiveText; - - @ExcelProperty("消息类型 1文本消息;2图文消息;") - private String msgType; - - @ExcelProperty("模板ID") - private String tplId; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java deleted file mode 100644 index b511b0a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 回复关键字 Excel 导出 Request VO", description = "参数和 WxReceiveTextPageReqVO 是一致的") -@Data -public class WxReceiveTextExportReqVO { - - @ApiModelProperty(value = "关键字") - private String receiveText; - - @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") - private String msgType; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java deleted file mode 100644 index 373a8cd..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 回复关键字分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxReceiveTextPageReqVO extends PageParam { - - @ApiModelProperty(value = "关键字") - private String receiveText; - - @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") - private String msgType; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java deleted file mode 100644 index 12c3605..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 回复关键字 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxReceiveTextRespVO extends WxReceiveTextBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java deleted file mode 100644 index 6abc535..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 回复关键字更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxReceiveTextUpdateReqVO extends WxReceiveTextBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java deleted file mode 100644 index a98913d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; -import cn.iocoder.yudao.module.mp.convert.subscribetext.WxSubscribeTextConvert; -import cn.iocoder.yudao.module.mp.service.subscribetext.WxSubscribeTextService; - -@Api(tags = "管理后台 - 关注欢迎语") -@RestController -@RequestMapping("/wechatMp/wx-subscribe-text") -@Validated -public class WxSubscribeTextController { - - @Resource - private WxSubscribeTextService wxSubscribeTextService; - - @PostMapping("/create") - @ApiOperation("创建关注欢迎语") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:create')") - public CommonResult createWxSubscribeText(@Valid @RequestBody WxSubscribeTextCreateReqVO createReqVO) { - return success(wxSubscribeTextService.createWxSubscribeText(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新关注欢迎语") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:update')") - public CommonResult updateWxSubscribeText(@Valid @RequestBody WxSubscribeTextUpdateReqVO updateReqVO) { - wxSubscribeTextService.updateWxSubscribeText(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除关注欢迎语") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:delete')") - public CommonResult deleteWxSubscribeText(@RequestParam("id") Integer id) { - wxSubscribeTextService.deleteWxSubscribeText(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得关注欢迎语") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") - public CommonResult getWxSubscribeText(@RequestParam("id") Integer id) { - WxSubscribeTextDO wxSubscribeText = wxSubscribeTextService.getWxSubscribeText(id); - return success(WxSubscribeTextConvert.INSTANCE.convert(wxSubscribeText)); - } - - @GetMapping("/list") - @ApiOperation("获得关注欢迎语列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") - public CommonResult> getWxSubscribeTextList(@RequestParam("ids") Collection ids) { - List list = wxSubscribeTextService.getWxSubscribeTextList(ids); - return success(WxSubscribeTextConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得关注欢迎语分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") - public CommonResult> getWxSubscribeTextPage(@Valid WxSubscribeTextPageReqVO pageVO) { - PageResult pageResult = wxSubscribeTextService.getWxSubscribeTextPage(pageVO); - return success(WxSubscribeTextConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出关注欢迎语 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:export')") - @OperateLog(type = EXPORT) - public void exportWxSubscribeTextExcel(@Valid WxSubscribeTextExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxSubscribeTextService.getWxSubscribeTextList(exportReqVO); - // 导出 Excel - List datas = WxSubscribeTextConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "关注欢迎语.xls", "数据", WxSubscribeTextExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java deleted file mode 100644 index de1b51e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 关注欢迎语 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxSubscribeTextBaseVO { - - @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") - private String msgType; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java deleted file mode 100644 index 7ade450..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 关注欢迎语创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxSubscribeTextCreateReqVO extends WxSubscribeTextBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java deleted file mode 100644 index e4772a0..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 关注欢迎语 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxSubscribeTextExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("消息类型 1文本消息;2图文消息;") - private String msgType; - - @ExcelProperty("模板ID") - private String tplId; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java deleted file mode 100644 index fee0e58..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 关注欢迎语 Excel 导出 Request VO", description = "参数和 WxSubscribeTextPageReqVO 是一致的") -@Data -public class WxSubscribeTextExportReqVO { - - @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") - private String msgType; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java deleted file mode 100644 index 22a2adb..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 关注欢迎语分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxSubscribeTextPageReqVO extends PageParam { - - @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") - private String msgType; - - @ApiModelProperty(value = "模板ID") - private String tplId; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java deleted file mode 100644 index f9d61ea..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 关注欢迎语 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxSubscribeTextRespVO extends WxSubscribeTextBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java deleted file mode 100644 index b314c5c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 关注欢迎语更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxSubscribeTextUpdateReqVO extends WxSubscribeTextBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java deleted file mode 100644 index c6428a0..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/WxTextTemplateController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; -import cn.iocoder.yudao.module.mp.convert.texttemplate.WxTextTemplateConvert; -import cn.iocoder.yudao.module.mp.service.texttemplate.WxTextTemplateService; - -@Api(tags = "管理后台 - 文本模板") -@RestController -@RequestMapping("/wechatMp/wx-text-template") -@Validated -public class WxTextTemplateController { - - @Resource - private WxTextTemplateService wxTextTemplateService; - - @PostMapping("/create") - @ApiOperation("创建文本模板") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:create')") - public CommonResult createWxTextTemplate(@Valid @RequestBody WxTextTemplateCreateReqVO createReqVO) { - return success(wxTextTemplateService.createWxTextTemplate(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新文本模板") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:update')") - public CommonResult updateWxTextTemplate(@Valid @RequestBody WxTextTemplateUpdateReqVO updateReqVO) { - wxTextTemplateService.updateWxTextTemplate(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除文本模板") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:delete')") - public CommonResult deleteWxTextTemplate(@RequestParam("id") Integer id) { - wxTextTemplateService.deleteWxTextTemplate(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得文本模板") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:query')") - public CommonResult getWxTextTemplate(@RequestParam("id") Integer id) { - WxTextTemplateDO wxTextTemplate = wxTextTemplateService.getWxTextTemplate(id); - return success(WxTextTemplateConvert.INSTANCE.convert(wxTextTemplate)); - } - - @GetMapping("/list") - @ApiOperation("获得文本模板列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:query')") - public CommonResult> getWxTextTemplateList(@RequestParam("ids") Collection ids) { - List list = wxTextTemplateService.getWxTextTemplateList(ids); - return success(WxTextTemplateConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得文本模板分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:query')") - public CommonResult> getWxTextTemplatePage(@Valid WxTextTemplatePageReqVO pageVO) { - PageResult pageResult = wxTextTemplateService.getWxTextTemplatePage(pageVO); - return success(WxTextTemplateConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出文本模板 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-text-template:export')") - @OperateLog(type = EXPORT) - public void exportWxTextTemplateExcel(@Valid WxTextTemplateExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxTextTemplateService.getWxTextTemplateList(exportReqVO); - // 导出 Excel - List datas = WxTextTemplateConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "文本模板.xls", "数据", WxTextTemplateExcelVO.class, datas); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java deleted file mode 100644 index 38b9cd9..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateBaseVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 文本模板 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxTextTemplateBaseVO { - - @ApiModelProperty(value = "模板名字") - private String tplName; - - @ApiModelProperty(value = "模板内容") - private String content; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java deleted file mode 100644 index 1ec6c02..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 文本模板创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxTextTemplateCreateReqVO extends WxTextTemplateBaseVO { - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java deleted file mode 100644 index 4d03890..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExcelVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 文本模板 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxTextTemplateExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("模板名字") - private String tplName; - - @ExcelProperty("模板内容") - private String content; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java deleted file mode 100644 index 0bc6467..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateExportReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 文本模板 Excel 导出 Request VO", description = "参数和 WxTextTemplatePageReqVO 是一致的") -@Data -public class WxTextTemplateExportReqVO { - - @ApiModelProperty(value = "模板名字") - private String tplName; - - @ApiModelProperty(value = "模板内容") - private String content; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java deleted file mode 100644 index 0bcbaf4..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplatePageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 文本模板分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxTextTemplatePageReqVO extends PageParam { - - @ApiModelProperty(value = "模板名字") - private String tplName; - - @ApiModelProperty(value = "模板内容") - private String content; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java deleted file mode 100644 index b12c5a2..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 文本模板 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxTextTemplateRespVO extends WxTextTemplateBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java deleted file mode 100644 index 0de0a2c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/texttemplate/vo/WxTextTemplateUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 文本模板更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxTextTemplateUpdateReqVO extends WxTextTemplateBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java deleted file mode 100644 index 4646722..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/account/WxAccountConvert.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.account; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExcelVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountRespVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountUpdateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 公众号账户 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxAccountConvert { - - WxAccountConvert INSTANCE = Mappers.getMapper(WxAccountConvert.class); - - WxAccountDO convert(WxAccountCreateReqVO bean); - - WxAccountDO convert(WxAccountUpdateReqVO bean); - - WxAccountRespVO convert(WxAccountDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java deleted file mode 100644 index 190cc9c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.accountfans; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExcelVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansRespVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 微信公众号粉丝 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxAccountFansConvert { - - WxAccountFansConvert INSTANCE = Mappers.getMapper(WxAccountFansConvert.class); - - WxAccountFansDO convert(WxAccountFansCreateReqVO bean); - - WxAccountFansDO convert(WxAccountFansUpdateReqVO bean); - - WxAccountFansRespVO convert(WxAccountFansDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java deleted file mode 100644 index ea7723c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfanstag/WxAccountFansTagConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.accountfanstag; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; - -/** - * 粉丝标签关联 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxAccountFansTagConvert { - - WxAccountFansTagConvert INSTANCE = Mappers.getMapper(WxAccountFansTagConvert.class); - - WxAccountFansTagDO convert(WxAccountFansTagCreateReqVO bean); - - WxAccountFansTagDO convert(WxAccountFansTagUpdateReqVO bean); - - WxAccountFansTagRespVO convert(WxAccountFansTagDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java deleted file mode 100644 index 8848bf9..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.fansmsg; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; - -/** - * 粉丝消息表 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgConvert { - - WxFansMsgConvert INSTANCE = Mappers.getMapper(WxFansMsgConvert.class); - - WxFansMsgDO convert(WxFansMsgCreateReqVO bean); - - WxFansMsgDO convert(WxFansMsgUpdateReqVO bean); - - WxFansMsgRespVO convert(WxFansMsgDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java deleted file mode 100644 index fab15bf..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.fansmsgres; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; - -/** - * 回复粉丝消息历史表 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgResConvert { - - WxFansMsgResConvert INSTANCE = Mappers.getMapper(WxFansMsgResConvert.class); - - WxFansMsgResDO convert(WxFansMsgResCreateReqVO bean); - - WxFansMsgResDO convert(WxFansMsgResUpdateReqVO bean); - - WxFansMsgResRespVO convert(WxFansMsgResDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java deleted file mode 100644 index 968d62b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fanstag/WxFansTagConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.fanstag; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import me.chanjar.weixin.mp.bean.tag.WxUserTag; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.*; - -/** - * 粉丝标签 Convert - * - * @author fengdan - */ -@Mapper -public interface WxFansTagConvert { - - WxFansTagConvert INSTANCE = Mappers.getMapper(WxFansTagConvert.class); - - WxUserTag convert(FansTagCreateReqVO bean); - - WxUserTag convert(FansTagUpdateReqVO bean); - - FansTagRespVO convert(WxUserTag bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java deleted file mode 100644 index ba2855d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/mediaupload/WxMediaUploadConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.mediaupload; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; - -/** - * 微信素材上传表 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxMediaUploadConvert { - - WxMediaUploadConvert INSTANCE = Mappers.getMapper(WxMediaUploadConvert.class); - - WxMediaUploadDO convert(WxMediaUploadCreateReqVO bean); - - WxMediaUploadDO convert(WxMediaUploadUpdateReqVO bean); - - WxMediaUploadRespVO convert(WxMediaUploadDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java deleted file mode 100644 index 38d0c51..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/menu/WxMenuConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.menu; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; - -/** - * 微信菜单 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxMenuConvert { - - WxMenuConvert INSTANCE = Mappers.getMapper(WxMenuConvert.class); - - WxMenuDO convert(WxMenuCreateReqVO bean); - - WxMenuDO convert(WxMenuUpdateReqVO bean); - - WxMenuRespVO convert(WxMenuDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java deleted file mode 100644 index b20717d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.newsarticleitem; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; - -/** - * 图文消息文章列表表 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxNewsArticleItemConvert { - - WxNewsArticleItemConvert INSTANCE = Mappers.getMapper(WxNewsArticleItemConvert.class); - - WxNewsArticleItemDO convert(WxNewsArticleItemCreateReqVO bean); - - WxNewsArticleItemDO convert(WxNewsArticleItemUpdateReqVO bean); - - WxNewsArticleItemRespVO convert(WxNewsArticleItemDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java deleted file mode 100644 index e6cf754..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.newstemplate; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; - -/** - * 图文消息模板 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxNewsTemplateConvert { - - WxNewsTemplateConvert INSTANCE = Mappers.getMapper(WxNewsTemplateConvert.class); - - WxNewsTemplateDO convert(WxNewsTemplateCreateReqVO bean); - - WxNewsTemplateDO convert(WxNewsTemplateUpdateReqVO bean); - - WxNewsTemplateRespVO convert(WxNewsTemplateDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java deleted file mode 100644 index 24b9dc5..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/receivetext/WxReceiveTextConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.receivetext; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; - -/** - * 回复关键字 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxReceiveTextConvert { - - WxReceiveTextConvert INSTANCE = Mappers.getMapper(WxReceiveTextConvert.class); - - WxReceiveTextDO convert(WxReceiveTextCreateReqVO bean); - - WxReceiveTextDO convert(WxReceiveTextUpdateReqVO bean); - - WxReceiveTextRespVO convert(WxReceiveTextDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java deleted file mode 100644 index 15df4a8..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/subscribetext/WxSubscribeTextConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.subscribetext; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; - -/** - * 关注欢迎语 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxSubscribeTextConvert { - - WxSubscribeTextConvert INSTANCE = Mappers.getMapper(WxSubscribeTextConvert.class); - - WxSubscribeTextDO convert(WxSubscribeTextCreateReqVO bean); - - WxSubscribeTextDO convert(WxSubscribeTextUpdateReqVO bean); - - WxSubscribeTextRespVO convert(WxSubscribeTextDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java deleted file mode 100644 index 6c71f80..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/texttemplate/WxTextTemplateConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.texttemplate; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; - -/** - * 文本模板 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxTextTemplateConvert { - - WxTextTemplateConvert INSTANCE = Mappers.getMapper(WxTextTemplateConvert.class); - - WxTextTemplateDO convert(WxTextTemplateCreateReqVO bean); - - WxTextTemplateDO convert(WxTextTemplateUpdateReqVO bean); - - WxTextTemplateRespVO convert(WxTextTemplateDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java deleted file mode 100644 index 2507c46..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/account/WxAccountDO.java +++ /dev/null @@ -1,79 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.account; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; -import lombok.*; -import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; -import me.chanjar.weixin.mp.config.WxMpConfigStorage; -import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; - -// TODO 亚洲:这个模块的相关类,使用 Mp 作为前缀哈 -/** - * 公众号账户 DO - * - * @author 芋道源码 - */ -@TableName("wx_account") -@KeySequence("wx_account_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxAccountDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 公众号名称 - */ - private String name; - /** - * 公众号账户 - */ - private String account; - /** - * 公众号 appid - */ - private String appId; - /** - * 公众号密钥 - */ - private String appSecret; - /** - * 公众号url - */ - private String url; - /** - * 公众号token - */ - private String token; - /** - * 加密密钥 - */ - private String aesKey; - /** - * 二维码图片 URL - */ - private String qrCodeUrl; - /** - * 备注 - */ - private String remark; - - public WxMpConfigStorage toWxMpConfigStorage(RedisTemplateWxRedisOps redisTemplateWxRedisOps, WxMpProperties wxMpProperties) { - WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisTemplateWxRedisOps, wxMpProperties.getConfigStorage().getKeyPrefix()); - wxMpRedisConfig.setAppId(appId); - wxMpRedisConfig.setSecret(appSecret); - wxMpRedisConfig.setToken(token); - wxMpRedisConfig.setAesKey(aesKey); - return wxMpRedisConfig; - } -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java deleted file mode 100644 index 3485137..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java +++ /dev/null @@ -1,92 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.accountfans; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.util.Date; - -/** - * 微信公众号粉丝 DO - * - * @author 芋道源码 - */ -// TODO @亚洲:WxUserDO -@TableName("wx_account_fans") -@KeySequence("wx_account_fans_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxAccountFansDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 用户标识 - */ - private String openid; - /** - * 订阅状态,0未关注,1已关注 - */ - // TODO @亚洲:Integer 然后写个枚举哈 - private String subscribeStatus; - /** - * 订阅时间 - */ - // TODO @亚洲:增加一个取消关注的事件 - private Date subscribeTime; - /** - * 昵称 - */ - // TODO @亚洲:String - private byte[] nickname; - /** - * 性别,1男,2女,0未知 - */ - // TODO @亚洲:Integer - private String gender; - /** - * 语言 - */ - private String language; - /** - * 国家 - */ - private String country; - /** - * 省份 - */ - private String province; - /** - * 城市 - */ - private String city; - /** - * 头像地址 - */ - // TODO @亚洲:headImageUrl - private String headimgUrl; - /** - * 备注 - */ - private String remark; - - // TODO @亚洲:是不是只要存储 WxAccountDO 的 id 呀? - /** - * 微信公众号 ID - */ - private String wxAccountId; - /** - * 微信公众号 appid - */ - private String wxAccountAppid; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java deleted file mode 100644 index 71e253a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfanstag/WxAccountFansTagDO.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 粉丝标签关联 DO - * - * @author 芋道源码 - */ -@TableName("wx_account_fans_tag") -@KeySequence("wx_account_fans_tag_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxAccountFansTagDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 用户标识 - */ - private String openid; - /** - * 标签ID - */ - private String tagId; - /** - * 微信账号ID - */ - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java deleted file mode 100644 index 2427a4f..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java +++ /dev/null @@ -1,75 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 粉丝消息表 DO - * - * @author 芋道源码 - */ -@TableName("wx_fans_msg") -@KeySequence("wx_fans_msg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxFansMsgDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 用户标识 - */ - private String openid; - /** - * 昵称 - */ - private byte[] nickname; - /** - * 头像地址 - */ - private String headimgUrl; - /** - * 微信账号ID - */ - private String wxAccountId; - /** - * 消息类型 - */ - private String msgType; - /** - * 内容 - */ - private String content; - /** - * 最近一条回复内容 - */ - private String resContent; - /** - * 是否已回复 - */ - private String isRes; - /** - * 微信素材ID - */ - private String mediaId; - /** - * 微信图片URL - */ - private String picUrl; - /** - * 本地图片路径 - */ - private String picPath; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java deleted file mode 100644 index 2a5ffc4..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 回复粉丝消息历史表 DO - * - * @author 芋道源码 - */ -@TableName("wx_fans_msg_res") -@KeySequence("wx_fans_msg_res_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxFansMsgResDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 粉丝消息ID - */ - private String fansMsgId; - /** - * 回复内容 - */ - private String resContent; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java deleted file mode 100644 index 41e8be3..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/mediaupload/WxMediaUploadDO.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 微信素材上传表 DO - * - * @author 芋道源码 - */ -@TableName("wx_media_upload") -@KeySequence("wx_media_upload_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxMediaUploadDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 类型 - */ - private String type; - /** - * 图片URL - */ - private String url; - /** - * 素材ID - */ - private String mediaId; - /** - * 缩略图素材ID - */ - private String thumbMediaId; - /** - * 微信账号ID - */ - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java deleted file mode 100644 index d5b0b9c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/menu/WxMenuDO.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.menu; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 微信菜单 DO - * - * @author 芋道源码 - */ -@TableName("wx_menu") -@KeySequence("wx_menu_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxMenuDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 父ID - */ - private String parentId; - /** - * 菜单名称 - */ - private String menuName; - /** - * 菜单类型 1文本消息;2图文消息;3网址链接;4小程序 - */ - private String menuType; - /** - * 菜单等级 - */ - private String menuLevel; - /** - * 模板ID - */ - private String tplId; - /** - * 菜单URL - */ - private String menuUrl; - /** - * 排序 - */ - private String menuSort; - /** - * 微信账号ID - */ - private String wxAccountId; - /** - * 小程序appid - */ - private String miniprogramAppid; - /** - * 小程序页面路径 - */ - private String miniprogramPagepath; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java deleted file mode 100644 index 7cb9b6a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java +++ /dev/null @@ -1,83 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 图文消息文章列表表 DO - * - * @author 芋道源码 - */ -@TableName("wx_news_article_item") -@KeySequence("wx_news_article_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxNewsArticleItemDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 标题 - */ - private String title; - /** - * 摘要 - */ - private String digest; - /** - * 作者 - */ - private String author; - /** - * 是否展示封面图片(0/1) - */ - private String showCoverPic; - /** - * 上传微信,封面图片标识 - */ - private String thumbMediaId; - /** - * 内容 - */ - private String content; - /** - * 内容链接 - */ - private String contentSourceUrl; - /** - * 文章排序 - */ - private Integer orderNo; - /** - * 图片路径 - */ - private String picPath; - /** - * 是否可以留言 - */ - private String needOpenComment; - /** - * 是否仅粉丝可以留言 - */ - private String onlyFansCanComment; - /** - * 图文ID - */ - private String newsId; - /** - * 微信账号ID - */ - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java deleted file mode 100644 index 524bb19..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 图文消息模板 DO - * - * @author 芋道源码 - */ -@TableName("wx_news_template") -@KeySequence("wx_news_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxNewsTemplateDO extends BaseDO { - - /** - * 主键 主键ID - */ - @TableId - private Integer id; - /** - * 模板名称 - */ - private String tplName; - /** - * 是否已上传微信 - */ - private String isUpload; - /** - * 素材ID - */ - private String mediaId; - /** - * 微信账号ID - */ - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java deleted file mode 100644 index 49fd629..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/receivetext/WxReceiveTextDO.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.receivetext; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 回复关键字 DO - * - * @author 芋道源码 - */ -@TableName("wx_receive_text") -@KeySequence("wx_receive_text_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxReceiveTextDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 关键字 - */ - private String receiveText; - /** - * 消息类型 1文本消息;2图文消息; - */ - private String msgType; - /** - * 模板ID - */ - private String tplId; - /** - * 微信账号ID - */ - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java deleted file mode 100644 index 7fcec0a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/subscribetext/WxSubscribeTextDO.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 关注欢迎语 DO - * - * @author 芋道源码 - */ -@TableName("wx_subscribe_text") -@KeySequence("wx_subscribe_text_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxSubscribeTextDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 消息类型 1文本消息;2图文消息; - */ - private String msgType; - /** - * 模板ID - */ - private String tplId; - /** - * 微信账号ID - */ - private String wxAccountId; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java deleted file mode 100644 index afa46f9..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/texttemplate/WxTextTemplateDO.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 文本模板 DO - * - * @author 芋道源码 - */ -@TableName("wx_text_template") -@KeySequence("wx_text_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxTextTemplateDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 模板名字 - */ - private String tplName; - /** - * 模板内容 - */ - private String content; - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java deleted file mode 100644 index ada54e8..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/account/WxAccountMapper.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.account; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountPageReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 公众号账户 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxAccountMapper extends BaseMapperX { - - default PageResult selectPage(WxAccountPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(WxAccountDO::getName, reqVO.getName()) - .eqIfPresent(WxAccountDO::getAccount, reqVO.getAccount()) - .eqIfPresent(WxAccountDO::getAppId, reqVO.getAppId()) - .betweenIfPresent(WxAccountDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxAccountDO::getId)); - } - - default List selectList(WxAccountExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(WxAccountDO::getName, reqVO.getName()) - .eqIfPresent(WxAccountDO::getAccount, reqVO.getAccount()) - .eqIfPresent(WxAccountDO::getAppId, reqVO.getAppId()) - .betweenIfPresent(WxAccountDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxAccountDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java deleted file mode 100644 index dc0cd78..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.accountfans; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 微信公众号粉丝 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxAccountFansMapper extends BaseMapperX { - - default PageResult selectPage(WxAccountFansPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxAccountFansDO::getOpenid, reqVO.getOpenid()) - .eqIfPresent(WxAccountFansDO::getSubscribeStatus, reqVO.getSubscribeStatus()) - .betweenIfPresent(WxAccountFansDO::getSubscribeTime, reqVO.getBeginSubscribeTime(), reqVO.getEndSubscribeTime()) - .likeIfPresent(WxAccountFansDO::getNickname, reqVO.getNickname()) - .eqIfPresent(WxAccountFansDO::getGender, reqVO.getGender()) - .eqIfPresent(WxAccountFansDO::getLanguage, reqVO.getLanguage()) - .eqIfPresent(WxAccountFansDO::getCountry, reqVO.getCountry()) - .eqIfPresent(WxAccountFansDO::getProvince, reqVO.getProvince()) - .eqIfPresent(WxAccountFansDO::getCity, reqVO.getCity()) - .eqIfPresent(WxAccountFansDO::getHeadimgUrl, reqVO.getHeadimgUrl()) - .eqIfPresent(WxAccountFansDO::getRemark, reqVO.getRemark()) - .eqIfPresent(WxAccountFansDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxAccountFansDO::getWxAccountAppid, reqVO.getWxAccountAppid()) - .betweenIfPresent(WxAccountFansDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxAccountFansDO::getId)); - } - - default List selectList(WxAccountFansExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxAccountFansDO::getOpenid, reqVO.getOpenid()) - .eqIfPresent(WxAccountFansDO::getSubscribeStatus, reqVO.getSubscribeStatus()) - .betweenIfPresent(WxAccountFansDO::getSubscribeTime, reqVO.getBeginSubscribeTime(), reqVO.getEndSubscribeTime()) - .likeIfPresent(WxAccountFansDO::getNickname, reqVO.getNickname()) - .eqIfPresent(WxAccountFansDO::getGender, reqVO.getGender()) - .eqIfPresent(WxAccountFansDO::getLanguage, reqVO.getLanguage()) - .eqIfPresent(WxAccountFansDO::getCountry, reqVO.getCountry()) - .eqIfPresent(WxAccountFansDO::getProvince, reqVO.getProvince()) - .eqIfPresent(WxAccountFansDO::getCity, reqVO.getCity()) - .eqIfPresent(WxAccountFansDO::getHeadimgUrl, reqVO.getHeadimgUrl()) - .eqIfPresent(WxAccountFansDO::getRemark, reqVO.getRemark()) - .eqIfPresent(WxAccountFansDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxAccountFansDO::getWxAccountAppid, reqVO.getWxAccountAppid()) - .betweenIfPresent(WxAccountFansDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxAccountFansDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java deleted file mode 100644 index 8df37b1..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfanstag/WxAccountFansTagMapper.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.accountfanstag; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; - -/** - * 粉丝标签关联 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxAccountFansTagMapper extends BaseMapperX { - - default PageResult selectPage(WxAccountFansTagPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxAccountFansTagDO::getOpenid, reqVO.getOpenid()) - .eqIfPresent(WxAccountFansTagDO::getTagId, reqVO.getTagId()) - .eqIfPresent(WxAccountFansTagDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxAccountFansTagDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxAccountFansTagDO::getId)); - } - - default List selectList(WxAccountFansTagExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxAccountFansTagDO::getOpenid, reqVO.getOpenid()) - .eqIfPresent(WxAccountFansTagDO::getTagId, reqVO.getTagId()) - .eqIfPresent(WxAccountFansTagDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxAccountFansTagDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxAccountFansTagDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java deleted file mode 100644 index 7e5db27..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.fansmsg; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; - -/** - * 粉丝消息表 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgMapper extends BaseMapperX { - - default PageResult selectPage(WxFansMsgPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgDO::getOpenid, reqVO.getOpenid()) - .likeIfPresent(WxFansMsgDO::getNickname, reqVO.getNickname()) - .eqIfPresent(WxFansMsgDO::getHeadimgUrl, reqVO.getHeadimgUrl()) - .eqIfPresent(WxFansMsgDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxFansMsgDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxFansMsgDO::getContent, reqVO.getContent()) - .eqIfPresent(WxFansMsgDO::getResContent, reqVO.getResContent()) - .eqIfPresent(WxFansMsgDO::getIsRes, reqVO.getIsRes()) - .eqIfPresent(WxFansMsgDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxFansMsgDO::getPicUrl, reqVO.getPicUrl()) - .eqIfPresent(WxFansMsgDO::getPicPath, reqVO.getPicPath()) - .betweenIfPresent(WxFansMsgDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgDO::getId)); - } - - default List selectList(WxFansMsgExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgDO::getOpenid, reqVO.getOpenid()) - .likeIfPresent(WxFansMsgDO::getNickname, reqVO.getNickname()) - .eqIfPresent(WxFansMsgDO::getHeadimgUrl, reqVO.getHeadimgUrl()) - .eqIfPresent(WxFansMsgDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxFansMsgDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxFansMsgDO::getContent, reqVO.getContent()) - .eqIfPresent(WxFansMsgDO::getResContent, reqVO.getResContent()) - .eqIfPresent(WxFansMsgDO::getIsRes, reqVO.getIsRes()) - .eqIfPresent(WxFansMsgDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxFansMsgDO::getPicUrl, reqVO.getPicUrl()) - .eqIfPresent(WxFansMsgDO::getPicPath, reqVO.getPicPath()) - .betweenIfPresent(WxFansMsgDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java deleted file mode 100644 index 86423a1..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.fansmsgres; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; - -/** - * 回复粉丝消息历史表 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgResMapper extends BaseMapperX { - - default PageResult selectPage(WxFansMsgResPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgResDO::getFansMsgId, reqVO.getFansMsgId()) - .eqIfPresent(WxFansMsgResDO::getResContent, reqVO.getResContent()) - .betweenIfPresent(WxFansMsgResDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgResDO::getId)); - } - - default List selectList(WxFansMsgResExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgResDO::getFansMsgId, reqVO.getFansMsgId()) - .eqIfPresent(WxFansMsgResDO::getResContent, reqVO.getResContent()) - .betweenIfPresent(WxFansMsgResDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgResDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java deleted file mode 100644 index 64d6db6..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/mediaupload/WxMediaUploadMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.mediaupload; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; - -/** - * 微信素材上传表 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxMediaUploadMapper extends BaseMapperX { - - default PageResult selectPage(WxMediaUploadPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxMediaUploadDO::getType, reqVO.getType()) - .eqIfPresent(WxMediaUploadDO::getUrl, reqVO.getUrl()) - .eqIfPresent(WxMediaUploadDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxMediaUploadDO::getThumbMediaId, reqVO.getThumbMediaId()) - .eqIfPresent(WxMediaUploadDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxMediaUploadDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxMediaUploadDO::getId)); - } - - default List selectList(WxMediaUploadExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxMediaUploadDO::getType, reqVO.getType()) - .eqIfPresent(WxMediaUploadDO::getUrl, reqVO.getUrl()) - .eqIfPresent(WxMediaUploadDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxMediaUploadDO::getThumbMediaId, reqVO.getThumbMediaId()) - .eqIfPresent(WxMediaUploadDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxMediaUploadDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxMediaUploadDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java deleted file mode 100644 index 2966bac..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/menu/WxMenuMapper.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.menu; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; - -/** - * 微信菜单 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxMenuMapper extends BaseMapperX { - - default PageResult selectPage(WxMenuPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxMenuDO::getParentId, reqVO.getParentId()) - .likeIfPresent(WxMenuDO::getMenuName, reqVO.getMenuName()) - .eqIfPresent(WxMenuDO::getMenuType, reqVO.getMenuType()) - .eqIfPresent(WxMenuDO::getMenuLevel, reqVO.getMenuLevel()) - .eqIfPresent(WxMenuDO::getTplId, reqVO.getTplId()) - .eqIfPresent(WxMenuDO::getMenuUrl, reqVO.getMenuUrl()) - .eqIfPresent(WxMenuDO::getMenuSort, reqVO.getMenuSort()) - .eqIfPresent(WxMenuDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxMenuDO::getMiniprogramAppid, reqVO.getMiniprogramAppid()) - .eqIfPresent(WxMenuDO::getMiniprogramPagepath, reqVO.getMiniprogramPagepath()) - .betweenIfPresent(WxMenuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxMenuDO::getId)); - } - - default List selectList(WxMenuExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxMenuDO::getParentId, reqVO.getParentId()) - .likeIfPresent(WxMenuDO::getMenuName, reqVO.getMenuName()) - .eqIfPresent(WxMenuDO::getMenuType, reqVO.getMenuType()) - .eqIfPresent(WxMenuDO::getMenuLevel, reqVO.getMenuLevel()) - .eqIfPresent(WxMenuDO::getTplId, reqVO.getTplId()) - .eqIfPresent(WxMenuDO::getMenuUrl, reqVO.getMenuUrl()) - .eqIfPresent(WxMenuDO::getMenuSort, reqVO.getMenuSort()) - .eqIfPresent(WxMenuDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxMenuDO::getMiniprogramAppid, reqVO.getMiniprogramAppid()) - .eqIfPresent(WxMenuDO::getMiniprogramPagepath, reqVO.getMiniprogramPagepath()) - .betweenIfPresent(WxMenuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxMenuDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java deleted file mode 100644 index 2b07209..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java +++ /dev/null @@ -1,58 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.newsarticleitem; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; - -/** - * 图文消息文章列表表 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxNewsArticleItemMapper extends BaseMapperX { - - default PageResult selectPage(WxNewsArticleItemPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxNewsArticleItemDO::getTitle, reqVO.getTitle()) - .eqIfPresent(WxNewsArticleItemDO::getDigest, reqVO.getDigest()) - .eqIfPresent(WxNewsArticleItemDO::getAuthor, reqVO.getAuthor()) - .eqIfPresent(WxNewsArticleItemDO::getShowCoverPic, reqVO.getShowCoverPic()) - .eqIfPresent(WxNewsArticleItemDO::getThumbMediaId, reqVO.getThumbMediaId()) - .eqIfPresent(WxNewsArticleItemDO::getContent, reqVO.getContent()) - .eqIfPresent(WxNewsArticleItemDO::getContentSourceUrl, reqVO.getContentSourceUrl()) - .eqIfPresent(WxNewsArticleItemDO::getOrderNo, reqVO.getOrderNo()) - .eqIfPresent(WxNewsArticleItemDO::getPicPath, reqVO.getPicPath()) - .eqIfPresent(WxNewsArticleItemDO::getNeedOpenComment, reqVO.getNeedOpenComment()) - .eqIfPresent(WxNewsArticleItemDO::getOnlyFansCanComment, reqVO.getOnlyFansCanComment()) - .eqIfPresent(WxNewsArticleItemDO::getNewsId, reqVO.getNewsId()) - .eqIfPresent(WxNewsArticleItemDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxNewsArticleItemDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxNewsArticleItemDO::getId)); - } - - default List selectList(WxNewsArticleItemExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxNewsArticleItemDO::getTitle, reqVO.getTitle()) - .eqIfPresent(WxNewsArticleItemDO::getDigest, reqVO.getDigest()) - .eqIfPresent(WxNewsArticleItemDO::getAuthor, reqVO.getAuthor()) - .eqIfPresent(WxNewsArticleItemDO::getShowCoverPic, reqVO.getShowCoverPic()) - .eqIfPresent(WxNewsArticleItemDO::getThumbMediaId, reqVO.getThumbMediaId()) - .eqIfPresent(WxNewsArticleItemDO::getContent, reqVO.getContent()) - .eqIfPresent(WxNewsArticleItemDO::getContentSourceUrl, reqVO.getContentSourceUrl()) - .eqIfPresent(WxNewsArticleItemDO::getOrderNo, reqVO.getOrderNo()) - .eqIfPresent(WxNewsArticleItemDO::getPicPath, reqVO.getPicPath()) - .eqIfPresent(WxNewsArticleItemDO::getNeedOpenComment, reqVO.getNeedOpenComment()) - .eqIfPresent(WxNewsArticleItemDO::getOnlyFansCanComment, reqVO.getOnlyFansCanComment()) - .eqIfPresent(WxNewsArticleItemDO::getNewsId, reqVO.getNewsId()) - .eqIfPresent(WxNewsArticleItemDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxNewsArticleItemDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxNewsArticleItemDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java deleted file mode 100644 index f5c03b8..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.newstemplate; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; - -/** - * 图文消息模板 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxNewsTemplateMapper extends BaseMapperX { - - default PageResult selectPage(WxNewsTemplatePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(WxNewsTemplateDO::getTplName, reqVO.getTplName()) - .eqIfPresent(WxNewsTemplateDO::getIsUpload, reqVO.getIsUpload()) - .eqIfPresent(WxNewsTemplateDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxNewsTemplateDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxNewsTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxNewsTemplateDO::getId)); - } - - default List selectList(WxNewsTemplateExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(WxNewsTemplateDO::getTplName, reqVO.getTplName()) - .eqIfPresent(WxNewsTemplateDO::getIsUpload, reqVO.getIsUpload()) - .eqIfPresent(WxNewsTemplateDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxNewsTemplateDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxNewsTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxNewsTemplateDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java deleted file mode 100644 index 3cf1f74..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/receivetext/WxReceiveTextMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.receivetext; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; - -/** - * 回复关键字 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxReceiveTextMapper extends BaseMapperX { - - default PageResult selectPage(WxReceiveTextPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxReceiveTextDO::getReceiveText, reqVO.getReceiveText()) - .eqIfPresent(WxReceiveTextDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxReceiveTextDO::getTplId, reqVO.getTplId()) - .eqIfPresent(WxReceiveTextDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxReceiveTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxReceiveTextDO::getId)); - } - - default List selectList(WxReceiveTextExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxReceiveTextDO::getReceiveText, reqVO.getReceiveText()) - .eqIfPresent(WxReceiveTextDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxReceiveTextDO::getTplId, reqVO.getTplId()) - .eqIfPresent(WxReceiveTextDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxReceiveTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxReceiveTextDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java deleted file mode 100644 index fff0c24..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/subscribetext/WxSubscribeTextMapper.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.subscribetext; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; - -/** - * 关注欢迎语 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxSubscribeTextMapper extends BaseMapperX { - - default PageResult selectPage(WxSubscribeTextPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxSubscribeTextDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxSubscribeTextDO::getTplId, reqVO.getTplId()) - .eqIfPresent(WxSubscribeTextDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxSubscribeTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxSubscribeTextDO::getId)); - } - - default List selectList(WxSubscribeTextExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxSubscribeTextDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxSubscribeTextDO::getTplId, reqVO.getTplId()) - .eqIfPresent(WxSubscribeTextDO::getWxAccountId, reqVO.getWxAccountId()) - .betweenIfPresent(WxSubscribeTextDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxSubscribeTextDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java deleted file mode 100644 index 14c3eb3..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/texttemplate/WxTextTemplateMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.texttemplate; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; - -/** - * 文本模板 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxTextTemplateMapper extends BaseMapperX { - - default PageResult selectPage(WxTextTemplatePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(WxTextTemplateDO::getTplName, reqVO.getTplName()) - .eqIfPresent(WxTextTemplateDO::getContent, reqVO.getContent()) - .betweenIfPresent(WxTextTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxTextTemplateDO::getId)); - } - - default List selectList(WxTextTemplateExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(WxTextTemplateDO::getTplName, reqVO.getTplName()) - .eqIfPresent(WxTextTemplateDO::getContent, reqVO.getContent()) - .betweenIfPresent(WxTextTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxTextTemplateDO::getId)); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java deleted file mode 100644 index f4ed18f..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @date 2022/6/20 - * @author feng-dan - * @version 1.0 - */ -package cn.iocoder.yudao.module.mp.framework; \ No newline at end of file diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java deleted file mode 100644 index 3fc8d37..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/weixin/WxMpMessageRouterConfiguration.java +++ /dev/null @@ -1,106 +0,0 @@ -package cn.iocoder.yudao.module.mp.framework.weixin; - - -import cn.iocoder.yudao.module.mp.handler.*; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.api.WxMpMessageRouter; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.constant.WxMpEventConstants; -import org.springframework.context.annotation.Bean; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; - -/** - * @author fengdan - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WxMpMessageRouterConfiguration { - - @Resource - private WxMpService wxMpService; - @Resource - private LogHandler logHandler; - @Resource - private KfSessionHandler kfSessionHandler; - @Resource - private StoreCheckNotifyHandler storeCheckNotifyHandler; - @Resource - private MenuHandler menuHandler; - @Resource - private NullHandler nullHandler; - @Resource - private SubscribeHandler subscribeHandler; - @Resource - private UnsubscribeHandler unsubscribeHandler; - @Resource - private LocationHandler locationHandler; - @Resource - private ScanHandler scanHandler; - @Resource - private MsgHandler msgHandler; - - @Bean - public WxMpMessageRouter messageRouter() { - final WxMpMessageRouter newRouter = new WxMpMessageRouter(wxMpService); - // 记录所有事件的日志 (异步执行) - newRouter.rule().handler(logHandler).next(); - - // 接收客服会话管理事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxMpEventConstants.CustomerService.KF_CREATE_SESSION) - .handler(kfSessionHandler).end(); - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxMpEventConstants.CustomerService.KF_CLOSE_SESSION) - .handler(kfSessionHandler) - .end(); - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxMpEventConstants.CustomerService.KF_SWITCH_SESSION) - .handler(kfSessionHandler).end(); - - // 门店审核事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxMpEventConstants.POI_CHECK_NOTIFY) - .handler(storeCheckNotifyHandler).end(); - - // 自定义菜单事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxConsts.MenuButtonType.CLICK).handler(menuHandler).end(); - - // 点击菜单连接事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxConsts.MenuButtonType.VIEW).handler(nullHandler).end(); - - // 关注事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxConsts.EventType.SUBSCRIBE).handler(subscribeHandler) - .end(); - - // 取消关注事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxConsts.EventType.UNSUBSCRIBE) - .handler(unsubscribeHandler).end(); - - // 上报地理位置事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxConsts.EventType.LOCATION).handler(locationHandler) - .end(); - - // 接收地理位置消息 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.LOCATION) - .handler(locationHandler).end(); - - // 扫码事件 - newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) - .event(WxConsts.EventType.SCAN).handler(scanHandler).end(); - - // 默认 - newRouter.rule().async(false).handler(msgHandler).end(); - - return newRouter; - } -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java deleted file mode 100644 index 47150d4..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/KfSessionHandler.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -public class KfSessionHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService wxMpService, - WxSessionManager sessionManager) { - //TODO 对会话做处理 - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java deleted file mode 100644 index af5a22b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LocationHandler.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import cn.iocoder.yudao.module.mp.builder.TextBuilder; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -import static me.chanjar.weixin.common.api.WxConsts.XmlMsgType; - -@Component -@Slf4j -public class LocationHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService wxMpService, - WxSessionManager sessionManager) { - if (wxMessage.getMsgType().equals(XmlMsgType.LOCATION)) { - //TODO 接收处理用户发送的地理位置消息 - try { - String content = "感谢反馈,您的的地理位置已收到!"; - return new TextBuilder().build(content, wxMessage, null); - } catch (Exception e) { - log.error("位置消息接收处理失败", e); - return null; - } - } - - //上报地理位置事件 - log.info("上报地理位置,纬度 : {},经度 : {},精度 : {}", - wxMessage.getLatitude(), wxMessage.getLongitude(), String.valueOf(wxMessage.getPrecision())); - - //TODO 可以将用户地理位置信息保存到本地数据库,以便以后使用 - - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java deleted file mode 100644 index 58ae131..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/LogHandler.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import cn.iocoder.yudao.framework.common.util.json.JsonUtils; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -@Slf4j -public class LogHandler implements WxMpMessageHandler { - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService wxMpService, - WxSessionManager sessionManager) { - log.info("接收到请求消息,内容:{}", JsonUtils.toJsonString(wxMessage)); - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java deleted file mode 100644 index 2eacfb0..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MenuHandler.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -import static me.chanjar.weixin.common.api.WxConsts.MenuButtonType; - -@Component -public class MenuHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService weixinService, - WxSessionManager sessionManager) { - - String msg = wxMessage.getEventKey(); - if (MenuButtonType.VIEW.equals(wxMessage.getEvent())) { - return null; - } - - return WxMpXmlOutMessage.TEXT().content(msg) - .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) - .build(); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java deleted file mode 100644 index c7a73b5..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/MsgHandler.java +++ /dev/null @@ -1,172 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import cn.hutool.core.io.FileUtil; -import cn.hutool.http.HtmlUtil; -import cn.hutool.http.HttpUtil; -import cn.iocoder.yudao.framework.common.util.json.JsonUtils; -import cn.iocoder.yudao.module.infra.api.file.FileApi; -import cn.iocoder.yudao.module.mp.builder.TextBuilder; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.WxFansMsgCreateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.service.account.WxAccountService; -import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.bean.result.WxMpUser; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.io.File; -import java.io.UnsupportedEncodingException; -import java.util.Map; - -@Component -@Slf4j -public class MsgHandler implements WxMpMessageHandler { - @Autowired - private WxAccountService wxAccountService; - - @Autowired - private WxFansMsgService wxFansMsgService; - - @Resource - private FileApi fileApi; - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService weixinService, - WxSessionManager sessionManager) { - log.info("收到信息内容:{}", JsonUtils.toJsonString(wxMessage)); - log.info("关键字:{}", wxMessage.getContent()); - - if (!wxMessage.getMsgType().equals(WxConsts.XmlMsgType.EVENT)) { - //可以选择将消息保存到本地 - - // 获取微信用户基本信息 - try { - WxMpUser wxmpUser = weixinService.getUserService() - .userInfo(wxMessage.getFromUser(), null); - if (wxmpUser != null) { - WxAccountDO wxAccount = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); - if (wxAccount != null) { - - if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.TEXT)) { - WxFansMsgCreateReqVO wxFansMsg = new WxFansMsgCreateReqVO(); - wxFansMsg.setOpenid(wxmpUser.getOpenId()); - try { - wxFansMsg.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - wxFansMsg.setHeadimgUrl(wxmpUser.getHeadImgUrl()); - wxFansMsg.setWxAccountId(String.valueOf(wxAccount.getId())); - wxFansMsg.setMsgType(wxMessage.getMsgType()); - wxFansMsg.setContent(wxMessage.getContent()); - wxFansMsg.setIsRes("1"); - - //组装回复消息 - String content = processContent(wxMessage); - content = HtmlUtil.escape(content); - wxFansMsg.setResContent(content); - - wxFansMsgService.createWxFansMsg(wxFansMsg); - return new TextBuilder().build(content, wxMessage, weixinService); - - } - if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.IMAGE)) { - WxFansMsgCreateReqVO wxFansMsg = new WxFansMsgCreateReqVO(); - wxFansMsg.setOpenid(wxmpUser.getOpenId()); - try { - wxFansMsg.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - wxFansMsg.setHeadimgUrl(wxmpUser.getHeadImgUrl()); - wxFansMsg.setWxAccountId(String.valueOf(wxAccount.getId())); - wxFansMsg.setMsgType(wxMessage.getMsgType()); - wxFansMsg.setMediaId(wxMessage.getMediaId()); - wxFansMsg.setPicUrl(wxMessage.getPicUrl()); - String downloadDirStr = fileApi.createFile(HttpUtil.downloadBytes(wxMessage.getPicUrl())); - File downloadDir = new File(downloadDirStr); - if (!downloadDir.exists()) { - downloadDir.mkdirs(); - } - String filepath = downloadDirStr + System.currentTimeMillis() + ".png"; - //微信pic url下载到本地,防止失效 - long size = HttpUtil.downloadFile(wxMessage.getPicUrl(), FileUtil.file(filepath)); - log.info("download pic size : {}", size); - wxFansMsg.setPicPath(filepath); - wxFansMsg.setIsRes("0"); - wxFansMsgService.createWxFansMsg(wxFansMsg); - } - - } - } - } catch (WxErrorException e) { - if (e.getError().getErrorCode() == 48001) { - log.info("该公众号没有获取用户信息权限!"); - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - - //当用户输入关键词如“你好”,“客服”等,并且有客服在线时,把消息转发给在线客服 - try { - if (StringUtils.startsWithAny(wxMessage.getContent(), "你好", "客服") - && weixinService.getKefuService().kfOnlineList() - .getKfOnlineList().size() > 0) { - return WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE() - .fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()).build(); - } - } catch (WxErrorException e) { - e.printStackTrace(); - } - - //组装默认回复消息 - return new TextBuilder().build("测试", wxMessage, weixinService); - } - - - //处理回复信息,优先级,关键字、智能机器人、默认值 - String processContent(WxMpXmlMessage wxMessage) { - String content = ""; - /* content = processReceiveTextContent(wxMessage); - if(StringUtils.isNotBlank( content )){ - return content; - } - - content = defaultResponseContent;*/ - return content; - } - - //处理关键字 - String processReceiveTextContent(WxMpXmlMessage wxMessage) { - String content = ""; - /* WxAccountDO wxAccount = wxAccountService.findBy( WxAccountDO::getAccount,wxMessage.getToUser()); - if(wxAccount != null){ - WxReceiveText wxReceiveTextTpl = new WxReceiveText(); - wxReceiveTextTpl.setWxAccountId( String.valueOf( wxAccount.getId() ) ); - wxReceiveTextTpl.setReceiveText( wxMessage.getContent() ); - List wxReceiveTextList = wxReceiveTextService.findListByReceiveTest( wxReceiveTextTpl ); - if(wxReceiveTextList != null && wxReceiveTextList.size() > 0){ - WxReceiveText wxReceiveText = wxReceiveTextList.get( 0 ); - WxTextTemplate wxTextTemplate = wxTextTemplateService.findById( Integer.parseInt( wxReceiveText.getTplId() ) ); - content = wxTextTemplate.getContent(); - } - }*/ - return content; - } - - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java deleted file mode 100644 index abc9076..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/NullHandler.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -public class NullHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService wxMpService, - WxSessionManager sessionManager) { - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java deleted file mode 100644 index 20d0c0e..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/ScanHandler.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -public class ScanHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMpXmlMessage, Map map, - WxMpService wxMpService, WxSessionManager wxSessionManager) throws WxErrorException { - // 扫码事件处理 - return null; - } -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java deleted file mode 100644 index 52715c5..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/StoreCheckNotifyHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 门店审核事件处理 - * - */ -@Component -public class StoreCheckNotifyHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService wxMpService, - WxSessionManager sessionManager) { - // TODO 处理门店审核事件 - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java deleted file mode 100644 index a25372d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/SubscribeHandler.java +++ /dev/null @@ -1,159 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import cn.hutool.core.date.DateUtil; -import cn.iocoder.yudao.framework.common.util.json.JsonUtils; -import cn.iocoder.yudao.module.mp.builder.TextBuilder; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; -import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; -import cn.iocoder.yudao.module.mp.service.account.WxAccountService; -import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; -import cn.iocoder.yudao.module.mp.service.accountfanstag.WxAccountFansTagService; -import cn.iocoder.yudao.module.mp.service.subscribetext.WxSubscribeTextService; -import cn.iocoder.yudao.module.mp.service.texttemplate.WxTextTemplateService; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.bean.result.WxMpUser; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.io.UnsupportedEncodingException; -import java.util.Map; - -@Component -@Slf4j -public class SubscribeHandler implements WxMpMessageHandler { - - @Autowired - private WxTextTemplateService wxTextTemplateService; - - @Autowired - private WxAccountService wxAccountService; - - @Autowired - private WxSubscribeTextService wxSubscribeTextService; - - @Autowired - private WxAccountFansService wxAccountFansService; - - @Autowired - private WxAccountFansTagService wxAccountFansTagService; - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService weixinService, - WxSessionManager sessionManager) throws WxErrorException { - - log.info("新关注用户 OPENID: " + wxMessage.getFromUser()); - - // 获取微信用户基本信息 - try { - WxMpUser wxmpUser = weixinService.getUserService() - .userInfo(wxMessage.getFromUser(), null); - if (wxmpUser != null) { - // 可以添加关注用户到本地数据库 - WxAccountDO wxAccount = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); - if (wxAccount != null) { - WxAccountFansDO wxAccountFans = wxAccountFansService.findBy(WxAccountFansDO::getOpenid, wxmpUser.getOpenId()); - if (wxAccountFans == null) {//insert - WxAccountFansCreateReqVO wxAccountFansCreateReqVO = new WxAccountFansCreateReqVO(); - wxAccountFansCreateReqVO.setOpenid(wxmpUser.getOpenId()); - wxAccountFansCreateReqVO.setSubscribeStatus(wxmpUser.getSubscribe() ? "1" : "0"); - wxAccountFansCreateReqVO.setSubscribeTime(DateUtil.date(wxmpUser.getSubscribeTime() * 1000L)); - try { - wxAccountFansCreateReqVO.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - wxAccountFansCreateReqVO.setLanguage(wxmpUser.getLanguage()); - wxAccountFansCreateReqVO.setHeadimgUrl(wxmpUser.getHeadImgUrl()); - wxAccountFansCreateReqVO.setRemark(wxmpUser.getRemark()); - wxAccountFansCreateReqVO.setWxAccountId(String.valueOf(wxAccount.getId())); - wxAccountFansCreateReqVO.setWxAccountAppid(wxAccount.getAppId()); - wxAccountFansService.createWxAccountFans(wxAccountFansCreateReqVO); - - //process tags - wxAccountFansTagService.processFansTags(wxAccount, wxmpUser); - - } else {//update - WxAccountFansUpdateReqVO wxAccountFansUpdateReqVO = new WxAccountFansUpdateReqVO(); - wxAccountFansUpdateReqVO.setId(wxAccountFans.getId()); - wxAccountFansUpdateReqVO.setOpenid(wxmpUser.getOpenId()); - wxAccountFansUpdateReqVO.setSubscribeStatus(wxmpUser.getSubscribe() ? "1" : "0"); - wxAccountFansUpdateReqVO.setSubscribeTime(DateUtil.date(wxmpUser.getSubscribeTime() * 1000L)); - try { - wxAccountFans.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - wxAccountFansUpdateReqVO.setLanguage(wxmpUser.getLanguage()); - wxAccountFansUpdateReqVO.setHeadimgUrl(wxmpUser.getHeadImgUrl()); - wxAccountFansUpdateReqVO.setRemark(wxmpUser.getRemark()); - wxAccountFansUpdateReqVO.setWxAccountId(String.valueOf(wxAccount.getId())); - wxAccountFansUpdateReqVO.setWxAccountAppid(wxAccount.getAppId()); - wxAccountFansService.updateWxAccountFans(wxAccountFansUpdateReqVO); - - //process tags - wxAccountFansTagService.processFansTags(wxAccount, wxmpUser); - - } - } - - } - } catch (WxErrorException e) { - if (e.getError().getErrorCode() == 48001) { - log.info("该公众号没有获取用户信息权限!"); - } - } - - - WxMpXmlOutMessage responseResult = null; - try { - responseResult = this.handleSpecial(wxMessage); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - - if (responseResult != null) { - return responseResult; - } - - try { - String content = "感谢关注!";//默认 - WxAccountDO wxAccount = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); - if (wxAccount != null) { - WxSubscribeTextDO wxSubscribeText = wxSubscribeTextService.findBy(WxSubscribeTextDO::getWxAccountId, String.valueOf(wxAccount.getId())); - if (wxSubscribeText != null) { - WxTextTemplateDO wxTextTemplate = wxTextTemplateService.getWxTextTemplate(Integer.parseInt(wxSubscribeText.getTplId())); - if (wxTextTemplate != null) { - content = wxTextTemplate.getContent(); - } - } - } - log.info("wxMessage : {}", JsonUtils.toJsonString(wxMessage)); - return new TextBuilder().build(content, wxMessage, weixinService); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - - return null; - } - - /** - * 处理特殊请求,比如如果是扫码进来的,可以做相应处理 - */ - private WxMpXmlOutMessage handleSpecial(WxMpXmlMessage wxMessage) - throws Exception { - //TODO - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java deleted file mode 100644 index 825834f..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/handler/UnsubscribeHandler.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.iocoder.yudao.module.mp.handler; - -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import cn.iocoder.yudao.module.mp.service.account.WxAccountService; -import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -@Slf4j -public class UnsubscribeHandler implements WxMpMessageHandler { - - @Autowired - private WxAccountService wxAccountService; - - @Autowired - private WxAccountFansService wxAccountFansService; - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, - Map context, WxMpService wxMpService, - WxSessionManager sessionManager) { - String openId = wxMessage.getFromUser(); - log.info("取消关注用户 OPENID: " + openId); - // TODO 可以更新本地数据库为取消关注状态 - - WxAccountDO wxAccountDO = wxAccountService.findBy(WxAccountDO::getAccount, wxMessage.getToUser()); - if (wxAccountDO != null) { - WxAccountFansDO wxAccountFansDO = wxAccountFansService.findBy(WxAccountFansDO::getOpenid, openId); - if (wxAccountFansDO != null) { - WxAccountFansUpdateReqVO wxAccountFansUpdateReqVO = new WxAccountFansUpdateReqVO(); - wxAccountFansUpdateReqVO.setId(wxAccountDO.getId()); - wxAccountFansDO.setSubscribeStatus("0");//取消订阅 - wxAccountFansService.updateWxAccountFans(wxAccountFansUpdateReqVO); - } - } - - - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java deleted file mode 100644 index 2f0863b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/WxConfigDataRefreshConsumer.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.mp.mq.costomer; - -import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener; -import cn.iocoder.yudao.module.mp.mq.message.WxConfigDataRefreshMessage; -import cn.iocoder.yudao.module.mp.service.account.WxAccountService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; - -/** - * 针对 {@link WxConfigDataRefreshMessage} 的消费者 - * - * @author lyz - */ -@Component -@Slf4j -public class WxConfigDataRefreshConsumer extends AbstractChannelMessageListener { - - @Resource - private WxAccountService wxAccountService; - - @Override - public void onMessage(WxConfigDataRefreshMessage message) { - log.info("[onMessage][收到 WxConfigData 刷新消息]"); - wxAccountService.initLoadWxMpConfigStorages(); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java deleted file mode 100644 index 4838260..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/message/WxConfigDataRefreshMessage.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.mp.mq.message; - -import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 微信配置数据刷新 Message - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class WxConfigDataRefreshMessage extends AbstractChannelMessage { - - @Override - public String getChannel() { - return "wechat-mp.wx-config-data.refresh"; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java deleted file mode 100644 index d765b9a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/producer/WxMpConfigDataProducer.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.iocoder.yudao.module.mp.mq.producer; - -import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate; -import cn.iocoder.yudao.module.mp.mq.message.WxConfigDataRefreshMessage; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; - -/** - * 微信配置数据相关消息的 Producer - */ -@Component -public class WxMpConfigDataProducer { - - @Resource - private RedisMQTemplate redisMQTemplate; - - /** - * 发送 {@link WxConfigDataRefreshMessage} 消息 - */ - public void sendDictDataRefreshMessage() { - WxConfigDataRefreshMessage message = new WxConfigDataRefreshMessage(); - redisMQTemplate.send(message); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java deleted file mode 100644 index 5987180..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * mp 模块,我们放微信微信公众号。 - * 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能 - * - * 1. Controller URL:以 /mp/ 开头,避免和其它 Module 冲突 - * 2. DataObject 表名:以 mp_ 开头,方便在数据库中区分 - */ -package cn.iocoder.yudao.module.mp; diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java deleted file mode 100644 index 79650c2..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountService.java +++ /dev/null @@ -1,89 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.account; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountPageReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountUpdateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; - -import javax.validation.Valid; -import java.util.Collection; -import java.util.List; - -/** - * 公众号账户 Service 接口 - * - * @author 芋道源码 - */ -public interface WxAccountService { - - /** - * 创建公众号账户 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createWxAccount(@Valid WxAccountCreateReqVO createReqVO); - - /** - * 更新公众号账户 - * - * @param updateReqVO 更新信息 - */ - void updateWxAccount(@Valid WxAccountUpdateReqVO updateReqVO); - - /** - * 删除公众号账户 - * - * @param id 编号 - */ - void deleteWxAccount(Long id); - - /** - * 获得公众号账户 - * - * @param id 编号 - * @return 公众号账户 - */ - WxAccountDO getWxAccount(Long id); - - /** - * 获得公众号账户列表 - * - * @param ids 编号 - * @return 公众号账户列表 - */ - List getWxAccountList(Collection ids); - - /** - * 获得公众号账户分页 - * - * @param pageReqVO 分页查询 - * @return 公众号账户分页 - */ - PageResult getWxAccountPage(WxAccountPageReqVO pageReqVO); - - /** - * 获得公众号账户列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 公众号账户列表 - */ - List getWxAccountList(WxAccountExportReqVO exportReqVO); - - /** - * 查询账户 - * - * @param field - * @param val - * @return - */ - WxAccountDO findBy(SFunction field, Object val); - - /** - * 初始化 - */ - void initLoadWxMpConfigStorages(); -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java deleted file mode 100644 index 6b550bb..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/account/WxAccountServiceImpl.java +++ /dev/null @@ -1,159 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.account; - -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountPageReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountUpdateReqVO; -import cn.iocoder.yudao.module.mp.convert.account.WxAccountConvert; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.dal.mysql.account.WxAccountMapper; -import cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants; -import cn.iocoder.yudao.module.mp.mq.producer.WxMpConfigDataProducer; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.config.WxMpConfigStorage; -import org.springframework.context.annotation.Lazy; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.PostConstruct; -import javax.annotation.Resource; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -/** - * 公众号账户 Service 实现类 - * - * @author fengdan - */ -@Slf4j -@Service -@Validated -public class WxAccountServiceImpl implements WxAccountService { - - private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L; - @Resource - private WxAccountMapper wxAccountMapper; - @Resource - private WxMpConfigDataProducer wxMpConfigDataProducer; - @Resource - private StringRedisTemplate stringRedisTemplate; - @Resource - private WxMpService wxMpService; - @Resource - private WxMpProperties wxMpProperties; - @Resource - @Lazy // 注入自己,所以延迟加载 - private WxAccountService self; - - @Override - public Long createWxAccount(WxAccountCreateReqVO createReqVO) { - // 插入 - WxAccountDO wxAccount = WxAccountConvert.INSTANCE.convert(createReqVO); - wxAccountMapper.insert(wxAccount); - wxMpConfigDataProducer.sendDictDataRefreshMessage(); - // 返回 - return wxAccount.getId(); - } - - @Override - public void updateWxAccount(WxAccountUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxAccountExists(updateReqVO.getId()); - // 更新 - WxAccountDO updateObj = WxAccountConvert.INSTANCE.convert(updateReqVO); - wxAccountMapper.updateById(updateObj); - wxMpConfigDataProducer.sendDictDataRefreshMessage(); - } - - @Override - public void deleteWxAccount(Long id) { - // 校验存在 - this.validateWxAccountExists(id); - // 删除 - wxAccountMapper.deleteById(id); - wxMpConfigDataProducer.sendDictDataRefreshMessage(); - } - - private void validateWxAccountExists(Long id) { - if (wxAccountMapper.selectById(id) == null) { - throw ServiceExceptionUtil.exception(ErrorCodeConstants.WX_ACCOUNT_NOT_EXISTS); - } - } - - @Override - public WxAccountDO getWxAccount(Long id) { - return wxAccountMapper.selectById(id); - } - - @Override - public List getWxAccountList(Collection ids) { - return wxAccountMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxAccountPage(WxAccountPageReqVO pageReqVO) { - return wxAccountMapper.selectPage(pageReqVO); - } - - @Override - public List getWxAccountList(WxAccountExportReqVO exportReqVO) { - return wxAccountMapper.selectList(exportReqVO); - } - - @Override - public WxAccountDO findBy(SFunction field, Object val) { - return wxAccountMapper.selectOne(field, val); - } - - @PostConstruct - @TenantIgnore - @Override - public void initLoadWxMpConfigStorages() { - List wxAccountList = this.wxAccountMapper.selectList(); - if (CollectionUtils.isEmpty(wxAccountList)) { - log.info("未读取到公众号配置,请在管理后台添加"); - return; - } - log.info("加载到{}条公众号配置", wxAccountList.size()); - wxAccountList.forEach(account -> addAccountToRuntime(account, new RedisTemplateWxRedisOps(stringRedisTemplate))); - log.info("公众号配置加载完成"); - } - - /** - * 添加账号到当前程序,如首次添加需初始化configStorageMap - * - * @param account 公众号 - */ - private synchronized void addAccountToRuntime(WxAccountDO account, RedisTemplateWxRedisOps redisOps) { - String appId = account.getAppId(); - WxMpConfigStorage wxMpRedisConfig = account.toWxMpConfigStorage(redisOps, wxMpProperties); - try { - wxMpService.addConfigStorage(appId, wxMpRedisConfig); - } catch (NullPointerException e) { - log.info("需初始化configStorageMap..."); - Map configStorages = new HashMap<>(4); - configStorages.put(appId, wxMpRedisConfig); - wxMpService.setMultiConfigStorages(configStorages, appId); - } - } - - @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD) - public void schedulePeriodicRefresh() { - self.initLoadWxMpConfigStorages(); - } - - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java deleted file mode 100644 index b4dbe29..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java +++ /dev/null @@ -1,84 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.accountfans; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; - -import javax.validation.Valid; -import java.util.Collection; -import java.util.List; - -/** - * 微信公众号粉丝 Service 接口 - * - * @author 芋道源码 - */ -public interface WxAccountFansService { - - /** - * 创建微信公众号粉丝 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createWxAccountFans(@Valid WxAccountFansCreateReqVO createReqVO); - - /** - * 更新微信公众号粉丝 - * - * @param updateReqVO 更新信息 - */ - void updateWxAccountFans(@Valid WxAccountFansUpdateReqVO updateReqVO); - - /** - * 删除微信公众号粉丝 - * - * @param id 编号 - */ - void deleteWxAccountFans(Long id); - - /** - * 获得微信公众号粉丝 - * - * @param id 编号 - * @return 微信公众号粉丝 - */ - WxAccountFansDO getWxAccountFans(Long id); - - /** - * 获得微信公众号粉丝列表 - * - * @param ids 编号 - * @return 微信公众号粉丝列表 - */ - List getWxAccountFansList(Collection ids); - - /** - * 获得微信公众号粉丝分页 - * - * @param pageReqVO 分页查询 - * @return 微信公众号粉丝分页 - */ - PageResult getWxAccountFansPage(WxAccountFansPageReqVO pageReqVO); - - /** - * 获得微信公众号粉丝列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 微信公众号粉丝列表 - */ - List getWxAccountFansList(WxAccountFansExportReqVO exportReqVO); - - /** - * 查询粉丝 - * - * @param sFunction - * @param val - * @return - */ - WxAccountFansDO findBy(SFunction sFunction, Object val); -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java deleted file mode 100644 index 21568b9..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.accountfans; - -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; -import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; -import cn.iocoder.yudao.module.mp.dal.mysql.accountfans.WxAccountFansMapper; -import cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; -import java.util.Collection; -import java.util.List; - -/** - * 微信公众号粉丝 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxAccountFansServiceImpl implements WxAccountFansService { - - @Resource - private WxAccountFansMapper wxAccountFansMapper; - - @Override - public Long createWxAccountFans(WxAccountFansCreateReqVO createReqVO) { - // 插入 - WxAccountFansDO wxAccountFans = WxAccountFansConvert.INSTANCE.convert(createReqVO); - wxAccountFansMapper.insert(wxAccountFans); - // 返回 - return wxAccountFans.getId(); - } - - @Override - public void updateWxAccountFans(WxAccountFansUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxAccountFansExists(updateReqVO.getId()); - // 更新 - WxAccountFansDO updateObj = WxAccountFansConvert.INSTANCE.convert(updateReqVO); - wxAccountFansMapper.updateById(updateObj); - } - - @Override - public void deleteWxAccountFans(Long id) { - // 校验存在 - this.validateWxAccountFansExists(id); - // 删除 - wxAccountFansMapper.deleteById(id); - } - - private void validateWxAccountFansExists(Long id) { - if (wxAccountFansMapper.selectById(id) == null) { - throw ServiceExceptionUtil.exception(ErrorCodeConstants.WX_ACCOUNT_FANS_NOT_EXISTS); - } - } - - @Override - public WxAccountFansDO getWxAccountFans(Long id) { - return wxAccountFansMapper.selectById(id); - } - - @Override - public List getWxAccountFansList(Collection ids) { - return wxAccountFansMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxAccountFansPage(WxAccountFansPageReqVO pageReqVO) { - return wxAccountFansMapper.selectPage(pageReqVO); - } - - @Override - public List getWxAccountFansList(WxAccountFansExportReqVO exportReqVO) { - return wxAccountFansMapper.selectList(exportReqVO); - } - - @Override - public WxAccountFansDO findBy(SFunction sFunction, Object val) { - return wxAccountFansMapper.selectOne(sFunction, val); - } -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java deleted file mode 100644 index 6247069..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagService.java +++ /dev/null @@ -1,74 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.accountfanstag; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import me.chanjar.weixin.mp.bean.result.WxMpUser; - -/** - * 粉丝标签关联 Service 接口 - * - * @author 芋道源码 - */ -public interface WxAccountFansTagService { - - /** - * 创建粉丝标签关联 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxAccountFansTag(@Valid WxAccountFansTagCreateReqVO createReqVO); - - /** - * 更新粉丝标签关联 - * - * @param updateReqVO 更新信息 - */ - void updateWxAccountFansTag(@Valid WxAccountFansTagUpdateReqVO updateReqVO); - - /** - * 删除粉丝标签关联 - * - * @param id 编号 - */ - void deleteWxAccountFansTag(Integer id); - - /** - * 获得粉丝标签关联 - * - * @param id 编号 - * @return 粉丝标签关联 - */ - WxAccountFansTagDO getWxAccountFansTag(Integer id); - - /** - * 获得粉丝标签关联列表 - * - * @param ids 编号 - * @return 粉丝标签关联列表 - */ - List getWxAccountFansTagList(Collection ids); - - /** - * 获得粉丝标签关联分页 - * - * @param pageReqVO 分页查询 - * @return 粉丝标签关联分页 - */ - PageResult getWxAccountFansTagPage(WxAccountFansTagPageReqVO pageReqVO); - - /** - * 获得粉丝标签关联列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 粉丝标签关联列表 - */ - List getWxAccountFansTagList(WxAccountFansTagExportReqVO exportReqVO); - - void processFansTags(WxAccountDO wxAccount, WxMpUser wxmpUser); -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java deleted file mode 100644 index 4368561..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfanstag/WxAccountFansTagServiceImpl.java +++ /dev/null @@ -1,106 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.accountfanstag; - -import cn.hutool.core.date.DateUtil; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import me.chanjar.weixin.mp.bean.result.WxMpUser; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.accountfanstag.WxAccountFansTagConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.accountfanstag.WxAccountFansTagMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 粉丝标签关联 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxAccountFansTagServiceImpl implements WxAccountFansTagService { - - @Resource - private WxAccountFansTagMapper wxAccountFansTagMapper; - - @Override - public Integer createWxAccountFansTag(WxAccountFansTagCreateReqVO createReqVO) { - // 插入 - WxAccountFansTagDO wxAccountFansTag = WxAccountFansTagConvert.INSTANCE.convert(createReqVO); - wxAccountFansTagMapper.insert(wxAccountFansTag); - // 返回 - return wxAccountFansTag.getId(); - } - - @Override - public void updateWxAccountFansTag(WxAccountFansTagUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxAccountFansTagExists(updateReqVO.getId()); - // 更新 - WxAccountFansTagDO updateObj = WxAccountFansTagConvert.INSTANCE.convert(updateReqVO); - wxAccountFansTagMapper.updateById(updateObj); - } - - @Override - public void deleteWxAccountFansTag(Integer id) { - // 校验存在 - this.validateWxAccountFansTagExists(id); - // 删除 - wxAccountFansTagMapper.deleteById(id); - } - - private void validateWxAccountFansTagExists(Integer id) { - if (wxAccountFansTagMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxAccountFansTagDO getWxAccountFansTag(Integer id) { - return wxAccountFansTagMapper.selectById(id); - } - - @Override - public List getWxAccountFansTagList(Collection ids) { - return wxAccountFansTagMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxAccountFansTagPage(WxAccountFansTagPageReqVO pageReqVO) { - return wxAccountFansTagMapper.selectPage(pageReqVO); - } - - @Override - public List getWxAccountFansTagList(WxAccountFansTagExportReqVO exportReqVO) { - return wxAccountFansTagMapper.selectList(exportReqVO); - } - - @Override - public void processFansTags(WxAccountDO wxAccountDO, WxMpUser wxmpUser) { - WxAccountFansTagExportReqVO wxAccountFansTagTpl = new WxAccountFansTagExportReqVO(); - wxAccountFansTagTpl.setOpenid(wxmpUser.getOpenId()); - List wxAccountFansTagList = this.getWxAccountFansTagList(wxAccountFansTagTpl); - wxAccountFansTagList.forEach(temp -> this.deleteWxAccountFansTag(temp.getId())); - - Long[] tagIds = wxmpUser.getTagIds(); - for (Long tagId : tagIds) { - WxAccountFansTagCreateReqVO wxAccountFansTag = new WxAccountFansTagCreateReqVO(); - wxAccountFansTag.setOpenid(wxmpUser.getOpenId()); - wxAccountFansTag.setTagId(String.valueOf(tagId)); - wxAccountFansTag.setWxAccountId(String.valueOf(wxAccountDO.getId())); - this.createWxAccountFansTag(wxAccountFansTag); - } - } - - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java deleted file mode 100644 index 658a89a..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsg; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 粉丝消息表 Service 接口 - * - * @author 芋道源码 - */ -public interface WxFansMsgService { - - /** - * 创建粉丝消息表 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxFansMsg(@Valid WxFansMsgCreateReqVO createReqVO); - - /** - * 更新粉丝消息表 - * - * @param updateReqVO 更新信息 - */ - void updateWxFansMsg(@Valid WxFansMsgUpdateReqVO updateReqVO); - - /** - * 删除粉丝消息表 - * - * @param id 编号 - */ - void deleteWxFansMsg(Integer id); - - /** - * 获得粉丝消息表 - * - * @param id 编号 - * @return 粉丝消息表 - */ - WxFansMsgDO getWxFansMsg(Integer id); - - /** - * 获得粉丝消息表 列表 - * - * @param ids 编号 - * @return 粉丝消息表 列表 - */ - List getWxFansMsgList(Collection ids); - - /** - * 获得粉丝消息表 分页 - * - * @param pageReqVO 分页查询 - * @return 粉丝消息表 分页 - */ - PageResult getWxFansMsgPage(WxFansMsgPageReqVO pageReqVO); - - /** - * 获得粉丝消息表 列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 粉丝消息表 列表 - */ - List getWxFansMsgList(WxFansMsgExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java deleted file mode 100644 index 3c533c3..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsg; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.fansmsg.WxFansMsgMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 粉丝消息表 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxFansMsgServiceImpl implements WxFansMsgService { - - @Resource - private WxFansMsgMapper wxFansMsgMapper; - - @Override - public Integer createWxFansMsg(WxFansMsgCreateReqVO createReqVO) { - // 插入 - WxFansMsgDO wxFansMsg = WxFansMsgConvert.INSTANCE.convert(createReqVO); - wxFansMsgMapper.insert(wxFansMsg); - // 返回 - return wxFansMsg.getId(); - } - - @Override - public void updateWxFansMsg(WxFansMsgUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxFansMsgExists(updateReqVO.getId()); - // 更新 - WxFansMsgDO updateObj = WxFansMsgConvert.INSTANCE.convert(updateReqVO); - wxFansMsgMapper.updateById(updateObj); - } - - @Override - public void deleteWxFansMsg(Integer id) { - // 校验存在 - this.validateWxFansMsgExists(id); - // 删除 - wxFansMsgMapper.deleteById(id); - } - - private void validateWxFansMsgExists(Integer id) { - if (wxFansMsgMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxFansMsgDO getWxFansMsg(Integer id) { - return wxFansMsgMapper.selectById(id); - } - - @Override - public List getWxFansMsgList(Collection ids) { - return wxFansMsgMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxFansMsgPage(WxFansMsgPageReqVO pageReqVO) { - return wxFansMsgMapper.selectPage(pageReqVO); - } - - @Override - public List getWxFansMsgList(WxFansMsgExportReqVO exportReqVO) { - return wxFansMsgMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java deleted file mode 100644 index 203c362..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsgres; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 回复粉丝消息历史表 Service 接口 - * - * @author 芋道源码 - */ -public interface WxFansMsgResService { - - /** - * 创建回复粉丝消息历史表 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxFansMsgRes(@Valid WxFansMsgResCreateReqVO createReqVO); - - /** - * 更新回复粉丝消息历史表 - * - * @param updateReqVO 更新信息 - */ - void updateWxFansMsgRes(@Valid WxFansMsgResUpdateReqVO updateReqVO); - - /** - * 删除回复粉丝消息历史表 - * - * @param id 编号 - */ - void deleteWxFansMsgRes(Integer id); - - /** - * 获得回复粉丝消息历史表 - * - * @param id 编号 - * @return 回复粉丝消息历史表 - */ - WxFansMsgResDO getWxFansMsgRes(Integer id); - - /** - * 获得回复粉丝消息历史表 列表 - * - * @param ids 编号 - * @return 回复粉丝消息历史表 列表 - */ - List getWxFansMsgResList(Collection ids); - - /** - * 获得回复粉丝消息历史表 分页 - * - * @param pageReqVO 分页查询 - * @return 回复粉丝消息历史表 分页 - */ - PageResult getWxFansMsgResPage(WxFansMsgResPageReqVO pageReqVO); - - /** - * 获得回复粉丝消息历史表 列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 回复粉丝消息历史表 列表 - */ - List getWxFansMsgResList(WxFansMsgResExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java deleted file mode 100644 index 964c0ed..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsgres; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.fansmsgres.WxFansMsgResMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 回复粉丝消息历史表 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxFansMsgResServiceImpl implements WxFansMsgResService { - - @Resource - private WxFansMsgResMapper wxFansMsgResMapper; - - @Override - public Integer createWxFansMsgRes(WxFansMsgResCreateReqVO createReqVO) { - // 插入 - WxFansMsgResDO wxFansMsgRes = WxFansMsgResConvert.INSTANCE.convert(createReqVO); - wxFansMsgResMapper.insert(wxFansMsgRes); - // 返回 - return wxFansMsgRes.getId(); - } - - @Override - public void updateWxFansMsgRes(WxFansMsgResUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxFansMsgResExists(updateReqVO.getId()); - // 更新 - WxFansMsgResDO updateObj = WxFansMsgResConvert.INSTANCE.convert(updateReqVO); - wxFansMsgResMapper.updateById(updateObj); - } - - @Override - public void deleteWxFansMsgRes(Integer id) { - // 校验存在 - this.validateWxFansMsgResExists(id); - // 删除 - wxFansMsgResMapper.deleteById(id); - } - - private void validateWxFansMsgResExists(Integer id) { - if (wxFansMsgResMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxFansMsgResDO getWxFansMsgRes(Integer id) { - return wxFansMsgResMapper.selectById(id); - } - - @Override - public List getWxFansMsgResList(Collection ids) { - return wxFansMsgResMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxFansMsgResPage(WxFansMsgResPageReqVO pageReqVO) { - return wxFansMsgResMapper.selectPage(pageReqVO); - } - - @Override - public List getWxFansMsgResList(WxFansMsgResExportReqVO exportReqVO) { - return wxFansMsgResMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java deleted file mode 100644 index c6c57bb..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.mediaupload; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 微信素材上传表 Service 接口 - * - * @author 芋道源码 - */ -public interface WxMediaUploadService { - - /** - * 创建微信素材上传表 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxMediaUpload(@Valid WxMediaUploadCreateReqVO createReqVO); - - /** - * 更新微信素材上传表 - * - * @param updateReqVO 更新信息 - */ - void updateWxMediaUpload(@Valid WxMediaUploadUpdateReqVO updateReqVO); - - /** - * 删除微信素材上传表 - * - * @param id 编号 - */ - void deleteWxMediaUpload(Integer id); - - /** - * 获得微信素材上传表 - * - * @param id 编号 - * @return 微信素材上传表 - */ - WxMediaUploadDO getWxMediaUpload(Integer id); - - /** - * 获得微信素材上传表 列表 - * - * @param ids 编号 - * @return 微信素材上传表 列表 - */ - List getWxMediaUploadList(Collection ids); - - /** - * 获得微信素材上传表 分页 - * - * @param pageReqVO 分页查询 - * @return 微信素材上传表 分页 - */ - PageResult getWxMediaUploadPage(WxMediaUploadPageReqVO pageReqVO); - - /** - * 获得微信素材上传表 列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 微信素材上传表 列表 - */ - List getWxMediaUploadList(WxMediaUploadExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java deleted file mode 100644 index 8433275..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/mediaupload/WxMediaUploadServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.mediaupload; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.mediaupload.WxMediaUploadConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.mediaupload.WxMediaUploadMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 微信素材上传表 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxMediaUploadServiceImpl implements WxMediaUploadService { - - @Resource - private WxMediaUploadMapper wxMediaUploadMapper; - - @Override - public Integer createWxMediaUpload(WxMediaUploadCreateReqVO createReqVO) { - // 插入 - WxMediaUploadDO wxMediaUpload = WxMediaUploadConvert.INSTANCE.convert(createReqVO); - wxMediaUploadMapper.insert(wxMediaUpload); - // 返回 - return wxMediaUpload.getId(); - } - - @Override - public void updateWxMediaUpload(WxMediaUploadUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxMediaUploadExists(updateReqVO.getId()); - // 更新 - WxMediaUploadDO updateObj = WxMediaUploadConvert.INSTANCE.convert(updateReqVO); - wxMediaUploadMapper.updateById(updateObj); - } - - @Override - public void deleteWxMediaUpload(Integer id) { - // 校验存在 - this.validateWxMediaUploadExists(id); - // 删除 - wxMediaUploadMapper.deleteById(id); - } - - private void validateWxMediaUploadExists(Integer id) { - if (wxMediaUploadMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxMediaUploadDO getWxMediaUpload(Integer id) { - return wxMediaUploadMapper.selectById(id); - } - - @Override - public List getWxMediaUploadList(Collection ids) { - return wxMediaUploadMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxMediaUploadPage(WxMediaUploadPageReqVO pageReqVO) { - return wxMediaUploadMapper.selectPage(pageReqVO); - } - - @Override - public List getWxMediaUploadList(WxMediaUploadExportReqVO exportReqVO) { - return wxMediaUploadMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java deleted file mode 100644 index 0876db2..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.menu; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 微信菜单 Service 接口 - * - * @author 芋道源码 - */ -public interface WxMenuService { - - /** - * 创建微信菜单 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxMenu(@Valid WxMenuCreateReqVO createReqVO); - - /** - * 更新微信菜单 - * - * @param updateReqVO 更新信息 - */ - void updateWxMenu(@Valid WxMenuUpdateReqVO updateReqVO); - - /** - * 删除微信菜单 - * - * @param id 编号 - */ - void deleteWxMenu(Integer id); - - /** - * 获得微信菜单 - * - * @param id 编号 - * @return 微信菜单 - */ - WxMenuDO getWxMenu(Integer id); - - /** - * 获得微信菜单列表 - * - * @param ids 编号 - * @return 微信菜单列表 - */ - List getWxMenuList(Collection ids); - - /** - * 获得微信菜单分页 - * - * @param pageReqVO 分页查询 - * @return 微信菜单分页 - */ - PageResult getWxMenuPage(WxMenuPageReqVO pageReqVO); - - /** - * 获得微信菜单列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 微信菜单列表 - */ - List getWxMenuList(WxMenuExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java deleted file mode 100644 index 6f8fc37..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/menu/WxMenuServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.menu; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.menu.WxMenuConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.menu.WxMenuMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 微信菜单 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxMenuServiceImpl implements WxMenuService { - - @Resource - private WxMenuMapper wxMenuMapper; - - @Override - public Integer createWxMenu(WxMenuCreateReqVO createReqVO) { - // 插入 - WxMenuDO wxMenu = WxMenuConvert.INSTANCE.convert(createReqVO); - wxMenuMapper.insert(wxMenu); - // 返回 - return wxMenu.getId(); - } - - @Override - public void updateWxMenu(WxMenuUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxMenuExists(updateReqVO.getId()); - // 更新 - WxMenuDO updateObj = WxMenuConvert.INSTANCE.convert(updateReqVO); - wxMenuMapper.updateById(updateObj); - } - - @Override - public void deleteWxMenu(Integer id) { - // 校验存在 - this.validateWxMenuExists(id); - // 删除 - wxMenuMapper.deleteById(id); - } - - private void validateWxMenuExists(Integer id) { - if (wxMenuMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxMenuDO getWxMenu(Integer id) { - return wxMenuMapper.selectById(id); - } - - @Override - public List getWxMenuList(Collection ids) { - return wxMenuMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxMenuPage(WxMenuPageReqVO pageReqVO) { - return wxMenuMapper.selectPage(pageReqVO); - } - - @Override - public List getWxMenuList(WxMenuExportReqVO exportReqVO) { - return wxMenuMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java deleted file mode 100644 index c180768..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.newsarticleitem; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 图文消息文章列表表 Service 接口 - * - * @author 芋道源码 - */ -public interface WxNewsArticleItemService { - - /** - * 创建图文消息文章列表表 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxNewsArticleItem(@Valid WxNewsArticleItemCreateReqVO createReqVO); - - /** - * 更新图文消息文章列表表 - * - * @param updateReqVO 更新信息 - */ - void updateWxNewsArticleItem(@Valid WxNewsArticleItemUpdateReqVO updateReqVO); - - /** - * 删除图文消息文章列表表 - * - * @param id 编号 - */ - void deleteWxNewsArticleItem(Integer id); - - /** - * 获得图文消息文章列表表 - * - * @param id 编号 - * @return 图文消息文章列表表 - */ - WxNewsArticleItemDO getWxNewsArticleItem(Integer id); - - /** - * 获得图文消息文章列表表 列表 - * - * @param ids 编号 - * @return 图文消息文章列表表 列表 - */ - List getWxNewsArticleItemList(Collection ids); - - /** - * 获得图文消息文章列表表 分页 - * - * @param pageReqVO 分页查询 - * @return 图文消息文章列表表 分页 - */ - PageResult getWxNewsArticleItemPage(WxNewsArticleItemPageReqVO pageReqVO); - - /** - * 获得图文消息文章列表表 列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 图文消息文章列表表 列表 - */ - List getWxNewsArticleItemList(WxNewsArticleItemExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java deleted file mode 100644 index 52b6b6b..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.newsarticleitem; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.newsarticleitem.WxNewsArticleItemMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 图文消息文章列表表 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxNewsArticleItemServiceImpl implements WxNewsArticleItemService { - - @Resource - private WxNewsArticleItemMapper wxNewsArticleItemMapper; - - @Override - public Integer createWxNewsArticleItem(WxNewsArticleItemCreateReqVO createReqVO) { - // 插入 - WxNewsArticleItemDO wxNewsArticleItem = WxNewsArticleItemConvert.INSTANCE.convert(createReqVO); - wxNewsArticleItemMapper.insert(wxNewsArticleItem); - // 返回 - return wxNewsArticleItem.getId(); - } - - @Override - public void updateWxNewsArticleItem(WxNewsArticleItemUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxNewsArticleItemExists(updateReqVO.getId()); - // 更新 - WxNewsArticleItemDO updateObj = WxNewsArticleItemConvert.INSTANCE.convert(updateReqVO); - wxNewsArticleItemMapper.updateById(updateObj); - } - - @Override - public void deleteWxNewsArticleItem(Integer id) { - // 校验存在 - this.validateWxNewsArticleItemExists(id); - // 删除 - wxNewsArticleItemMapper.deleteById(id); - } - - private void validateWxNewsArticleItemExists(Integer id) { - if (wxNewsArticleItemMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxNewsArticleItemDO getWxNewsArticleItem(Integer id) { - return wxNewsArticleItemMapper.selectById(id); - } - - @Override - public List getWxNewsArticleItemList(Collection ids) { - return wxNewsArticleItemMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxNewsArticleItemPage(WxNewsArticleItemPageReqVO pageReqVO) { - return wxNewsArticleItemMapper.selectPage(pageReqVO); - } - - @Override - public List getWxNewsArticleItemList(WxNewsArticleItemExportReqVO exportReqVO) { - return wxNewsArticleItemMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java deleted file mode 100644 index fb854b9..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.newstemplate; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 图文消息模板 Service 接口 - * - * @author 芋道源码 - */ -public interface WxNewsTemplateService { - - /** - * 创建图文消息模板 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxNewsTemplate(@Valid WxNewsTemplateCreateReqVO createReqVO); - - /** - * 更新图文消息模板 - * - * @param updateReqVO 更新信息 - */ - void updateWxNewsTemplate(@Valid WxNewsTemplateUpdateReqVO updateReqVO); - - /** - * 删除图文消息模板 - * - * @param id 编号 - */ - void deleteWxNewsTemplate(Integer id); - - /** - * 获得图文消息模板 - * - * @param id 编号 - * @return 图文消息模板 - */ - WxNewsTemplateDO getWxNewsTemplate(Integer id); - - /** - * 获得图文消息模板列表 - * - * @param ids 编号 - * @return 图文消息模板列表 - */ - List getWxNewsTemplateList(Collection ids); - - /** - * 获得图文消息模板分页 - * - * @param pageReqVO 分页查询 - * @return 图文消息模板分页 - */ - PageResult getWxNewsTemplatePage(WxNewsTemplatePageReqVO pageReqVO); - - /** - * 获得图文消息模板列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 图文消息模板列表 - */ - List getWxNewsTemplateList(WxNewsTemplateExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java deleted file mode 100644 index ac20950..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.newstemplate; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.newstemplate.WxNewsTemplateMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 图文消息模板 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxNewsTemplateServiceImpl implements WxNewsTemplateService { - - @Resource - private WxNewsTemplateMapper wxNewsTemplateMapper; - - @Override - public Integer createWxNewsTemplate(WxNewsTemplateCreateReqVO createReqVO) { - // 插入 - WxNewsTemplateDO wxNewsTemplate = WxNewsTemplateConvert.INSTANCE.convert(createReqVO); - wxNewsTemplateMapper.insert(wxNewsTemplate); - // 返回 - return wxNewsTemplate.getId(); - } - - @Override - public void updateWxNewsTemplate(WxNewsTemplateUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxNewsTemplateExists(updateReqVO.getId()); - // 更新 - WxNewsTemplateDO updateObj = WxNewsTemplateConvert.INSTANCE.convert(updateReqVO); - wxNewsTemplateMapper.updateById(updateObj); - } - - @Override - public void deleteWxNewsTemplate(Integer id) { - // 校验存在 - this.validateWxNewsTemplateExists(id); - // 删除 - wxNewsTemplateMapper.deleteById(id); - } - - private void validateWxNewsTemplateExists(Integer id) { - if (wxNewsTemplateMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxNewsTemplateDO getWxNewsTemplate(Integer id) { - return wxNewsTemplateMapper.selectById(id); - } - - @Override - public List getWxNewsTemplateList(Collection ids) { - return wxNewsTemplateMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxNewsTemplatePage(WxNewsTemplatePageReqVO pageReqVO) { - return wxNewsTemplateMapper.selectPage(pageReqVO); - } - - @Override - public List getWxNewsTemplateList(WxNewsTemplateExportReqVO exportReqVO) { - return wxNewsTemplateMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java deleted file mode 100644 index a27e620..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.receivetext; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 回复关键字 Service 接口 - * - * @author 芋道源码 - */ -public interface WxReceiveTextService { - - /** - * 创建回复关键字 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxReceiveText(@Valid WxReceiveTextCreateReqVO createReqVO); - - /** - * 更新回复关键字 - * - * @param updateReqVO 更新信息 - */ - void updateWxReceiveText(@Valid WxReceiveTextUpdateReqVO updateReqVO); - - /** - * 删除回复关键字 - * - * @param id 编号 - */ - void deleteWxReceiveText(Integer id); - - /** - * 获得回复关键字 - * - * @param id 编号 - * @return 回复关键字 - */ - WxReceiveTextDO getWxReceiveText(Integer id); - - /** - * 获得回复关键字列表 - * - * @param ids 编号 - * @return 回复关键字列表 - */ - List getWxReceiveTextList(Collection ids); - - /** - * 获得回复关键字分页 - * - * @param pageReqVO 分页查询 - * @return 回复关键字分页 - */ - PageResult getWxReceiveTextPage(WxReceiveTextPageReqVO pageReqVO); - - /** - * 获得回复关键字列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 回复关键字列表 - */ - List getWxReceiveTextList(WxReceiveTextExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java deleted file mode 100644 index 07c4b75..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/receivetext/WxReceiveTextServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.receivetext; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.receivetext.WxReceiveTextConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.receivetext.WxReceiveTextMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 回复关键字 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxReceiveTextServiceImpl implements WxReceiveTextService { - - @Resource - private WxReceiveTextMapper wxReceiveTextMapper; - - @Override - public Integer createWxReceiveText(WxReceiveTextCreateReqVO createReqVO) { - // 插入 - WxReceiveTextDO wxReceiveText = WxReceiveTextConvert.INSTANCE.convert(createReqVO); - wxReceiveTextMapper.insert(wxReceiveText); - // 返回 - return wxReceiveText.getId(); - } - - @Override - public void updateWxReceiveText(WxReceiveTextUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxReceiveTextExists(updateReqVO.getId()); - // 更新 - WxReceiveTextDO updateObj = WxReceiveTextConvert.INSTANCE.convert(updateReqVO); - wxReceiveTextMapper.updateById(updateObj); - } - - @Override - public void deleteWxReceiveText(Integer id) { - // 校验存在 - this.validateWxReceiveTextExists(id); - // 删除 - wxReceiveTextMapper.deleteById(id); - } - - private void validateWxReceiveTextExists(Integer id) { - if (wxReceiveTextMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxReceiveTextDO getWxReceiveText(Integer id) { - return wxReceiveTextMapper.selectById(id); - } - - @Override - public List getWxReceiveTextList(Collection ids) { - return wxReceiveTextMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxReceiveTextPage(WxReceiveTextPageReqVO pageReqVO) { - return wxReceiveTextMapper.selectPage(pageReqVO); - } - - @Override - public List getWxReceiveTextList(WxReceiveTextExportReqVO exportReqVO) { - return wxReceiveTextMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java deleted file mode 100644 index a429449..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextService.java +++ /dev/null @@ -1,81 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.subscribetext; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; -import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; - -/** - * 关注欢迎语 Service 接口 - * - * @author 芋道源码 - */ -public interface WxSubscribeTextService { - - /** - * 创建关注欢迎语 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxSubscribeText(@Valid WxSubscribeTextCreateReqVO createReqVO); - - /** - * 更新关注欢迎语 - * - * @param updateReqVO 更新信息 - */ - void updateWxSubscribeText(@Valid WxSubscribeTextUpdateReqVO updateReqVO); - - /** - * 删除关注欢迎语 - * - * @param id 编号 - */ - void deleteWxSubscribeText(Integer id); - - /** - * 获得关注欢迎语 - * - * @param id 编号 - * @return 关注欢迎语 - */ - WxSubscribeTextDO getWxSubscribeText(Integer id); - - /** - * 获得关注欢迎语列表 - * - * @param ids 编号 - * @return 关注欢迎语列表 - */ - List getWxSubscribeTextList(Collection ids); - - /** - * 获得关注欢迎语分页 - * - * @param pageReqVO 分页查询 - * @return 关注欢迎语分页 - */ - PageResult getWxSubscribeTextPage(WxSubscribeTextPageReqVO pageReqVO); - - /** - * 获得关注欢迎语列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 关注欢迎语列表 - */ - List getWxSubscribeTextList(WxSubscribeTextExportReqVO exportReqVO); - - /** - * 关注欢迎语分页 - * - * @param column - * @param obj - * @return - */ - WxSubscribeTextDO findBy(SFunction column, Object obj); -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java deleted file mode 100644 index 0e6d076..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/subscribetext/WxSubscribeTextServiceImpl.java +++ /dev/null @@ -1,90 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.subscribetext; - -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.subscribetext.WxSubscribeTextConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.subscribetext.WxSubscribeTextMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 关注欢迎语 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxSubscribeTextServiceImpl implements WxSubscribeTextService { - - @Resource - private WxSubscribeTextMapper wxSubscribeTextMapper; - - @Override - public Integer createWxSubscribeText(WxSubscribeTextCreateReqVO createReqVO) { - // 插入 - WxSubscribeTextDO wxSubscribeText = WxSubscribeTextConvert.INSTANCE.convert(createReqVO); - wxSubscribeTextMapper.insert(wxSubscribeText); - // 返回 - return wxSubscribeText.getId(); - } - - @Override - public void updateWxSubscribeText(WxSubscribeTextUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxSubscribeTextExists(updateReqVO.getId()); - // 更新 - WxSubscribeTextDO updateObj = WxSubscribeTextConvert.INSTANCE.convert(updateReqVO); - wxSubscribeTextMapper.updateById(updateObj); - } - - @Override - public void deleteWxSubscribeText(Integer id) { - // 校验存在 - this.validateWxSubscribeTextExists(id); - // 删除 - wxSubscribeTextMapper.deleteById(id); - } - - private void validateWxSubscribeTextExists(Integer id) { - if (wxSubscribeTextMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxSubscribeTextDO getWxSubscribeText(Integer id) { - return wxSubscribeTextMapper.selectById(id); - } - - @Override - public List getWxSubscribeTextList(Collection ids) { - return wxSubscribeTextMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxSubscribeTextPage(WxSubscribeTextPageReqVO pageReqVO) { - return wxSubscribeTextMapper.selectPage(pageReqVO); - } - - @Override - public List getWxSubscribeTextList(WxSubscribeTextExportReqVO exportReqVO) { - return wxSubscribeTextMapper.selectList(exportReqVO); - } - - @Override - public WxSubscribeTextDO findBy(SFunction column, Object obj) { - return wxSubscribeTextMapper.selectOne(column, obj); - } -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java deleted file mode 100644 index 469a3f1..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagService.java +++ /dev/null @@ -1,74 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.tag; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagPageReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagUpdateReqVO; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.mp.bean.tag.WxUserTag; - -import javax.validation.Valid; -import java.util.List; - -/** - * 粉丝标签 Service 接口 - * - * @author fengdan - */ -public interface FansTagService { - - /** - * 创建粉丝标签 - * - * @param createReqVO 创建标签信息 - * @return {@link WxUserTag} 用户标签对象 - * @throws WxErrorException 微信异常 - */ - WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) throws WxErrorException; - - /** - * 更新粉丝标签 - * - * @param updateReqVO 更新信息 - * @return {@link Boolean} - * @throws WxErrorException 微信异常 - */ - Boolean updateWxFansTag(@Valid FansTagUpdateReqVO updateReqVO) throws WxErrorException; - - /** - * 删除粉丝标签 - * - * @param id 编号 - * @param appId 公众号appId - * @return {@link Boolean} - * @throws WxErrorException 微信异常 - */ - Boolean deleteWxFansTag(Long id, String appId) throws WxErrorException; - - /** - * 获取公众号已创建的标签 - * - * @param appId 公众号appId - * @return 粉丝标签列表 - * @throws WxErrorException 微信异常 - */ - List getWxFansTagList(String appId) throws WxErrorException; - - /** - * 获得粉丝标签分页 - * - * @param pageReqVO 分页查询 - * @return 粉丝标签分页 - */ - PageResult getWxFansTagPage(FansTagPageReqVO pageReqVO); - - /** - * 获得粉丝标签列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 粉丝标签列表 - */ - List getWxFansTagList(FansTagExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java deleted file mode 100644 index c93432c..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/tag/FansTagServiceImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.tag; - -import cn.hutool.core.util.ReUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagCreateReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagExportReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagPageReqVO; -import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagUpdateReqVO; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.tag.WxUserTag; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; -import java.util.List; - -/** - * 粉丝标签 Service 实现类 - * - * @author fengdan - */ -@Slf4j -@Service -@Validated -public class FansTagServiceImpl implements FansTagService { - @Resource - private WxMpService wxMpService; - - @Override - public WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) throws WxErrorException { - // TODO 切换公众号操作 调整为 aop 或者 过滤器\拦截器 处理 - wxMpService.switchover(createReqVO.getAppId()); - return wxMpService.getUserTagService().tagCreate(createReqVO.getName()); - } - - @Override - public Boolean updateWxFansTag(FansTagUpdateReqVO updateReqVO) throws WxErrorException { - wxMpService.switchover(updateReqVO.getAppId()); - return wxMpService.getUserTagService().tagUpdate(updateReqVO.getId(), updateReqVO.getName()); - } - - @Override - public Boolean deleteWxFansTag(Long id, String appId) throws WxErrorException { - wxMpService.switchover(appId); - return wxMpService.getUserTagService().tagDelete(id); - } - - - @Override - public List getWxFansTagList(String appId) throws WxErrorException { - wxMpService.switchover(appId); - return wxMpService.getUserTagService().tagGet(); - } - - @Override - public PageResult getWxFansTagPage(FansTagPageReqVO pageReqVO) { - return null; - } - - @Override - public List getWxFansTagList(FansTagExportReqVO exportReqVO) { - return null; - } - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java deleted file mode 100644 index 51dcf7d..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.texttemplate; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 文本模板 Service 接口 - * - * @author 芋道源码 - */ -public interface WxTextTemplateService { - - /** - * 创建文本模板 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxTextTemplate(@Valid WxTextTemplateCreateReqVO createReqVO); - - /** - * 更新文本模板 - * - * @param updateReqVO 更新信息 - */ - void updateWxTextTemplate(@Valid WxTextTemplateUpdateReqVO updateReqVO); - - /** - * 删除文本模板 - * - * @param id 编号 - */ - void deleteWxTextTemplate(Integer id); - - /** - * 获得文本模板 - * - * @param id 编号 - * @return 文本模板 - */ - WxTextTemplateDO getWxTextTemplate(Integer id); - - /** - * 获得文本模板列表 - * - * @param ids 编号 - * @return 文本模板列表 - */ - List getWxTextTemplateList(Collection ids); - - /** - * 获得文本模板分页 - * - * @param pageReqVO 分页查询 - * @return 文本模板分页 - */ - PageResult getWxTextTemplatePage(WxTextTemplatePageReqVO pageReqVO); - - /** - * 获得文本模板列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 文本模板列表 - */ - List getWxTextTemplateList(WxTextTemplateExportReqVO exportReqVO); - -} diff --git a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java b/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java deleted file mode 100644 index 74347ae..0000000 --- a/yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/texttemplate/WxTextTemplateServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.texttemplate; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.texttemplate.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.texttemplate.WxTextTemplateConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.texttemplate.WxTextTemplateMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 文本模板 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxTextTemplateServiceImpl implements WxTextTemplateService { - - @Resource - private WxTextTemplateMapper wxTextTemplateMapper; - - @Override - public Integer createWxTextTemplate(WxTextTemplateCreateReqVO createReqVO) { - // 插入 - WxTextTemplateDO wxTextTemplate = WxTextTemplateConvert.INSTANCE.convert(createReqVO); - wxTextTemplateMapper.insert(wxTextTemplate); - // 返回 - return wxTextTemplate.getId(); - } - - @Override - public void updateWxTextTemplate(WxTextTemplateUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxTextTemplateExists(updateReqVO.getId()); - // 更新 - WxTextTemplateDO updateObj = WxTextTemplateConvert.INSTANCE.convert(updateReqVO); - wxTextTemplateMapper.updateById(updateObj); - } - - @Override - public void deleteWxTextTemplate(Integer id) { - // 校验存在 - this.validateWxTextTemplateExists(id); - // 删除 - wxTextTemplateMapper.deleteById(id); - } - - private void validateWxTextTemplateExists(Integer id) { - if (wxTextTemplateMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxTextTemplateDO getWxTextTemplate(Integer id) { - return wxTextTemplateMapper.selectById(id); - } - - @Override - public List getWxTextTemplateList(Collection ids) { - return wxTextTemplateMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxTextTemplatePage(WxTextTemplatePageReqVO pageReqVO) { - return wxTextTemplateMapper.selectPage(pageReqVO); - } - - @Override - public List getWxTextTemplateList(WxTextTemplateExportReqVO exportReqVO) { - return wxTextTemplateMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-wechat/yudao-module-work-api/pom.xml b/yudao-module-wechat/yudao-module-work-api/pom.xml deleted file mode 100644 index 3d3d15b..0000000 --- a/yudao-module-wechat/yudao-module-work-api/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - yudao-module-wechat - cn.iocoder.boot - ${revision} - - 4.0.0 - yudao-module-work-api - jar - - ${project.artifactId} - - work 模块 API,暴露给其它模块调用 - - - - - cn.iocoder.boot - yudao-common - - - - diff --git a/yudao-module-wechat/yudao-module-work-biz/pom.xml b/yudao-module-wechat/yudao-module-work-biz/pom.xml deleted file mode 100644 index 185d583..0000000 --- a/yudao-module-wechat/yudao-module-work-biz/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - yudao-module-wechat - cn.iocoder.boot - ${revision} - - 4.0.0 - - yudao-module-work-biz - - work 模块,我们放企业微信。 - 例如说:提供企业微信的账号、菜单、聊天侧边栏、客户、客户群、聊天记录等功能 - - - -- libgit2 0.21.4