Commit 70adfe8fe5bf9e62021a0677c2f86ddb2a02dc31
1 parent
2aba8a72
公众号开发
Showing
202 changed files
with
11279 additions
and
348 deletions
Too many changes.
To preserve performance only 100 of 202 files are displayed.
sql/mysql/ruoyi-vue-pro.sql
| @@ -1707,6 +1707,729 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i | @@ -1707,6 +1707,729 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i | ||
| 1707 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1265, '客户端创建', 'system:oauth2-client:create', 3, 2, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:23', b'0'); | 1707 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1265, '客户端创建', 'system:oauth2-client:create', 3, 2, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:23', b'0'); |
| 1708 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1266, '客户端更新', 'system:oauth2-client:update', 3, 3, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:28', b'0'); | 1708 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1266, '客户端更新', 'system:oauth2-client:update', 3, 3, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:28', b'0'); |
| 1709 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0'); | 1709 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0'); |
| 1710 | +--微信公众号-- | ||
| 1711 | +-- 菜单 SQL | ||
| 1712 | +INSERT INTO system_menu( | ||
| 1713 | + name, permission, type, sort, parent_id, | ||
| 1714 | + path, icon, component, status | ||
| 1715 | +) | ||
| 1716 | +VALUES ( | ||
| 1717 | + '微信公众号粉丝管理', '', 2, 0, 1268, | ||
| 1718 | + 'wx-account-fans', '', 'wechatMp/wxAccountFans/index', 0 | ||
| 1719 | +); | ||
| 1720 | + | ||
| 1721 | +-- 按钮父菜单ID | ||
| 1722 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 1723 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 1724 | + | ||
| 1725 | +-- 按钮 SQL | ||
| 1726 | +INSERT INTO system_menu( | ||
| 1727 | + name, permission, type, sort, parent_id, | ||
| 1728 | + path, icon, component, status | ||
| 1729 | +) | ||
| 1730 | +VALUES ( | ||
| 1731 | + '微信公众号粉丝查询', 'wechatMp:wx-account-fans:query', 3, 1, @parentId, | ||
| 1732 | + '', '', '', 0 | ||
| 1733 | +); | ||
| 1734 | +INSERT INTO system_menu( | ||
| 1735 | + name, permission, type, sort, parent_id, | ||
| 1736 | + path, icon, component, status | ||
| 1737 | +) | ||
| 1738 | +VALUES ( | ||
| 1739 | + '微信公众号粉丝创建', 'wechatMp:wx-account-fans:create', 3, 2, @parentId, | ||
| 1740 | + '', '', '', 0 | ||
| 1741 | +); | ||
| 1742 | +INSERT INTO system_menu( | ||
| 1743 | + name, permission, type, sort, parent_id, | ||
| 1744 | + path, icon, component, status | ||
| 1745 | +) | ||
| 1746 | +VALUES ( | ||
| 1747 | + '微信公众号粉丝更新', 'wechatMp:wx-account-fans:update', 3, 3, @parentId, | ||
| 1748 | + '', '', '', 0 | ||
| 1749 | +); | ||
| 1750 | +INSERT INTO system_menu( | ||
| 1751 | + name, permission, type, sort, parent_id, | ||
| 1752 | + path, icon, component, status | ||
| 1753 | +) | ||
| 1754 | +VALUES ( | ||
| 1755 | + '微信公众号粉丝删除', 'wechatMp:wx-account-fans:delete', 3, 4, @parentId, | ||
| 1756 | + '', '', '', 0 | ||
| 1757 | +); | ||
| 1758 | +INSERT INTO system_menu( | ||
| 1759 | + name, permission, type, sort, parent_id, | ||
| 1760 | + path, icon, component, status | ||
| 1761 | +) | ||
| 1762 | +VALUES ( | ||
| 1763 | + '微信公众号粉丝导出', 'wechatMp:wx-account-fans:export', 3, 5, @parentId, | ||
| 1764 | + '', '', '', 0 | ||
| 1765 | +); | ||
| 1766 | + | ||
| 1767 | +-- 菜单 SQL | ||
| 1768 | +INSERT INTO system_menu( | ||
| 1769 | + name, permission, type, sort, parent_id, | ||
| 1770 | + path, icon, component, status | ||
| 1771 | +) | ||
| 1772 | +VALUES ( | ||
| 1773 | + '公众号账户管理', '', 2, 0, 1268, | ||
| 1774 | + 'wx-account', '', 'wechatMp/wxAccount/index', 0 | ||
| 1775 | +); | ||
| 1776 | + | ||
| 1777 | +-- 按钮父菜单ID | ||
| 1778 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 1779 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 1780 | + | ||
| 1781 | +-- 按钮 SQL | ||
| 1782 | +INSERT INTO system_menu( | ||
| 1783 | + name, permission, type, sort, parent_id, | ||
| 1784 | + path, icon, component, status | ||
| 1785 | +) | ||
| 1786 | +VALUES ( | ||
| 1787 | + '公众号账户查询', 'wechatMp:wx-account:query', 3, 1, @parentId, | ||
| 1788 | + '', '', '', 0 | ||
| 1789 | +); | ||
| 1790 | +INSERT INTO system_menu( | ||
| 1791 | + name, permission, type, sort, parent_id, | ||
| 1792 | + path, icon, component, status | ||
| 1793 | +) | ||
| 1794 | +VALUES ( | ||
| 1795 | + '公众号账户创建', 'wechatMp:wx-account:create', 3, 2, @parentId, | ||
| 1796 | + '', '', '', 0 | ||
| 1797 | +); | ||
| 1798 | +INSERT INTO system_menu( | ||
| 1799 | + name, permission, type, sort, parent_id, | ||
| 1800 | + path, icon, component, status | ||
| 1801 | +) | ||
| 1802 | +VALUES ( | ||
| 1803 | + '公众号账户更新', 'wechatMp:wx-account:update', 3, 3, @parentId, | ||
| 1804 | + '', '', '', 0 | ||
| 1805 | +); | ||
| 1806 | +INSERT INTO system_menu( | ||
| 1807 | + name, permission, type, sort, parent_id, | ||
| 1808 | + path, icon, component, status | ||
| 1809 | +) | ||
| 1810 | +VALUES ( | ||
| 1811 | + '公众号账户删除', 'wechatMp:wx-account:delete', 3, 4, @parentId, | ||
| 1812 | + '', '', '', 0 | ||
| 1813 | +); | ||
| 1814 | +INSERT INTO system_menu( | ||
| 1815 | + name, permission, type, sort, parent_id, | ||
| 1816 | + path, icon, component, status | ||
| 1817 | +) | ||
| 1818 | +VALUES ( | ||
| 1819 | + '公众号账户导出', 'wechatMp:wx-account:export', 3, 5, @parentId, | ||
| 1820 | + '', '', '', 0 | ||
| 1821 | +); | ||
| 1822 | + | ||
| 1823 | + | ||
| 1824 | +-- 菜单 SQL | ||
| 1825 | +INSERT INTO system_menu( | ||
| 1826 | + name, permission, type, sort, parent_id, | ||
| 1827 | + path, icon, component, status | ||
| 1828 | +) | ||
| 1829 | +VALUES ( | ||
| 1830 | + '文本模板管理', '', 2, 0, 1268, | ||
| 1831 | + 'wx-text-template', '', 'wechatMp/wxTextTemplate/index', 0 | ||
| 1832 | +); | ||
| 1833 | + | ||
| 1834 | +-- 按钮父菜单ID | ||
| 1835 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 1836 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 1837 | + | ||
| 1838 | +-- 按钮 SQL | ||
| 1839 | +INSERT INTO system_menu( | ||
| 1840 | + name, permission, type, sort, parent_id, | ||
| 1841 | + path, icon, component, status | ||
| 1842 | +) | ||
| 1843 | +VALUES ( | ||
| 1844 | + '文本模板查询', 'wechatMp:wx-text-template:query', 3, 1, @parentId, | ||
| 1845 | + '', '', '', 0 | ||
| 1846 | +); | ||
| 1847 | +INSERT INTO system_menu( | ||
| 1848 | + name, permission, type, sort, parent_id, | ||
| 1849 | + path, icon, component, status | ||
| 1850 | +) | ||
| 1851 | +VALUES ( | ||
| 1852 | + '文本模板创建', 'wechatMp:wx-text-template:create', 3, 2, @parentId, | ||
| 1853 | + '', '', '', 0 | ||
| 1854 | +); | ||
| 1855 | +INSERT INTO system_menu( | ||
| 1856 | + name, permission, type, sort, parent_id, | ||
| 1857 | + path, icon, component, status | ||
| 1858 | +) | ||
| 1859 | +VALUES ( | ||
| 1860 | + '文本模板更新', 'wechatMp:wx-text-template:update', 3, 3, @parentId, | ||
| 1861 | + '', '', '', 0 | ||
| 1862 | +); | ||
| 1863 | +INSERT INTO system_menu( | ||
| 1864 | + name, permission, type, sort, parent_id, | ||
| 1865 | + path, icon, component, status | ||
| 1866 | +) | ||
| 1867 | +VALUES ( | ||
| 1868 | + '文本模板删除', 'wechatMp:wx-text-template:delete', 3, 4, @parentId, | ||
| 1869 | + '', '', '', 0 | ||
| 1870 | +); | ||
| 1871 | +INSERT INTO system_menu( | ||
| 1872 | + name, permission, type, sort, parent_id, | ||
| 1873 | + path, icon, component, status | ||
| 1874 | +) | ||
| 1875 | +VALUES ( | ||
| 1876 | + '文本模板导出', 'wechatMp:wx-text-template:export', 3, 5, @parentId, | ||
| 1877 | + '', '', '', 0 | ||
| 1878 | +); | ||
| 1879 | + | ||
| 1880 | +-- 菜单 SQL | ||
| 1881 | +INSERT INTO system_menu( | ||
| 1882 | + name, permission, type, sort, parent_id, | ||
| 1883 | + path, icon, component, status | ||
| 1884 | +) | ||
| 1885 | +VALUES ( | ||
| 1886 | + '粉丝标签关联管理', '', 2, 0, 1268, | ||
| 1887 | + 'wx-account-fans-tag', '', 'wechatMp/wxAccountFansTag/index', 0 | ||
| 1888 | +); | ||
| 1889 | + | ||
| 1890 | +-- 按钮父菜单ID | ||
| 1891 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 1892 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 1893 | + | ||
| 1894 | +-- 按钮 SQL | ||
| 1895 | +INSERT INTO system_menu( | ||
| 1896 | + name, permission, type, sort, parent_id, | ||
| 1897 | + path, icon, component, status | ||
| 1898 | +) | ||
| 1899 | +VALUES ( | ||
| 1900 | + '粉丝标签关联查询', 'wechatMp:wx-account-fans-tag:query', 3, 1, @parentId, | ||
| 1901 | + '', '', '', 0 | ||
| 1902 | +); | ||
| 1903 | +INSERT INTO system_menu( | ||
| 1904 | + name, permission, type, sort, parent_id, | ||
| 1905 | + path, icon, component, status | ||
| 1906 | +) | ||
| 1907 | +VALUES ( | ||
| 1908 | + '粉丝标签关联创建', 'wechatMp:wx-account-fans-tag:create', 3, 2, @parentId, | ||
| 1909 | + '', '', '', 0 | ||
| 1910 | +); | ||
| 1911 | +INSERT INTO system_menu( | ||
| 1912 | + name, permission, type, sort, parent_id, | ||
| 1913 | + path, icon, component, status | ||
| 1914 | +) | ||
| 1915 | +VALUES ( | ||
| 1916 | + '粉丝标签关联更新', 'wechatMp:wx-account-fans-tag:update', 3, 3, @parentId, | ||
| 1917 | + '', '', '', 0 | ||
| 1918 | +); | ||
| 1919 | +INSERT INTO system_menu( | ||
| 1920 | + name, permission, type, sort, parent_id, | ||
| 1921 | + path, icon, component, status | ||
| 1922 | +) | ||
| 1923 | +VALUES ( | ||
| 1924 | + '粉丝标签关联删除', 'wechatMp:wx-account-fans-tag:delete', 3, 4, @parentId, | ||
| 1925 | + '', '', '', 0 | ||
| 1926 | +); | ||
| 1927 | +INSERT INTO system_menu( | ||
| 1928 | + name, permission, type, sort, parent_id, | ||
| 1929 | + path, icon, component, status | ||
| 1930 | +) | ||
| 1931 | +VALUES ( | ||
| 1932 | + '粉丝标签关联导出', 'wechatMp:wx-account-fans-tag:export', 3, 5, @parentId, | ||
| 1933 | + '', '', '', 0 | ||
| 1934 | +); | ||
| 1935 | +-- 菜单 SQL | ||
| 1936 | +INSERT INTO system_menu( | ||
| 1937 | + name, permission, type, sort, parent_id, | ||
| 1938 | + path, icon, component, status | ||
| 1939 | +) | ||
| 1940 | +VALUES ( | ||
| 1941 | + '粉丝消息表 管理', '', 2, 0, 1268, | ||
| 1942 | + 'wx-fans-msg', '', 'wechatMp/wxFansMsg/index', 0 | ||
| 1943 | +); | ||
| 1944 | + | ||
| 1945 | +-- 按钮父菜单ID | ||
| 1946 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 1947 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 1948 | + | ||
| 1949 | +-- 按钮 SQL | ||
| 1950 | +INSERT INTO system_menu( | ||
| 1951 | + name, permission, type, sort, parent_id, | ||
| 1952 | + path, icon, component, status | ||
| 1953 | +) | ||
| 1954 | +VALUES ( | ||
| 1955 | + '粉丝消息表 查询', 'wechatMp:wx-fans-msg:query', 3, 1, @parentId, | ||
| 1956 | + '', '', '', 0 | ||
| 1957 | +); | ||
| 1958 | +INSERT INTO system_menu( | ||
| 1959 | + name, permission, type, sort, parent_id, | ||
| 1960 | + path, icon, component, status | ||
| 1961 | +) | ||
| 1962 | +VALUES ( | ||
| 1963 | + '粉丝消息表 创建', 'wechatMp:wx-fans-msg:create', 3, 2, @parentId, | ||
| 1964 | + '', '', '', 0 | ||
| 1965 | +); | ||
| 1966 | +INSERT INTO system_menu( | ||
| 1967 | + name, permission, type, sort, parent_id, | ||
| 1968 | + path, icon, component, status | ||
| 1969 | +) | ||
| 1970 | +VALUES ( | ||
| 1971 | + '粉丝消息表 更新', 'wechatMp:wx-fans-msg:update', 3, 3, @parentId, | ||
| 1972 | + '', '', '', 0 | ||
| 1973 | +); | ||
| 1974 | +INSERT INTO system_menu( | ||
| 1975 | + name, permission, type, sort, parent_id, | ||
| 1976 | + path, icon, component, status | ||
| 1977 | +) | ||
| 1978 | +VALUES ( | ||
| 1979 | + '粉丝消息表 删除', 'wechatMp:wx-fans-msg:delete', 3, 4, @parentId, | ||
| 1980 | + '', '', '', 0 | ||
| 1981 | +); | ||
| 1982 | +INSERT INTO system_menu( | ||
| 1983 | + name, permission, type, sort, parent_id, | ||
| 1984 | + path, icon, component, status | ||
| 1985 | +) | ||
| 1986 | +VALUES ( | ||
| 1987 | + '粉丝消息表 导出', 'wechatMp:wx-fans-msg:export', 3, 5, @parentId, | ||
| 1988 | + '', '', '', 0 | ||
| 1989 | +); | ||
| 1990 | + | ||
| 1991 | +-- 菜单 SQL | ||
| 1992 | +INSERT INTO system_menu( | ||
| 1993 | + name, permission, type, sort, parent_id, | ||
| 1994 | + path, icon, component, status | ||
| 1995 | +) | ||
| 1996 | +VALUES ( | ||
| 1997 | + '回复粉丝消息历史表 管理', '', 2, 0, 1268, | ||
| 1998 | + 'wx-fans-msg-res', '', 'wechatMp/wxFansMsgRes/index', 0 | ||
| 1999 | +); | ||
| 2000 | + | ||
| 2001 | +-- 按钮父菜单ID | ||
| 2002 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2003 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2004 | + | ||
| 2005 | +-- 按钮 SQL | ||
| 2006 | +INSERT INTO system_menu( | ||
| 2007 | + name, permission, type, sort, parent_id, | ||
| 2008 | + path, icon, component, status | ||
| 2009 | +) | ||
| 2010 | +VALUES ( | ||
| 2011 | + '回复粉丝消息历史表 查询', 'wechatMp:wx-fans-msg-res:query', 3, 1, @parentId, | ||
| 2012 | + '', '', '', 0 | ||
| 2013 | +); | ||
| 2014 | +INSERT INTO system_menu( | ||
| 2015 | + name, permission, type, sort, parent_id, | ||
| 2016 | + path, icon, component, status | ||
| 2017 | +) | ||
| 2018 | +VALUES ( | ||
| 2019 | + '回复粉丝消息历史表 创建', 'wechatMp:wx-fans-msg-res:create', 3, 2, @parentId, | ||
| 2020 | + '', '', '', 0 | ||
| 2021 | +); | ||
| 2022 | +INSERT INTO system_menu( | ||
| 2023 | + name, permission, type, sort, parent_id, | ||
| 2024 | + path, icon, component, status | ||
| 2025 | +) | ||
| 2026 | +VALUES ( | ||
| 2027 | + '回复粉丝消息历史表 更新', 'wechatMp:wx-fans-msg-res:update', 3, 3, @parentId, | ||
| 2028 | + '', '', '', 0 | ||
| 2029 | +); | ||
| 2030 | +INSERT INTO system_menu( | ||
| 2031 | + name, permission, type, sort, parent_id, | ||
| 2032 | + path, icon, component, status | ||
| 2033 | +) | ||
| 2034 | +VALUES ( | ||
| 2035 | + '回复粉丝消息历史表 删除', 'wechatMp:wx-fans-msg-res:delete', 3, 4, @parentId, | ||
| 2036 | + '', '', '', 0 | ||
| 2037 | +); | ||
| 2038 | +INSERT INTO system_menu( | ||
| 2039 | + name, permission, type, sort, parent_id, | ||
| 2040 | + path, icon, component, status | ||
| 2041 | +) | ||
| 2042 | +VALUES ( | ||
| 2043 | + '回复粉丝消息历史表 导出', 'wechatMp:wx-fans-msg-res:export', 3, 5, @parentId, | ||
| 2044 | + '', '', '', 0 | ||
| 2045 | +); | ||
| 2046 | +-- 菜单 SQL | ||
| 2047 | +INSERT INTO system_menu( | ||
| 2048 | + name, permission, type, sort, parent_id, | ||
| 2049 | + path, icon, component, status | ||
| 2050 | +) | ||
| 2051 | +VALUES ( | ||
| 2052 | + '粉丝标签管理', '', 2, 0, 1268, | ||
| 2053 | + 'wx-fans-tag', '', 'wechatMp/wxFansTag/index', 0 | ||
| 2054 | +); | ||
| 2055 | + | ||
| 2056 | +-- 按钮父菜单ID | ||
| 2057 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2058 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2059 | + | ||
| 2060 | +-- 按钮 SQL | ||
| 2061 | +INSERT INTO system_menu( | ||
| 2062 | + name, permission, type, sort, parent_id, | ||
| 2063 | + path, icon, component, status | ||
| 2064 | +) | ||
| 2065 | +VALUES ( | ||
| 2066 | + '粉丝标签查询', 'wechatMp:wx-fans-tag:query', 3, 1, @parentId, | ||
| 2067 | + '', '', '', 0 | ||
| 2068 | +); | ||
| 2069 | +INSERT INTO system_menu( | ||
| 2070 | + name, permission, type, sort, parent_id, | ||
| 2071 | + path, icon, component, status | ||
| 2072 | +) | ||
| 2073 | +VALUES ( | ||
| 2074 | + '粉丝标签创建', 'wechatMp:wx-fans-tag:create', 3, 2, @parentId, | ||
| 2075 | + '', '', '', 0 | ||
| 2076 | +); | ||
| 2077 | +INSERT INTO system_menu( | ||
| 2078 | + name, permission, type, sort, parent_id, | ||
| 2079 | + path, icon, component, status | ||
| 2080 | +) | ||
| 2081 | +VALUES ( | ||
| 2082 | + '粉丝标签更新', 'wechatMp:wx-fans-tag:update', 3, 3, @parentId, | ||
| 2083 | + '', '', '', 0 | ||
| 2084 | +); | ||
| 2085 | +INSERT INTO system_menu( | ||
| 2086 | + name, permission, type, sort, parent_id, | ||
| 2087 | + path, icon, component, status | ||
| 2088 | +) | ||
| 2089 | +VALUES ( | ||
| 2090 | + '粉丝标签删除', 'wechatMp:wx-fans-tag:delete', 3, 4, @parentId, | ||
| 2091 | + '', '', '', 0 | ||
| 2092 | +); | ||
| 2093 | +INSERT INTO system_menu( | ||
| 2094 | + name, permission, type, sort, parent_id, | ||
| 2095 | + path, icon, component, status | ||
| 2096 | +) | ||
| 2097 | +VALUES ( | ||
| 2098 | + '粉丝标签导出', 'wechatMp:wx-fans-tag:export', 3, 5, @parentId, | ||
| 2099 | + '', '', '', 0 | ||
| 2100 | +); | ||
| 2101 | +-- 菜单 SQL | ||
| 2102 | +INSERT INTO system_menu( | ||
| 2103 | + name, permission, type, sort, parent_id, | ||
| 2104 | + path, icon, component, status | ||
| 2105 | +) | ||
| 2106 | +VALUES ( | ||
| 2107 | + '微信素材上传表 管理', '', 2, 0, 1268, | ||
| 2108 | + 'wx-media-upload', '', 'wechatMp/wxMediaUpload/index', 0 | ||
| 2109 | +); | ||
| 2110 | + | ||
| 2111 | +-- 按钮父菜单ID | ||
| 2112 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2113 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2114 | + | ||
| 2115 | +-- 按钮 SQL | ||
| 2116 | +INSERT INTO system_menu( | ||
| 2117 | + name, permission, type, sort, parent_id, | ||
| 2118 | + path, icon, component, status | ||
| 2119 | +) | ||
| 2120 | +VALUES ( | ||
| 2121 | + '微信素材上传表 查询', 'wechatMp:wx-media-upload:query', 3, 1, @parentId, | ||
| 2122 | + '', '', '', 0 | ||
| 2123 | +); | ||
| 2124 | +INSERT INTO system_menu( | ||
| 2125 | + name, permission, type, sort, parent_id, | ||
| 2126 | + path, icon, component, status | ||
| 2127 | +) | ||
| 2128 | +VALUES ( | ||
| 2129 | + '微信素材上传表 创建', 'wechatMp:wx-media-upload:create', 3, 2, @parentId, | ||
| 2130 | + '', '', '', 0 | ||
| 2131 | +); | ||
| 2132 | +INSERT INTO system_menu( | ||
| 2133 | + name, permission, type, sort, parent_id, | ||
| 2134 | + path, icon, component, status | ||
| 2135 | +) | ||
| 2136 | +VALUES ( | ||
| 2137 | + '微信素材上传表 更新', 'wechatMp:wx-media-upload:update', 3, 3, @parentId, | ||
| 2138 | + '', '', '', 0 | ||
| 2139 | +); | ||
| 2140 | +INSERT INTO system_menu( | ||
| 2141 | + name, permission, type, sort, parent_id, | ||
| 2142 | + path, icon, component, status | ||
| 2143 | +) | ||
| 2144 | +VALUES ( | ||
| 2145 | + '微信素材上传表 删除', 'wechatMp:wx-media-upload:delete', 3, 4, @parentId, | ||
| 2146 | + '', '', '', 0 | ||
| 2147 | +); | ||
| 2148 | +INSERT INTO system_menu( | ||
| 2149 | + name, permission, type, sort, parent_id, | ||
| 2150 | + path, icon, component, status | ||
| 2151 | +) | ||
| 2152 | +VALUES ( | ||
| 2153 | + '微信素材上传表 导出', 'wechatMp:wx-media-upload:export', 3, 5, @parentId, | ||
| 2154 | + '', '', '', 0 | ||
| 2155 | +); | ||
| 2156 | +-- 菜单 SQL | ||
| 2157 | +INSERT INTO system_menu( | ||
| 2158 | + name, permission, type, sort, parent_id, | ||
| 2159 | + path, icon, component, status | ||
| 2160 | +) | ||
| 2161 | +VALUES ( | ||
| 2162 | + '微信菜单管理', '', 2, 0, 1268, | ||
| 2163 | + 'wx-menu', '', 'wechatMp/wxMenu/index', 0 | ||
| 2164 | +); | ||
| 2165 | + | ||
| 2166 | +-- 按钮父菜单ID | ||
| 2167 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2168 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2169 | + | ||
| 2170 | +-- 按钮 SQL | ||
| 2171 | +INSERT INTO system_menu( | ||
| 2172 | + name, permission, type, sort, parent_id, | ||
| 2173 | + path, icon, component, status | ||
| 2174 | +) | ||
| 2175 | +VALUES ( | ||
| 2176 | + '微信菜单查询', 'wechatMp:wx-menu:query', 3, 1, @parentId, | ||
| 2177 | + '', '', '', 0 | ||
| 2178 | +); | ||
| 2179 | +INSERT INTO system_menu( | ||
| 2180 | + name, permission, type, sort, parent_id, | ||
| 2181 | + path, icon, component, status | ||
| 2182 | +) | ||
| 2183 | +VALUES ( | ||
| 2184 | + '微信菜单创建', 'wechatMp:wx-menu:create', 3, 2, @parentId, | ||
| 2185 | + '', '', '', 0 | ||
| 2186 | +); | ||
| 2187 | +INSERT INTO system_menu( | ||
| 2188 | + name, permission, type, sort, parent_id, | ||
| 2189 | + path, icon, component, status | ||
| 2190 | +) | ||
| 2191 | +VALUES ( | ||
| 2192 | + '微信菜单更新', 'wechatMp:wx-menu:update', 3, 3, @parentId, | ||
| 2193 | + '', '', '', 0 | ||
| 2194 | +); | ||
| 2195 | +INSERT INTO system_menu( | ||
| 2196 | + name, permission, type, sort, parent_id, | ||
| 2197 | + path, icon, component, status | ||
| 2198 | +) | ||
| 2199 | +VALUES ( | ||
| 2200 | + '微信菜单删除', 'wechatMp:wx-menu:delete', 3, 4, @parentId, | ||
| 2201 | + '', '', '', 0 | ||
| 2202 | +); | ||
| 2203 | +INSERT INTO system_menu( | ||
| 2204 | + name, permission, type, sort, parent_id, | ||
| 2205 | + path, icon, component, status | ||
| 2206 | +) | ||
| 2207 | +VALUES ( | ||
| 2208 | + '微信菜单导出', 'wechatMp:wx-menu:export', 3, 5, @parentId, | ||
| 2209 | + '', '', '', 0 | ||
| 2210 | +); | ||
| 2211 | +-- 菜单 SQL | ||
| 2212 | +INSERT INTO system_menu( | ||
| 2213 | + name, permission, type, sort, parent_id, | ||
| 2214 | + path, icon, component, status | ||
| 2215 | +) | ||
| 2216 | +VALUES ( | ||
| 2217 | + '图文消息文章列表表 管理', '', 2, 0, 1268, | ||
| 2218 | + 'wx-news-article-item', '', 'wechatMp/wxNewsArticleItem/index', 0 | ||
| 2219 | +); | ||
| 2220 | + | ||
| 2221 | +-- 按钮父菜单ID | ||
| 2222 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2223 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2224 | + | ||
| 2225 | +-- 按钮 SQL | ||
| 2226 | +INSERT INTO system_menu( | ||
| 2227 | + name, permission, type, sort, parent_id, | ||
| 2228 | + path, icon, component, status | ||
| 2229 | +) | ||
| 2230 | +VALUES ( | ||
| 2231 | + '图文消息文章列表表 查询', 'wechatMp:wx-news-article-item:query', 3, 1, @parentId, | ||
| 2232 | + '', '', '', 0 | ||
| 2233 | +); | ||
| 2234 | +INSERT INTO system_menu( | ||
| 2235 | + name, permission, type, sort, parent_id, | ||
| 2236 | + path, icon, component, status | ||
| 2237 | +) | ||
| 2238 | +VALUES ( | ||
| 2239 | + '图文消息文章列表表 创建', 'wechatMp:wx-news-article-item:create', 3, 2, @parentId, | ||
| 2240 | + '', '', '', 0 | ||
| 2241 | +); | ||
| 2242 | +INSERT INTO system_menu( | ||
| 2243 | + name, permission, type, sort, parent_id, | ||
| 2244 | + path, icon, component, status | ||
| 2245 | +) | ||
| 2246 | +VALUES ( | ||
| 2247 | + '图文消息文章列表表 更新', 'wechatMp:wx-news-article-item:update', 3, 3, @parentId, | ||
| 2248 | + '', '', '', 0 | ||
| 2249 | +); | ||
| 2250 | +INSERT INTO system_menu( | ||
| 2251 | + name, permission, type, sort, parent_id, | ||
| 2252 | + path, icon, component, status | ||
| 2253 | +) | ||
| 2254 | +VALUES ( | ||
| 2255 | + '图文消息文章列表表 删除', 'wechatMp:wx-news-article-item:delete', 3, 4, @parentId, | ||
| 2256 | + '', '', '', 0 | ||
| 2257 | +); | ||
| 2258 | +INSERT INTO system_menu( | ||
| 2259 | + name, permission, type, sort, parent_id, | ||
| 2260 | + path, icon, component, status | ||
| 2261 | +) | ||
| 2262 | +VALUES ( | ||
| 2263 | + '图文消息文章列表表 导出', 'wechatMp:wx-news-article-item:export', 3, 5, @parentId, | ||
| 2264 | + '', '', '', 0 | ||
| 2265 | +); | ||
| 2266 | +-- 菜单 SQL | ||
| 2267 | +INSERT INTO system_menu( | ||
| 2268 | + name, permission, type, sort, parent_id, | ||
| 2269 | + path, icon, component, status | ||
| 2270 | +) | ||
| 2271 | +VALUES ( | ||
| 2272 | + '图文消息模板管理', '', 2, 0, 1268, | ||
| 2273 | + 'wx-news-template', '', 'wechatMp/wxNewsTemplate/index', 0 | ||
| 2274 | +); | ||
| 2275 | + | ||
| 2276 | +-- 按钮父菜单ID | ||
| 2277 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2278 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2279 | + | ||
| 2280 | +-- 按钮 SQL | ||
| 2281 | +INSERT INTO system_menu( | ||
| 2282 | + name, permission, type, sort, parent_id, | ||
| 2283 | + path, icon, component, status | ||
| 2284 | +) | ||
| 2285 | +VALUES ( | ||
| 2286 | + '图文消息模板查询', 'wechatMp:wx-news-template:query', 3, 1, @parentId, | ||
| 2287 | + '', '', '', 0 | ||
| 2288 | +); | ||
| 2289 | +INSERT INTO system_menu( | ||
| 2290 | + name, permission, type, sort, parent_id, | ||
| 2291 | + path, icon, component, status | ||
| 2292 | +) | ||
| 2293 | +VALUES ( | ||
| 2294 | + '图文消息模板创建', 'wechatMp:wx-news-template:create', 3, 2, @parentId, | ||
| 2295 | + '', '', '', 0 | ||
| 2296 | +); | ||
| 2297 | +INSERT INTO system_menu( | ||
| 2298 | + name, permission, type, sort, parent_id, | ||
| 2299 | + path, icon, component, status | ||
| 2300 | +) | ||
| 2301 | +VALUES ( | ||
| 2302 | + '图文消息模板更新', 'wechatMp:wx-news-template:update', 3, 3, @parentId, | ||
| 2303 | + '', '', '', 0 | ||
| 2304 | +); | ||
| 2305 | +INSERT INTO system_menu( | ||
| 2306 | + name, permission, type, sort, parent_id, | ||
| 2307 | + path, icon, component, status | ||
| 2308 | +) | ||
| 2309 | +VALUES ( | ||
| 2310 | + '图文消息模板删除', 'wechatMp:wx-news-template:delete', 3, 4, @parentId, | ||
| 2311 | + '', '', '', 0 | ||
| 2312 | +); | ||
| 2313 | +INSERT INTO system_menu( | ||
| 2314 | + name, permission, type, sort, parent_id, | ||
| 2315 | + path, icon, component, status | ||
| 2316 | +) | ||
| 2317 | +VALUES ( | ||
| 2318 | + '图文消息模板导出', 'wechatMp:wx-news-template:export', 3, 5, @parentId, | ||
| 2319 | + '', '', '', 0 | ||
| 2320 | +); | ||
| 2321 | +-- 菜单 SQL | ||
| 2322 | +INSERT INTO system_menu( | ||
| 2323 | + name, permission, type, sort, parent_id, | ||
| 2324 | + path, icon, component, status | ||
| 2325 | +) | ||
| 2326 | +VALUES ( | ||
| 2327 | + '回复关键字管理', '', 2, 0, 1268, | ||
| 2328 | + 'wx-receive-text', '', 'wechatMp/wxReceiveText/index', 0 | ||
| 2329 | +); | ||
| 2330 | + | ||
| 2331 | +-- 按钮父菜单ID | ||
| 2332 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2333 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2334 | + | ||
| 2335 | +-- 按钮 SQL | ||
| 2336 | +INSERT INTO system_menu( | ||
| 2337 | + name, permission, type, sort, parent_id, | ||
| 2338 | + path, icon, component, status | ||
| 2339 | +) | ||
| 2340 | +VALUES ( | ||
| 2341 | + '回复关键字查询', 'wechatMp:wx-receive-text:query', 3, 1, @parentId, | ||
| 2342 | + '', '', '', 0 | ||
| 2343 | +); | ||
| 2344 | +INSERT INTO system_menu( | ||
| 2345 | + name, permission, type, sort, parent_id, | ||
| 2346 | + path, icon, component, status | ||
| 2347 | +) | ||
| 2348 | +VALUES ( | ||
| 2349 | + '回复关键字创建', 'wechatMp:wx-receive-text:create', 3, 2, @parentId, | ||
| 2350 | + '', '', '', 0 | ||
| 2351 | +); | ||
| 2352 | +INSERT INTO system_menu( | ||
| 2353 | + name, permission, type, sort, parent_id, | ||
| 2354 | + path, icon, component, status | ||
| 2355 | +) | ||
| 2356 | +VALUES ( | ||
| 2357 | + '回复关键字更新', 'wechatMp:wx-receive-text:update', 3, 3, @parentId, | ||
| 2358 | + '', '', '', 0 | ||
| 2359 | +); | ||
| 2360 | +INSERT INTO system_menu( | ||
| 2361 | + name, permission, type, sort, parent_id, | ||
| 2362 | + path, icon, component, status | ||
| 2363 | +) | ||
| 2364 | +VALUES ( | ||
| 2365 | + '回复关键字删除', 'wechatMp:wx-receive-text:delete', 3, 4, @parentId, | ||
| 2366 | + '', '', '', 0 | ||
| 2367 | +); | ||
| 2368 | +INSERT INTO system_menu( | ||
| 2369 | + name, permission, type, sort, parent_id, | ||
| 2370 | + path, icon, component, status | ||
| 2371 | +) | ||
| 2372 | +VALUES ( | ||
| 2373 | + '回复关键字导出', 'wechatMp:wx-receive-text:export', 3, 5, @parentId, | ||
| 2374 | + '', '', '', 0 | ||
| 2375 | +); | ||
| 2376 | +-- 菜单 SQL | ||
| 2377 | +INSERT INTO system_menu( | ||
| 2378 | + name, permission, type, sort, parent_id, | ||
| 2379 | + path, icon, component, status | ||
| 2380 | +) | ||
| 2381 | +VALUES ( | ||
| 2382 | + '关注欢迎语管理', '', 2, 0, 1268, | ||
| 2383 | + 'wx-subscribe-text', '', 'wechatMp/wxSubscribeText/index', 0 | ||
| 2384 | +); | ||
| 2385 | + | ||
| 2386 | +-- 按钮父菜单ID | ||
| 2387 | +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 | ||
| 2388 | +SELECT @parentId := LAST_INSERT_ID(); | ||
| 2389 | + | ||
| 2390 | +-- 按钮 SQL | ||
| 2391 | +INSERT INTO system_menu( | ||
| 2392 | + name, permission, type, sort, parent_id, | ||
| 2393 | + path, icon, component, status | ||
| 2394 | +) | ||
| 2395 | +VALUES ( | ||
| 2396 | + '关注欢迎语查询', 'wechatMp:wx-subscribe-text:query', 3, 1, @parentId, | ||
| 2397 | + '', '', '', 0 | ||
| 2398 | +); | ||
| 2399 | +INSERT INTO system_menu( | ||
| 2400 | + name, permission, type, sort, parent_id, | ||
| 2401 | + path, icon, component, status | ||
| 2402 | +) | ||
| 2403 | +VALUES ( | ||
| 2404 | + '关注欢迎语创建', 'wechatMp:wx-subscribe-text:create', 3, 2, @parentId, | ||
| 2405 | + '', '', '', 0 | ||
| 2406 | +); | ||
| 2407 | +INSERT INTO system_menu( | ||
| 2408 | + name, permission, type, sort, parent_id, | ||
| 2409 | + path, icon, component, status | ||
| 2410 | +) | ||
| 2411 | +VALUES ( | ||
| 2412 | + '关注欢迎语更新', 'wechatMp:wx-subscribe-text:update', 3, 3, @parentId, | ||
| 2413 | + '', '', '', 0 | ||
| 2414 | +); | ||
| 2415 | +INSERT INTO system_menu( | ||
| 2416 | + name, permission, type, sort, parent_id, | ||
| 2417 | + path, icon, component, status | ||
| 2418 | +) | ||
| 2419 | +VALUES ( | ||
| 2420 | + '关注欢迎语删除', 'wechatMp:wx-subscribe-text:delete', 3, 4, @parentId, | ||
| 2421 | + '', '', '', 0 | ||
| 2422 | +); | ||
| 2423 | +INSERT INTO system_menu( | ||
| 2424 | + name, permission, type, sort, parent_id, | ||
| 2425 | + path, icon, component, status | ||
| 2426 | +) | ||
| 2427 | +VALUES ( | ||
| 2428 | + '关注欢迎语导出', 'wechatMp:wx-subscribe-text:export', 3, 5, @parentId, | ||
| 2429 | + '', '', '', 0 | ||
| 2430 | +); | ||
| 2431 | + | ||
| 2432 | + | ||
| 1710 | COMMIT; | 2433 | COMMIT; |
| 1711 | 2434 | ||
| 1712 | -- ---------------------------- | 2435 | -- ---------------------------- |
| @@ -2651,25 +3374,25 @@ SET FOREIGN_KEY_CHECKS = 1; | @@ -2651,25 +3374,25 @@ SET FOREIGN_KEY_CHECKS = 1; | ||
| 2651 | 3374 | ||
| 2652 | -- 公众号 | 3375 | -- 公众号 |
| 2653 | DROP TABLE IF EXISTS `wx_account`; | 3376 | DROP TABLE IF EXISTS `wx_account`; |
| 2654 | -CREATE TABLE `wx_account` ( | ||
| 2655 | - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', | ||
| 2656 | - `name` varchar(100) DEFAULT NULL COMMENT '公众号名称', | ||
| 2657 | - `account` varchar(100) DEFAULT NULL COMMENT '公众号账户', | ||
| 2658 | - `appid` varchar(100) DEFAULT NULL COMMENT '公众号appid', | ||
| 2659 | - `appsecret` varchar(100) DEFAULT NULL COMMENT '公众号密钥', | ||
| 2660 | - `url` varchar(100) DEFAULT NULL COMMENT '公众号url', | ||
| 2661 | - `token` varchar(100) DEFAULT NULL COMMENT '公众号token', | ||
| 2662 | - `aeskey` varchar(300) DEFAULT NULL COMMENT '加密密钥', | ||
| 2663 | - `qr_url` varchar(200) DEFAULT NULL COMMENT '二维码图片URL', | ||
| 2664 | - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', | ||
| 2665 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | 3377 | +CREATE TABLE `wx_account` ( |
| 3378 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', | ||
| 3379 | + `name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公众号名称', | ||
| 3380 | + `account` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公众号账户', | ||
| 3381 | + `app_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公众号appid', | ||
| 3382 | + `app_secret` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公众号密钥', | ||
| 3383 | + `url` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公众号url', | ||
| 3384 | + `token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '公众号token', | ||
| 3385 | + `aes_key` varchar(300) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '加密密钥', | ||
| 3386 | + `qr_code_url` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码图片URL', | ||
| 3387 | + `remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', | ||
| 3388 | + `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', | ||
| 2666 | `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | 3389 | `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| 2667 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | 3390 | + `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', |
| 2668 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | 3391 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| 2669 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | 3392 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 2670 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | 3393 | + `tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '租户编号', |
| 2671 | PRIMARY KEY (`id`) USING BTREE | 3394 | PRIMARY KEY (`id`) USING BTREE |
| 2672 | -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '公众号账户表'; | 3395 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='公众号账户表'; |
| 2673 | 3396 | ||
| 2674 | DROP TABLE IF EXISTS `wx_account_fans`; | 3397 | DROP TABLE IF EXISTS `wx_account_fans`; |
| 2675 | CREATE TABLE `wx_account_fans` ( | 3398 | CREATE TABLE `wx_account_fans` ( |
| @@ -2696,199 +3419,199 @@ CREATE TABLE `wx_account_fans` ( | @@ -2696,199 +3419,199 @@ CREATE TABLE `wx_account_fans` ( | ||
| 2696 | PRIMARY KEY (`id`) USING BTREE | 3419 | PRIMARY KEY (`id`) USING BTREE |
| 2697 | ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信公众号粉丝表'; | 3420 | ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信公众号粉丝表'; |
| 2698 | 3421 | ||
| 2699 | - DROP TABLE IF EXISTS `wx_account_fans_tag`; | ||
| 2700 | - CREATE TABLE `wx_account_fans_tag` ( | ||
| 2701 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2702 | - `openid` varchar(100) DEFAULT NULL COMMENT '用户标识', | ||
| 2703 | - `tag_id` varchar(32) DEFAULT NULL COMMENT '标签ID', | ||
| 2704 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2705 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2706 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2707 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2708 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2709 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2710 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2711 | - PRIMARY KEY (`id`) | 3422 | +DROP TABLE IF EXISTS `wx_account_fans_tag`; |
| 3423 | +CREATE TABLE `wx_account_fans_tag` ( | ||
| 3424 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3425 | + `openid` varchar(100) DEFAULT NULL COMMENT '用户标识', | ||
| 3426 | + `tag_id` varchar(32) DEFAULT NULL COMMENT '标签ID', | ||
| 3427 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3428 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3429 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3430 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3431 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3432 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3433 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3434 | +PRIMARY KEY (`id`) | ||
| 2712 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='粉丝标签关联表'; | 3435 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='粉丝标签关联表'; |
| 2713 | 3436 | ||
| 2714 | - DROP TABLE IF EXISTS `wx_fans_msg`; | ||
| 2715 | - CREATE TABLE `wx_fans_msg` ( | ||
| 2716 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2717 | - `openid` varchar(100) DEFAULT NULL COMMENT '用户标识', | ||
| 2718 | - `nickname` varbinary(2000) DEFAULT NULL COMMENT '昵称', | ||
| 2719 | - `headimg_url` varchar(500) DEFAULT NULL COMMENT '头像地址', | ||
| 2720 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2721 | - `msg_type` varchar(32) DEFAULT NULL COMMENT '消息类型', | ||
| 2722 | - `content` varchar(500) DEFAULT NULL COMMENT '内容', | ||
| 2723 | - `res_content` text COMMENT '最近一条回复内容', | ||
| 2724 | - `is_res` varchar(32) DEFAULT NULL COMMENT '是否已回复', | ||
| 2725 | - `media_id` varchar(100) DEFAULT NULL COMMENT '微信素材ID', | ||
| 2726 | - `pic_url` varchar(500) DEFAULT NULL COMMENT '微信图片URL', | ||
| 2727 | - `pic_path` varchar(500) DEFAULT NULL COMMENT '本地图片路径', | ||
| 2728 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2729 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2730 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2731 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2732 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2733 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2734 | - PRIMARY KEY (`id`) | 3437 | +DROP TABLE IF EXISTS `wx_fans_msg`; |
| 3438 | +CREATE TABLE `wx_fans_msg` ( | ||
| 3439 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3440 | + `openid` varchar(100) DEFAULT NULL COMMENT '用户标识', | ||
| 3441 | + `nickname` varbinary(2000) DEFAULT NULL COMMENT '昵称', | ||
| 3442 | + `headimg_url` varchar(500) DEFAULT NULL COMMENT '头像地址', | ||
| 3443 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3444 | + `msg_type` varchar(32) DEFAULT NULL COMMENT '消息类型', | ||
| 3445 | + `content` varchar(500) DEFAULT NULL COMMENT '内容', | ||
| 3446 | + `res_content` text COMMENT '最近一条回复内容', | ||
| 3447 | + `is_res` varchar(32) DEFAULT NULL COMMENT '是否已回复', | ||
| 3448 | + `media_id` varchar(100) DEFAULT NULL COMMENT '微信素材ID', | ||
| 3449 | + `pic_url` varchar(500) DEFAULT NULL COMMENT '微信图片URL', | ||
| 3450 | + `pic_path` varchar(500) DEFAULT NULL COMMENT '本地图片路径', | ||
| 3451 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3452 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3453 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3454 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3455 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3456 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3457 | +PRIMARY KEY (`id`) | ||
| 2735 | ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COMMENT='粉丝消息表 '; | 3458 | ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COMMENT='粉丝消息表 '; |
| 2736 | 3459 | ||
| 2737 | - DROP TABLE IF EXISTS `wx_fans_msg_res`; | ||
| 2738 | - CREATE TABLE `wx_fans_msg_res` ( | ||
| 2739 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2740 | - `fans_msg_id` varchar(32) DEFAULT NULL COMMENT '粉丝消息ID', | ||
| 2741 | - `res_content` text COMMENT '回复内容', | ||
| 2742 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2743 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2744 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2745 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2746 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2747 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2748 | - PRIMARY KEY (`id`) | 3460 | +DROP TABLE IF EXISTS `wx_fans_msg_res`; |
| 3461 | +CREATE TABLE `wx_fans_msg_res` ( | ||
| 3462 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3463 | + `fans_msg_id` varchar(32) DEFAULT NULL COMMENT '粉丝消息ID', | ||
| 3464 | + `res_content` text COMMENT '回复内容', | ||
| 3465 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3466 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3467 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3468 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3469 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3470 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3471 | +PRIMARY KEY (`id`) | ||
| 2749 | ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='回复粉丝消息历史表 '; | 3472 | ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='回复粉丝消息历史表 '; |
| 2750 | 3473 | ||
| 2751 | 3474 | ||
| 2752 | - DROP TABLE IF EXISTS `wx_fans_tag`; | ||
| 2753 | - CREATE TABLE `wx_fans_tag` ( | ||
| 2754 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2755 | - `name` varchar(32) DEFAULT NULL COMMENT '标签名称', | ||
| 2756 | - `count` int(11) DEFAULT NULL COMMENT '粉丝数量', | ||
| 2757 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2758 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2759 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2760 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2761 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2762 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2763 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2764 | - PRIMARY KEY (`id`) | 3475 | +DROP TABLE IF EXISTS `wx_fans_tag`; |
| 3476 | +CREATE TABLE `wx_fans_tag` ( | ||
| 3477 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3478 | + `name` varchar(32) DEFAULT NULL COMMENT '标签名称', | ||
| 3479 | + `count` int(11) DEFAULT NULL COMMENT '粉丝数量', | ||
| 3480 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3481 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3482 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3483 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3484 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3485 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3486 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3487 | +PRIMARY KEY (`id`) | ||
| 2765 | ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='粉丝标签表'; | 3488 | ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='粉丝标签表'; |
| 2766 | 3489 | ||
| 2767 | - DROP TABLE IF EXISTS `wx_media_upload`; | ||
| 2768 | - CREATE TABLE `wx_media_upload` ( | ||
| 2769 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2770 | - `type` varchar(32) DEFAULT NULL COMMENT '类型', | ||
| 2771 | - `url` varchar(500) DEFAULT NULL COMMENT '图片URL', | ||
| 2772 | - `media_id` varchar(32) DEFAULT NULL COMMENT '素材ID', | ||
| 2773 | - `thumb_media_id` varchar(32) DEFAULT NULL COMMENT '缩略图素材ID', | ||
| 2774 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2775 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2776 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2777 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2778 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2779 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2780 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2781 | - PRIMARY KEY (`id`) | 3490 | +DROP TABLE IF EXISTS `wx_media_upload`; |
| 3491 | +CREATE TABLE `wx_media_upload` ( | ||
| 3492 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3493 | + `type` varchar(32) DEFAULT NULL COMMENT '类型', | ||
| 3494 | + `url` varchar(500) DEFAULT NULL COMMENT '图片URL', | ||
| 3495 | + `media_id` varchar(32) DEFAULT NULL COMMENT '素材ID', | ||
| 3496 | + `thumb_media_id` varchar(32) DEFAULT NULL COMMENT '缩略图素材ID', | ||
| 3497 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3498 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3499 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3500 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3501 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3502 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3503 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3504 | +PRIMARY KEY (`id`) | ||
| 2782 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='微信素材上传表 '; | 3505 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='微信素材上传表 '; |
| 2783 | 3506 | ||
| 2784 | - DROP TABLE IF EXISTS `wx_menu`; | ||
| 2785 | - CREATE TABLE `wx_menu` ( | ||
| 2786 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2787 | - `parent_id` varchar(32) DEFAULT NULL COMMENT '父ID', | ||
| 2788 | - `menu_name` varchar(32) DEFAULT NULL COMMENT '菜单名称', | ||
| 2789 | - `menu_type` varchar(32) DEFAULT NULL COMMENT '菜单类型 1文本消息;2图文消息;3网址链接;4小程序', | ||
| 2790 | - `menu_level` varchar(32) DEFAULT NULL COMMENT '菜单等级', | ||
| 2791 | - `tpl_id` varchar(32) DEFAULT NULL COMMENT '模板ID', | ||
| 2792 | - `menu_url` varchar(255) DEFAULT NULL COMMENT '菜单URL', | ||
| 2793 | - `menu_sort` varchar(32) DEFAULT NULL COMMENT '排序', | ||
| 2794 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2795 | - `miniprogram_appid` varchar(32) DEFAULT NULL COMMENT '小程序appid', | ||
| 2796 | - `miniprogram_pagepath` varchar(200) DEFAULT NULL COMMENT '小程序页面路径', | ||
| 2797 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2798 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2799 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2800 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2801 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2802 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2803 | - PRIMARY KEY (`id`) | 3507 | +DROP TABLE IF EXISTS `wx_menu`; |
| 3508 | +CREATE TABLE `wx_menu` ( | ||
| 3509 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3510 | + `parent_id` varchar(32) DEFAULT NULL COMMENT '父ID', | ||
| 3511 | + `menu_name` varchar(32) DEFAULT NULL COMMENT '菜单名称', | ||
| 3512 | + `menu_type` varchar(32) DEFAULT NULL COMMENT '菜单类型 1文本消息;2图文消息;3网址链接;4小程序', | ||
| 3513 | + `menu_level` varchar(32) DEFAULT NULL COMMENT '菜单等级', | ||
| 3514 | + `tpl_id` varchar(32) DEFAULT NULL COMMENT '模板ID', | ||
| 3515 | + `menu_url` varchar(255) DEFAULT NULL COMMENT '菜单URL', | ||
| 3516 | + `menu_sort` varchar(32) DEFAULT NULL COMMENT '排序', | ||
| 3517 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3518 | + `miniprogram_appid` varchar(32) DEFAULT NULL COMMENT '小程序appid', | ||
| 3519 | + `miniprogram_pagepath` varchar(200) DEFAULT NULL COMMENT '小程序页面路径', | ||
| 3520 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3521 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3522 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3523 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3524 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3525 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3526 | +PRIMARY KEY (`id`) | ||
| 2804 | ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COMMENT='微信菜单表'; | 3527 | ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COMMENT='微信菜单表'; |
| 2805 | 3528 | ||
| 2806 | 3529 | ||
| 2807 | - DROP TABLE IF EXISTS `wx_news_article_item`; | ||
| 2808 | - CREATE TABLE `wx_news_article_item` ( | ||
| 2809 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2810 | - `title` varchar(32) DEFAULT NULL COMMENT '标题', | ||
| 2811 | - `digest` varchar(50) DEFAULT NULL COMMENT '摘要', | ||
| 2812 | - `author` varchar(32) DEFAULT NULL COMMENT '作者', | ||
| 2813 | - `show_cover_pic` char(1) DEFAULT NULL COMMENT '是否展示封面图片(0/1)', | ||
| 2814 | - `thumb_media_id` varchar(50) DEFAULT NULL COMMENT '上传微信,封面图片标识', | ||
| 2815 | - `content` text COMMENT '内容', | ||
| 2816 | - `content_source_url` varchar(50) DEFAULT NULL COMMENT '内容链接', | ||
| 2817 | - `order_no` int(11) DEFAULT NULL COMMENT '文章排序', | ||
| 2818 | - `pic_path` varchar(255) DEFAULT NULL COMMENT '图片路径', | ||
| 2819 | - `need_open_comment` varchar(32) DEFAULT NULL COMMENT '是否可以留言', | ||
| 2820 | - `only_fans_can_comment` varchar(32) DEFAULT NULL COMMENT '是否仅粉丝可以留言', | ||
| 2821 | - `news_id` varchar(32) DEFAULT NULL COMMENT '图文ID', | ||
| 2822 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2823 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2824 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2825 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2826 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2827 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2828 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2829 | - PRIMARY KEY (`id`) | 3530 | +DROP TABLE IF EXISTS `wx_news_article_item`; |
| 3531 | +CREATE TABLE `wx_news_article_item` ( | ||
| 3532 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3533 | + `title` varchar(32) DEFAULT NULL COMMENT '标题', | ||
| 3534 | + `digest` varchar(50) DEFAULT NULL COMMENT '摘要', | ||
| 3535 | + `author` varchar(32) DEFAULT NULL COMMENT '作者', | ||
| 3536 | + `show_cover_pic` char(1) DEFAULT NULL COMMENT '是否展示封面图片(0/1)', | ||
| 3537 | + `thumb_media_id` varchar(50) DEFAULT NULL COMMENT '上传微信,封面图片标识', | ||
| 3538 | + `content` text COMMENT '内容', | ||
| 3539 | + `content_source_url` varchar(50) DEFAULT NULL COMMENT '内容链接', | ||
| 3540 | + `order_no` int(11) DEFAULT NULL COMMENT '文章排序', | ||
| 3541 | + `pic_path` varchar(255) DEFAULT NULL COMMENT '图片路径', | ||
| 3542 | + `need_open_comment` varchar(32) DEFAULT NULL COMMENT '是否可以留言', | ||
| 3543 | + `only_fans_can_comment` varchar(32) DEFAULT NULL COMMENT '是否仅粉丝可以留言', | ||
| 3544 | + `news_id` varchar(32) DEFAULT NULL COMMENT '图文ID', | ||
| 3545 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3546 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3547 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3548 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3549 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3550 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3551 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3552 | +PRIMARY KEY (`id`) | ||
| 2830 | ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='图文消息文章列表表 '; | 3553 | ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='图文消息文章列表表 '; |
| 2831 | 3554 | ||
| 2832 | - DROP TABLE IF EXISTS `wx_news_template`; | ||
| 2833 | - CREATE TABLE `wx_news_template` ( | ||
| 2834 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 主键ID', | ||
| 2835 | - `tpl_name` varchar(32) DEFAULT NULL COMMENT '模板名称', | ||
| 2836 | - `is_upload` varchar(32) DEFAULT NULL COMMENT '是否已上传微信', | ||
| 2837 | - `media_id` varchar(50) DEFAULT NULL, | ||
| 2838 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2839 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2840 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2841 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2842 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2843 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2844 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2845 | - PRIMARY KEY (`id`) | 3555 | +DROP TABLE IF EXISTS `wx_news_template`; |
| 3556 | +CREATE TABLE `wx_news_template` ( | ||
| 3557 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 主键ID', | ||
| 3558 | + `tpl_name` varchar(32) DEFAULT NULL COMMENT '模板名称', | ||
| 3559 | + `is_upload` varchar(32) DEFAULT NULL COMMENT '是否已上传微信', | ||
| 3560 | + `media_id` varchar(50) DEFAULT NULL COMMENT '微信素材ID', | ||
| 3561 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3562 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3563 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3564 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3565 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3566 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3567 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3568 | +PRIMARY KEY (`id`) | ||
| 2846 | ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='图文消息模板表'; | 3569 | ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='图文消息模板表'; |
| 2847 | 3570 | ||
| 2848 | 3571 | ||
| 2849 | - DROP TABLE IF EXISTS `wx_receive_text`; | ||
| 2850 | - CREATE TABLE `wx_receive_text` ( | ||
| 2851 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2852 | - `receive_text` varchar(32) DEFAULT NULL COMMENT '关键字', | ||
| 2853 | - `msg_type` varchar(32) DEFAULT NULL COMMENT '消息类型 1文本消息;2图文消息;', | ||
| 2854 | - `tpl_id` varchar(32) DEFAULT NULL COMMENT '模板ID', | ||
| 2855 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2856 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2857 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2858 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2859 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2860 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2861 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2862 | - PRIMARY KEY (`id`) | 3572 | +DROP TABLE IF EXISTS `wx_receive_text`; |
| 3573 | +CREATE TABLE `wx_receive_text` ( | ||
| 3574 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3575 | + `receive_text` varchar(32) DEFAULT NULL COMMENT '关键字', | ||
| 3576 | + `msg_type` varchar(32) DEFAULT NULL COMMENT '消息类型 1文本消息;2图文消息;', | ||
| 3577 | + `tpl_id` varchar(32) DEFAULT NULL COMMENT '模板ID', | ||
| 3578 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3579 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3580 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3581 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3582 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3583 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3584 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3585 | +PRIMARY KEY (`id`) | ||
| 2863 | ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='回复关键字表'; | 3586 | ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='回复关键字表'; |
| 2864 | 3587 | ||
| 2865 | 3588 | ||
| 2866 | - DROP TABLE IF EXISTS `wx_subscribe_text`; | ||
| 2867 | - CREATE TABLE `wx_subscribe_text` ( | ||
| 2868 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2869 | - `msg_type` varchar(32) DEFAULT NULL COMMENT '消息类型 1文本消息;2图文消息;', | ||
| 2870 | - `tpl_id` varchar(32) DEFAULT NULL COMMENT '模板ID', | ||
| 2871 | - `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 2872 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2873 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2874 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2875 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2876 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2877 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2878 | - PRIMARY KEY (`id`) | 3589 | +DROP TABLE IF EXISTS `wx_subscribe_text`; |
| 3590 | +CREATE TABLE `wx_subscribe_text` ( | ||
| 3591 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3592 | + `msg_type` varchar(32) DEFAULT NULL COMMENT '消息类型 1文本消息;2图文消息;', | ||
| 3593 | + `tpl_id` varchar(32) DEFAULT NULL COMMENT '模板ID', | ||
| 3594 | + `wx_account_id` varchar(32) DEFAULT NULL COMMENT '微信账号ID', | ||
| 3595 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3596 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3597 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3598 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3599 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3600 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3601 | +PRIMARY KEY (`id`) | ||
| 2879 | ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='关注欢迎语表'; | 3602 | ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='关注欢迎语表'; |
| 2880 | 3603 | ||
| 2881 | 3604 | ||
| 2882 | - DROP TABLE IF EXISTS `wx_text_template`; | ||
| 2883 | - CREATE TABLE `wx_text_template` ( | ||
| 2884 | - `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 2885 | - `tpl_name` varchar(32) DEFAULT NULL COMMENT '模板名字', | ||
| 2886 | - `content` varchar(255) DEFAULT NULL COMMENT '模板内容', | ||
| 2887 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 2888 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 2889 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 2890 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 2891 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 2892 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 2893 | - PRIMARY KEY (`id`) | 3605 | +DROP TABLE IF EXISTS `wx_text_template`; |
| 3606 | +CREATE TABLE `wx_text_template` ( | ||
| 3607 | + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', | ||
| 3608 | + `tpl_name` varchar(32) DEFAULT NULL COMMENT '模板名字', | ||
| 3609 | + `content` varchar(255) DEFAULT NULL COMMENT '模板内容', | ||
| 3610 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 3611 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 3612 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 3613 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 3614 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 3615 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 3616 | +PRIMARY KEY (`id`) | ||
| 2894 | ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='文本模板表'; | 3617 | ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='文本模板表'; |
yudao-module-wechat/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java
| @@ -12,5 +12,6 @@ public interface ErrorCodeConstants { | @@ -12,5 +12,6 @@ public interface ErrorCodeConstants { | ||
| 12 | // ========== 用户相关 1004001000============ | 12 | // ========== 用户相关 1004001000============ |
| 13 | ErrorCode WX_ACCOUNT_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); | 13 | ErrorCode WX_ACCOUNT_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); |
| 14 | ErrorCode WX_ACCOUNT_FANS_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); | 14 | ErrorCode WX_ACCOUNT_FANS_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); |
| 15 | + ErrorCode COMMON_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); | ||
| 15 | 16 | ||
| 16 | } | 17 | } |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/config/WxMpConfig.java
| @@ -2,22 +2,28 @@ package cn.iocoder.yudao.module.mp.config; | @@ -2,22 +2,28 @@ package cn.iocoder.yudao.module.mp.config; | ||
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | import cn.hutool.extra.spring.SpringUtil; | 4 | import cn.hutool.extra.spring.SpringUtil; |
| 5 | -import cn.iocoder.yudao.module.mp.admin.account.vo.WxAccountExportReqVO; | 5 | +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.WxAccountExportReqVO; |
| 6 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; | 6 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; |
| 7 | import cn.iocoder.yudao.module.mp.handler.*; | 7 | import cn.iocoder.yudao.module.mp.handler.*; |
| 8 | import cn.iocoder.yudao.module.mp.service.account.WxAccountService; | 8 | import cn.iocoder.yudao.module.mp.service.account.WxAccountService; |
| 9 | import com.google.common.collect.Maps; | 9 | import com.google.common.collect.Maps; |
| 10 | import lombok.extern.slf4j.Slf4j; | 10 | import lombok.extern.slf4j.Slf4j; |
| 11 | import me.chanjar.weixin.common.api.WxConsts; | 11 | import me.chanjar.weixin.common.api.WxConsts; |
| 12 | +import me.chanjar.weixin.common.redis.JedisWxRedisOps; | ||
| 12 | import me.chanjar.weixin.mp.api.WxMpMessageRouter; | 13 | import me.chanjar.weixin.mp.api.WxMpMessageRouter; |
| 13 | import me.chanjar.weixin.mp.api.WxMpService; | 14 | import me.chanjar.weixin.mp.api.WxMpService; |
| 14 | import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; | 15 | import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; |
| 15 | import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; | 16 | import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; |
| 17 | +import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; | ||
| 16 | import me.chanjar.weixin.mp.constant.WxMpEventConstants; | 18 | import me.chanjar.weixin.mp.constant.WxMpEventConstants; |
| 17 | import org.springframework.beans.factory.InitializingBean; | 19 | import org.springframework.beans.factory.InitializingBean; |
| 18 | import org.springframework.beans.factory.annotation.Autowired; | 20 | import org.springframework.beans.factory.annotation.Autowired; |
| 21 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 22 | +import org.springframework.scheduling.annotation.Scheduled; | ||
| 19 | import org.springframework.stereotype.Component; | 23 | import org.springframework.stereotype.Component; |
| 20 | import org.springframework.util.CollectionUtils; | 24 | import org.springframework.util.CollectionUtils; |
| 25 | +import redis.clients.jedis.JedisPool; | ||
| 26 | +import redis.clients.jedis.JedisPoolConfig; | ||
| 21 | 27 | ||
| 22 | import java.util.List; | 28 | import java.util.List; |
| 23 | import java.util.Map; | 29 | import java.util.Map; |
| @@ -25,6 +31,7 @@ import java.util.stream.Collectors; | @@ -25,6 +31,7 @@ import java.util.stream.Collectors; | ||
| 25 | 31 | ||
| 26 | // TODO @芋艿:思考有没更好的处理方式 | 32 | // TODO @芋艿:思考有没更好的处理方式 |
| 27 | @Component | 33 | @Component |
| 34 | +@EnableConfigurationProperties(WxMpProperties.class) | ||
| 28 | @Slf4j | 35 | @Slf4j |
| 29 | public class WxMpConfig implements InitializingBean { | 36 | public class WxMpConfig implements InitializingBean { |
| 30 | 37 | ||
| @@ -33,6 +40,10 @@ public class WxMpConfig implements InitializingBean { | @@ -33,6 +40,10 @@ public class WxMpConfig implements InitializingBean { | ||
| 33 | 40 | ||
| 34 | @Autowired | 41 | @Autowired |
| 35 | private WxAccountService wxAccountService; | 42 | private WxAccountService wxAccountService; |
| 43 | + @Autowired | ||
| 44 | + private WxMpProperties wxMpProperties; | ||
| 45 | + | ||
| 46 | + private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L; | ||
| 36 | 47 | ||
| 37 | /** | 48 | /** |
| 38 | * 初始化公众号配置 | 49 | * 初始化公众号配置 |
| @@ -43,22 +54,39 @@ public class WxMpConfig implements InitializingBean { | @@ -43,22 +54,39 @@ public class WxMpConfig implements InitializingBean { | ||
| 43 | if (CollectionUtils.isEmpty(wxAccountList)) { | 54 | if (CollectionUtils.isEmpty(wxAccountList)) { |
| 44 | return; | 55 | return; |
| 45 | } | 56 | } |
| 46 | - WxMpConfig.init(wxAccountList); | 57 | + WxMpConfig.init(wxAccountList, wxMpProperties); |
| 47 | log.info("加载公众号配置成功"); | 58 | log.info("加载公众号配置成功"); |
| 48 | } | 59 | } |
| 49 | 60 | ||
| 50 | - public static void init(List<WxAccountDO> wxAccountDOS) { | 61 | + |
| 62 | + @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD) | ||
| 63 | + public void schedulePeriodicRefresh() { | ||
| 64 | + initWxConfig(); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + public static void init(List<WxAccountDO> wxAccountDOS, WxMpProperties properties) { | ||
| 51 | mpServices = wxAccountDOS.stream().map(wxAccountDO -> { | 68 | mpServices = wxAccountDOS.stream().map(wxAccountDO -> { |
| 52 | // TODO 亚洲:使用 WxMpInMemoryConfigStorage 的话,多节点会不会存在 accessToken 冲突 | 69 | // TODO 亚洲:使用 WxMpInMemoryConfigStorage 的话,多节点会不会存在 accessToken 冲突 |
| 53 | - WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl(); | ||
| 54 | - configStorage.setAppId(wxAccountDO.getAppid()); | ||
| 55 | - configStorage.setSecret(wxAccountDO.getAppsecret()); | 70 | + |
| 71 | + WxMpDefaultConfigImpl configStorage; | ||
| 72 | + if (properties.isUseRedis()) { | ||
| 73 | + final WxMpProperties.RedisConfig redisConfig = properties.getRedisConfig(); | ||
| 74 | + JedisPoolConfig poolConfig = new JedisPoolConfig(); | ||
| 75 | + JedisPool jedisPool = new JedisPool(poolConfig, redisConfig.getHost(), redisConfig.getPort(), | ||
| 76 | + redisConfig.getTimeout(), redisConfig.getPassword()); | ||
| 77 | + configStorage = new WxMpRedisConfigImpl(new JedisWxRedisOps(jedisPool), wxAccountDO.getAppId()); | ||
| 78 | + } else { | ||
| 79 | + configStorage = new WxMpDefaultConfigImpl(); | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + configStorage.setAppId(wxAccountDO.getAppId()); | ||
| 83 | + configStorage.setSecret(wxAccountDO.getAppSecret()); | ||
| 56 | configStorage.setToken(wxAccountDO.getToken()); | 84 | configStorage.setToken(wxAccountDO.getToken()); |
| 57 | - configStorage.setAesKey(wxAccountDO.getAeskey()); | 85 | + configStorage.setAesKey(wxAccountDO.getAesKey()); |
| 58 | 86 | ||
| 59 | WxMpService service = new WxMpServiceImpl(); | 87 | WxMpService service = new WxMpServiceImpl(); |
| 60 | service.setWxMpConfigStorage(configStorage); | 88 | service.setWxMpConfigStorage(configStorage); |
| 61 | - routers.put(wxAccountDO.getAppid(), newRouter(service)); | 89 | + routers.put(wxAccountDO.getAppId(), newRouter(service)); |
| 62 | return service; | 90 | return service; |
| 63 | }).collect(Collectors.toMap(s -> s.getWxMpConfigStorage().getAppId(), a -> a, (o, n) -> o)); | 91 | }).collect(Collectors.toMap(s -> s.getWxMpConfigStorage().getAppId(), a -> a, (o, n) -> o)); |
| 64 | } | 92 | } |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/config/WxMpProperties.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.config; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import org.springframework.boot.context.properties.ConfigurationProperties; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * wechat mp properties | ||
| 8 | + */ | ||
| 9 | +@Data | ||
| 10 | +@ConfigurationProperties(prefix = "wx.mp") | ||
| 11 | +public class WxMpProperties { | ||
| 12 | + /** | ||
| 13 | + * 是否使用redis存储access token | ||
| 14 | + */ | ||
| 15 | + private boolean useRedis; | ||
| 16 | + | ||
| 17 | + private String defaultContent; | ||
| 18 | + | ||
| 19 | + /** | ||
| 20 | + * redis 配置 | ||
| 21 | + */ | ||
| 22 | + private RedisConfig redisConfig; | ||
| 23 | + | ||
| 24 | + @Data | ||
| 25 | + public static class RedisConfig { | ||
| 26 | + /** | ||
| 27 | + * redis服务器 主机地址 | ||
| 28 | + */ | ||
| 29 | + private String host; | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * redis服务器 端口号 | ||
| 33 | + */ | ||
| 34 | + private Integer port; | ||
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * redis服务器 密码 | ||
| 38 | + */ | ||
| 39 | + private String password; | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * redis 服务连接超时时间 | ||
| 43 | + */ | ||
| 44 | + private Integer timeout; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/WxAccountController.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/WxAccountController.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.account; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.account; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 5 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 6 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | 6 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 7 | -import cn.iocoder.yudao.module.mp.admin.account.vo.*; | 7 | +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.*; |
| 8 | import cn.iocoder.yudao.module.mp.convert.account.WxAccountConvert; | 8 | import cn.iocoder.yudao.module.mp.convert.account.WxAccountConvert; |
| 9 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; | 9 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.WxAccountDO; |
| 10 | import cn.iocoder.yudao.module.mp.service.account.WxAccountService; | 10 | import cn.iocoder.yudao.module.mp.service.account.WxAccountService; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountBaseVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountBaseVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.account.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | -import java.util.*; | ||
| 5 | import io.swagger.annotations.*; | 4 | import io.swagger.annotations.*; |
| 6 | -import javax.validation.constraints.*; | ||
| 7 | 5 | ||
| 8 | /** | 6 | /** |
| 9 | * 公众号账户 Base VO,提供给添加、修改、详细的子 VO 使用 | 7 | * 公众号账户 Base VO,提供给添加、修改、详细的子 VO 使用 |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountCreateReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountCreateReqVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountExcelVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExcelVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.account.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | import java.util.*; | 4 | import java.util.*; |
| 5 | -import io.swagger.annotations.*; | ||
| 6 | 5 | ||
| 7 | import com.alibaba.excel.annotation.ExcelProperty; | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 8 | 7 | ||
| @@ -39,7 +38,7 @@ public class WxAccountExcelVO { | @@ -39,7 +38,7 @@ public class WxAccountExcelVO { | ||
| 39 | private String aeskey; | 38 | private String aeskey; |
| 40 | 39 | ||
| 41 | @ExcelProperty("二维码图片URL") | 40 | @ExcelProperty("二维码图片URL") |
| 42 | - private String qrUrl; | 41 | + private String qrCodeUrl; |
| 43 | 42 | ||
| 44 | @ExcelProperty("备注") | 43 | @ExcelProperty("备注") |
| 45 | private String remark; | 44 | private String remark; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountExportReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountExportReqVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.account.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | import java.util.*; | 4 | import java.util.*; |
| 5 | import io.swagger.annotations.*; | 5 | import io.swagger.annotations.*; |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 7 | import org.springframework.format.annotation.DateTimeFormat; | 6 | import org.springframework.format.annotation.DateTimeFormat; |
| 8 | 7 | ||
| 9 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | 8 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountPageReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountPageReqVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountRespVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountRespVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.account.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.account.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | import java.util.*; | 4 | import java.util.*; |
| @@ -17,7 +17,7 @@ public class WxAccountRespVO extends WxAccountBaseVO { | @@ -17,7 +17,7 @@ public class WxAccountRespVO extends WxAccountBaseVO { | ||
| 17 | private String url; | 17 | private String url; |
| 18 | 18 | ||
| 19 | @ApiModelProperty(value = "二维码图片URL") | 19 | @ApiModelProperty(value = "二维码图片URL") |
| 20 | - private String qrUrl; | 20 | + private String qrCodeUrl; |
| 21 | 21 | ||
| 22 | @ApiModelProperty(value = "创建时间", required = true) | 22 | @ApiModelProperty(value = "创建时间", required = true) |
| 23 | private Date createTime; | 23 | private Date createTime; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/account/vo/WxAccountUpdateReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/WxAccountUpdateReqVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/WxAccountFansController.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.accountfans; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfans; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 5 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 6 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | 6 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 7 | -import cn.iocoder.yudao.module.mp.admin.accountfans.vo.*; | 7 | +import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.*; |
| 8 | import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; | 8 | import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; |
| 9 | import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | 9 | import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; |
| 10 | import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; | 10 | import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansBaseVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.accountfans.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | import java.util.*; | 4 | import java.util.*; |
| 5 | import io.swagger.annotations.*; | 5 | import io.swagger.annotations.*; |
| 6 | -import javax.validation.constraints.*; | ||
| 7 | import org.springframework.format.annotation.DateTimeFormat; | 6 | import org.springframework.format.annotation.DateTimeFormat; |
| 8 | 7 | ||
| 9 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | 8 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansCreateReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansExcelVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.accountfans.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | import java.util.*; | 4 | import java.util.*; |
| 5 | -import io.swagger.annotations.*; | ||
| 6 | 5 | ||
| 7 | import com.alibaba.excel.annotation.ExcelProperty; | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 8 | 7 |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansExportReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java
| 1 | -package cn.iocoder.yudao.module.mp.admin.accountfans.vo; | 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; |
| 2 | 2 | ||
| 3 | import lombok.*; | 3 | import lombok.*; |
| 4 | import java.util.*; | 4 | import java.util.*; |
| 5 | import io.swagger.annotations.*; | 5 | import io.swagger.annotations.*; |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 7 | import org.springframework.format.annotation.DateTimeFormat; | 6 | import org.springframework.format.annotation.DateTimeFormat; |
| 8 | 7 | ||
| 9 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | 8 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansPageReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansPageReqVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansRespVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/admin/accountfans/vo/WxAccountFansUpdateReqVO.java renamed to yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/WxAccountFansTagController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.accountfanstag.WxAccountFansTagDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.accountfanstag.WxAccountFansTagConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.accountfanstag.WxAccountFansTagService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 粉丝标签关联") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-account-fans-tag") | ||
| 35 | +@Validated | ||
| 36 | +public class WxAccountFansTagController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxAccountFansTagService wxAccountFansTagService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建粉丝标签关联") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:create')") | ||
| 44 | + public CommonResult<Integer> createWxAccountFansTag(@Valid @RequestBody WxAccountFansTagCreateReqVO createReqVO) { | ||
| 45 | + return success(wxAccountFansTagService.createWxAccountFansTag(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新粉丝标签关联") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxAccountFansTag(@Valid @RequestBody WxAccountFansTagUpdateReqVO updateReqVO) { | ||
| 52 | + wxAccountFansTagService.updateWxAccountFansTag(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除粉丝标签关联") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxAccountFansTag(@RequestParam("id") Integer id) { | ||
| 61 | + wxAccountFansTagService.deleteWxAccountFansTag(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得粉丝标签关联") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") | ||
| 69 | + public CommonResult<WxAccountFansTagRespVO> getWxAccountFansTag(@RequestParam("id") Integer id) { | ||
| 70 | + WxAccountFansTagDO wxAccountFansTag = wxAccountFansTagService.getWxAccountFansTag(id); | ||
| 71 | + return success(WxAccountFansTagConvert.INSTANCE.convert(wxAccountFansTag)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得粉丝标签关联列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") | ||
| 78 | + public CommonResult<List<WxAccountFansTagRespVO>> getWxAccountFansTagList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxAccountFansTagDO> list = wxAccountFansTagService.getWxAccountFansTagList(ids); | ||
| 80 | + return success(WxAccountFansTagConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得粉丝标签关联分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:query')") | ||
| 86 | + public CommonResult<PageResult<WxAccountFansTagRespVO>> getWxAccountFansTagPage(@Valid WxAccountFansTagPageReqVO pageVO) { | ||
| 87 | + PageResult<WxAccountFansTagDO> pageResult = wxAccountFansTagService.getWxAccountFansTagPage(pageVO); | ||
| 88 | + return success(WxAccountFansTagConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出粉丝标签关联 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans-tag:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxAccountFansTagExcel(@Valid WxAccountFansTagExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxAccountFansTagDO> list = wxAccountFansTagService.getWxAccountFansTagList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxAccountFansTagExcelVO> datas = WxAccountFansTagConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "粉丝标签关联.xls", "数据", WxAccountFansTagExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 粉丝标签关联 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxAccountFansTagBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "用户标识") | ||
| 14 | + private String openid; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "标签ID") | ||
| 17 | + private String tagId; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "微信账号ID") | ||
| 20 | + private String wxAccountId; | ||
| 21 | + | ||
| 22 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 粉丝标签关联创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxAccountFansTagCreateReqVO extends WxAccountFansTagBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 粉丝标签关联 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxAccountFansTagExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("用户标识") | ||
| 21 | + private String openid; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("标签ID") | ||
| 24 | + private String tagId; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("微信账号ID") | ||
| 27 | + private String wxAccountId; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("创建时间") | ||
| 30 | + private Date createTime; | ||
| 31 | + | ||
| 32 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 粉丝标签关联 Excel 导出 Request VO", description = "参数和 WxAccountFansTagPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxAccountFansTagExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "用户标识") | ||
| 17 | + private String openid; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "标签ID") | ||
| 20 | + private String tagId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "微信账号ID") | ||
| 23 | + private String wxAccountId; | ||
| 24 | + | ||
| 25 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 26 | + @ApiModelProperty(value = "开始创建时间") | ||
| 27 | + private Date beginCreateTime; | ||
| 28 | + | ||
| 29 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 30 | + @ApiModelProperty(value = "结束创建时间") | ||
| 31 | + private Date endCreateTime; | ||
| 32 | + | ||
| 33 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 粉丝标签关联分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxAccountFansTagPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "用户标识") | ||
| 20 | + private String openid; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "标签ID") | ||
| 23 | + private String tagId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 29 | + @ApiModelProperty(value = "开始创建时间") | ||
| 30 | + private Date beginCreateTime; | ||
| 31 | + | ||
| 32 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 33 | + @ApiModelProperty(value = "结束创建时间") | ||
| 34 | + private Date endCreateTime; | ||
| 35 | + | ||
| 36 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 粉丝标签关联 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxAccountFansTagRespVO extends WxAccountFansTagBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfanstag/vo/WxAccountFansTagUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.accountfanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 粉丝标签关联更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxAccountFansTagUpdateReqVO extends WxAccountFansTagBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 粉丝消息表 ") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-fans-msg") | ||
| 35 | +@Validated | ||
| 36 | +public class WxFansMsgController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxFansMsgService wxFansMsgService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建粉丝消息表 ") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:create')") | ||
| 44 | + public CommonResult<Integer> createWxFansMsg(@Valid @RequestBody WxFansMsgCreateReqVO createReqVO) { | ||
| 45 | + return success(wxFansMsgService.createWxFansMsg(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新粉丝消息表 ") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxFansMsg(@Valid @RequestBody WxFansMsgUpdateReqVO updateReqVO) { | ||
| 52 | + wxFansMsgService.updateWxFansMsg(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除粉丝消息表 ") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxFansMsg(@RequestParam("id") Integer id) { | ||
| 61 | + wxFansMsgService.deleteWxFansMsg(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得粉丝消息表 ") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") | ||
| 69 | + public CommonResult<WxFansMsgRespVO> getWxFansMsg(@RequestParam("id") Integer id) { | ||
| 70 | + WxFansMsgDO wxFansMsg = wxFansMsgService.getWxFansMsg(id); | ||
| 71 | + return success(WxFansMsgConvert.INSTANCE.convert(wxFansMsg)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得粉丝消息表 列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") | ||
| 78 | + public CommonResult<List<WxFansMsgRespVO>> getWxFansMsgList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxFansMsgDO> list = wxFansMsgService.getWxFansMsgList(ids); | ||
| 80 | + return success(WxFansMsgConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得粉丝消息表 分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") | ||
| 86 | + public CommonResult<PageResult<WxFansMsgRespVO>> getWxFansMsgPage(@Valid WxFansMsgPageReqVO pageVO) { | ||
| 87 | + PageResult<WxFansMsgDO> pageResult = wxFansMsgService.getWxFansMsgPage(pageVO); | ||
| 88 | + return success(WxFansMsgConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出粉丝消息表 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxFansMsgExcel(@Valid WxFansMsgExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxFansMsgDO> list = wxFansMsgService.getWxFansMsgList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxFansMsgExcelVO> datas = WxFansMsgConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "粉丝消息表 .xls", "数据", WxFansMsgExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 粉丝消息表 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxFansMsgBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "用户标识") | ||
| 14 | + private String openid; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "昵称") | ||
| 17 | + private byte[] nickname; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "头像地址") | ||
| 20 | + private String headimgUrl; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "微信账号ID") | ||
| 23 | + private String wxAccountId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "消息类型") | ||
| 26 | + private String msgType; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "内容") | ||
| 29 | + private String content; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "最近一条回复内容") | ||
| 32 | + private String resContent; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "是否已回复") | ||
| 35 | + private String isRes; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "微信素材ID") | ||
| 38 | + private String mediaId; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "微信图片URL") | ||
| 41 | + private String picUrl; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "本地图片路径") | ||
| 44 | + private String picPath; | ||
| 45 | + | ||
| 46 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 粉丝消息表 创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxFansMsgCreateReqVO extends WxFansMsgBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 粉丝消息表 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxFansMsgExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("用户标识") | ||
| 21 | + private String openid; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("昵称") | ||
| 24 | + private byte[] nickname; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("头像地址") | ||
| 27 | + private String headimgUrl; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("微信账号ID") | ||
| 30 | + private String wxAccountId; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("消息类型") | ||
| 33 | + private String msgType; | ||
| 34 | + | ||
| 35 | + @ExcelProperty("内容") | ||
| 36 | + private String content; | ||
| 37 | + | ||
| 38 | + @ExcelProperty("最近一条回复内容") | ||
| 39 | + private String resContent; | ||
| 40 | + | ||
| 41 | + @ExcelProperty("是否已回复") | ||
| 42 | + private String isRes; | ||
| 43 | + | ||
| 44 | + @ExcelProperty("微信素材ID") | ||
| 45 | + private String mediaId; | ||
| 46 | + | ||
| 47 | + @ExcelProperty("微信图片URL") | ||
| 48 | + private String picUrl; | ||
| 49 | + | ||
| 50 | + @ExcelProperty("本地图片路径") | ||
| 51 | + private String picPath; | ||
| 52 | + | ||
| 53 | + @ExcelProperty("创建时间") | ||
| 54 | + private Date createTime; | ||
| 55 | + | ||
| 56 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 粉丝消息表 Excel 导出 Request VO", description = "参数和 WxFansMsgPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxFansMsgExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "用户标识") | ||
| 17 | + private String openid; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "昵称") | ||
| 20 | + private String nickname; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "头像地址") | ||
| 23 | + private String headimgUrl; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "消息类型") | ||
| 29 | + private String msgType; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "内容") | ||
| 32 | + private String content; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "最近一条回复内容") | ||
| 35 | + private String resContent; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "是否已回复") | ||
| 38 | + private String isRes; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "微信素材ID") | ||
| 41 | + private String mediaId; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "微信图片URL") | ||
| 44 | + private String picUrl; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "本地图片路径") | ||
| 47 | + private String picPath; | ||
| 48 | + | ||
| 49 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 50 | + @ApiModelProperty(value = "开始创建时间") | ||
| 51 | + private Date beginCreateTime; | ||
| 52 | + | ||
| 53 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 54 | + @ApiModelProperty(value = "结束创建时间") | ||
| 55 | + private Date endCreateTime; | ||
| 56 | + | ||
| 57 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 粉丝消息表 分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxFansMsgPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "用户标识") | ||
| 20 | + private String openid; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "昵称") | ||
| 23 | + private String nickname; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "头像地址") | ||
| 26 | + private String headimgUrl; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "微信账号ID") | ||
| 29 | + private String wxAccountId; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "消息类型") | ||
| 32 | + private String msgType; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "内容") | ||
| 35 | + private String content; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "最近一条回复内容") | ||
| 38 | + private String resContent; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "是否已回复") | ||
| 41 | + private String isRes; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "微信素材ID") | ||
| 44 | + private String mediaId; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "微信图片URL") | ||
| 47 | + private String picUrl; | ||
| 48 | + | ||
| 49 | + @ApiModelProperty(value = "本地图片路径") | ||
| 50 | + private String picPath; | ||
| 51 | + | ||
| 52 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 53 | + @ApiModelProperty(value = "开始创建时间") | ||
| 54 | + private Date beginCreateTime; | ||
| 55 | + | ||
| 56 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 57 | + @ApiModelProperty(value = "结束创建时间") | ||
| 58 | + private Date endCreateTime; | ||
| 59 | + | ||
| 60 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 粉丝消息表 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxFansMsgRespVO extends WxFansMsgBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 粉丝消息表 更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxFansMsgUpdateReqVO extends WxFansMsgBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.fansmsgres.WxFansMsgResService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 回复粉丝消息历史表 ") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-fans-msg-res") | ||
| 35 | +@Validated | ||
| 36 | +public class WxFansMsgResController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxFansMsgResService wxFansMsgResService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建回复粉丝消息历史表 ") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:create')") | ||
| 44 | + public CommonResult<Integer> createWxFansMsgRes(@Valid @RequestBody WxFansMsgResCreateReqVO createReqVO) { | ||
| 45 | + return success(wxFansMsgResService.createWxFansMsgRes(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新回复粉丝消息历史表 ") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxFansMsgRes(@Valid @RequestBody WxFansMsgResUpdateReqVO updateReqVO) { | ||
| 52 | + wxFansMsgResService.updateWxFansMsgRes(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除回复粉丝消息历史表 ") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxFansMsgRes(@RequestParam("id") Integer id) { | ||
| 61 | + wxFansMsgResService.deleteWxFansMsgRes(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得回复粉丝消息历史表 ") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") | ||
| 69 | + public CommonResult<WxFansMsgResRespVO> getWxFansMsgRes(@RequestParam("id") Integer id) { | ||
| 70 | + WxFansMsgResDO wxFansMsgRes = wxFansMsgResService.getWxFansMsgRes(id); | ||
| 71 | + return success(WxFansMsgResConvert.INSTANCE.convert(wxFansMsgRes)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得回复粉丝消息历史表 列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") | ||
| 78 | + public CommonResult<List<WxFansMsgResRespVO>> getWxFansMsgResList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxFansMsgResDO> list = wxFansMsgResService.getWxFansMsgResList(ids); | ||
| 80 | + return success(WxFansMsgResConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得回复粉丝消息历史表 分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") | ||
| 86 | + public CommonResult<PageResult<WxFansMsgResRespVO>> getWxFansMsgResPage(@Valid WxFansMsgResPageReqVO pageVO) { | ||
| 87 | + PageResult<WxFansMsgResDO> pageResult = wxFansMsgResService.getWxFansMsgResPage(pageVO); | ||
| 88 | + return success(WxFansMsgResConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出回复粉丝消息历史表 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxFansMsgResExcel(@Valid WxFansMsgResExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxFansMsgResDO> list = wxFansMsgResService.getWxFansMsgResList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxFansMsgResExcelVO> datas = WxFansMsgResConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "回复粉丝消息历史表 .xls", "数据", WxFansMsgResExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 回复粉丝消息历史表 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxFansMsgResBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "粉丝消息ID") | ||
| 14 | + private String fansMsgId; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "回复内容") | ||
| 17 | + private String resContent; | ||
| 18 | + | ||
| 19 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 回复粉丝消息历史表 创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxFansMsgResCreateReqVO extends WxFansMsgResBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 回复粉丝消息历史表 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxFansMsgResExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("粉丝消息ID") | ||
| 21 | + private String fansMsgId; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("回复内容") | ||
| 24 | + private String resContent; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("创建时间") | ||
| 27 | + private Date createTime; | ||
| 28 | + | ||
| 29 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 回复粉丝消息历史表 Excel 导出 Request VO", description = "参数和 WxFansMsgResPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxFansMsgResExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "粉丝消息ID") | ||
| 17 | + private String fansMsgId; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "回复内容") | ||
| 20 | + private String resContent; | ||
| 21 | + | ||
| 22 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 23 | + @ApiModelProperty(value = "开始创建时间") | ||
| 24 | + private Date beginCreateTime; | ||
| 25 | + | ||
| 26 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 27 | + @ApiModelProperty(value = "结束创建时间") | ||
| 28 | + private Date endCreateTime; | ||
| 29 | + | ||
| 30 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 回复粉丝消息历史表 分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxFansMsgResPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "粉丝消息ID") | ||
| 20 | + private String fansMsgId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "回复内容") | ||
| 23 | + private String resContent; | ||
| 24 | + | ||
| 25 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 26 | + @ApiModelProperty(value = "开始创建时间") | ||
| 27 | + private Date beginCreateTime; | ||
| 28 | + | ||
| 29 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 30 | + @ApiModelProperty(value = "结束创建时间") | ||
| 31 | + private Date endCreateTime; | ||
| 32 | + | ||
| 33 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 回复粉丝消息历史表 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxFansMsgResRespVO extends WxFansMsgResBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 回复粉丝消息历史表 更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxFansMsgResUpdateReqVO extends WxFansMsgResBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/WxFansTagController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.fanstag.WxFansTagDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.fanstag.WxFansTagConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.fanstag.WxFansTagService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 粉丝标签") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-fans-tag") | ||
| 35 | +@Validated | ||
| 36 | +public class WxFansTagController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxFansTagService wxFansTagService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建粉丝标签") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:create')") | ||
| 44 | + public CommonResult<Integer> createWxFansTag(@Valid @RequestBody WxFansTagCreateReqVO createReqVO) { | ||
| 45 | + return success(wxFansTagService.createWxFansTag(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新粉丝标签") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxFansTag(@Valid @RequestBody WxFansTagUpdateReqVO updateReqVO) { | ||
| 52 | + wxFansTagService.updateWxFansTag(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除粉丝标签") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxFansTag(@RequestParam("id") Integer id) { | ||
| 61 | + wxFansTagService.deleteWxFansTag(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得粉丝标签") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:query')") | ||
| 69 | + public CommonResult<WxFansTagRespVO> getWxFansTag(@RequestParam("id") Integer id) { | ||
| 70 | + WxFansTagDO wxFansTag = wxFansTagService.getWxFansTag(id); | ||
| 71 | + return success(WxFansTagConvert.INSTANCE.convert(wxFansTag)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得粉丝标签列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:query')") | ||
| 78 | + public CommonResult<List<WxFansTagRespVO>> getWxFansTagList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxFansTagDO> list = wxFansTagService.getWxFansTagList(ids); | ||
| 80 | + return success(WxFansTagConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得粉丝标签分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:query')") | ||
| 86 | + public CommonResult<PageResult<WxFansTagRespVO>> getWxFansTagPage(@Valid WxFansTagPageReqVO pageVO) { | ||
| 87 | + PageResult<WxFansTagDO> pageResult = wxFansTagService.getWxFansTagPage(pageVO); | ||
| 88 | + return success(WxFansTagConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出粉丝标签 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxFansTagExcel(@Valid WxFansTagExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxFansTagDO> list = wxFansTagService.getWxFansTagList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxFansTagExcelVO> datas = WxFansTagConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "粉丝标签.xls", "数据", WxFansTagExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 粉丝标签 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxFansTagBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "标签名称") | ||
| 14 | + private String name; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "粉丝数量") | ||
| 17 | + private Integer count; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "微信账号ID") | ||
| 20 | + private String wxAccountId; | ||
| 21 | + | ||
| 22 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 粉丝标签创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxFansTagCreateReqVO extends WxFansTagBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 粉丝标签 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxFansTagExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("标签名称") | ||
| 21 | + private String name; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("粉丝数量") | ||
| 24 | + private Integer count; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("微信账号ID") | ||
| 27 | + private String wxAccountId; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("创建时间") | ||
| 30 | + private Date createTime; | ||
| 31 | + | ||
| 32 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 粉丝标签 Excel 导出 Request VO", description = "参数和 WxFansTagPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxFansTagExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "标签名称") | ||
| 17 | + private String name; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "粉丝数量") | ||
| 20 | + private Integer count; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "微信账号ID") | ||
| 23 | + private String wxAccountId; | ||
| 24 | + | ||
| 25 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 26 | + @ApiModelProperty(value = "开始创建时间") | ||
| 27 | + private Date beginCreateTime; | ||
| 28 | + | ||
| 29 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 30 | + @ApiModelProperty(value = "结束创建时间") | ||
| 31 | + private Date endCreateTime; | ||
| 32 | + | ||
| 33 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 粉丝标签分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxFansTagPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "标签名称") | ||
| 20 | + private String name; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "粉丝数量") | ||
| 23 | + private Integer count; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 29 | + @ApiModelProperty(value = "开始创建时间") | ||
| 30 | + private Date beginCreateTime; | ||
| 31 | + | ||
| 32 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 33 | + @ApiModelProperty(value = "结束创建时间") | ||
| 34 | + private Date endCreateTime; | ||
| 35 | + | ||
| 36 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 粉丝标签 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxFansTagRespVO extends WxFansTagBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fanstag/vo/WxFansTagUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 粉丝标签更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxFansTagUpdateReqVO extends WxFansTagBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/WxMediaUploadController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.mediaupload.WxMediaUploadDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.mediaupload.WxMediaUploadConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.mediaupload.WxMediaUploadService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 微信素材上传表 ") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-media-upload") | ||
| 35 | +@Validated | ||
| 36 | +public class WxMediaUploadController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxMediaUploadService wxMediaUploadService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建微信素材上传表 ") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:create')") | ||
| 44 | + public CommonResult<Integer> createWxMediaUpload(@Valid @RequestBody WxMediaUploadCreateReqVO createReqVO) { | ||
| 45 | + return success(wxMediaUploadService.createWxMediaUpload(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新微信素材上传表 ") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxMediaUpload(@Valid @RequestBody WxMediaUploadUpdateReqVO updateReqVO) { | ||
| 52 | + wxMediaUploadService.updateWxMediaUpload(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除微信素材上传表 ") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxMediaUpload(@RequestParam("id") Integer id) { | ||
| 61 | + wxMediaUploadService.deleteWxMediaUpload(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得微信素材上传表 ") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") | ||
| 69 | + public CommonResult<WxMediaUploadRespVO> getWxMediaUpload(@RequestParam("id") Integer id) { | ||
| 70 | + WxMediaUploadDO wxMediaUpload = wxMediaUploadService.getWxMediaUpload(id); | ||
| 71 | + return success(WxMediaUploadConvert.INSTANCE.convert(wxMediaUpload)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得微信素材上传表 列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") | ||
| 78 | + public CommonResult<List<WxMediaUploadRespVO>> getWxMediaUploadList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxMediaUploadDO> list = wxMediaUploadService.getWxMediaUploadList(ids); | ||
| 80 | + return success(WxMediaUploadConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得微信素材上传表 分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:query')") | ||
| 86 | + public CommonResult<PageResult<WxMediaUploadRespVO>> getWxMediaUploadPage(@Valid WxMediaUploadPageReqVO pageVO) { | ||
| 87 | + PageResult<WxMediaUploadDO> pageResult = wxMediaUploadService.getWxMediaUploadPage(pageVO); | ||
| 88 | + return success(WxMediaUploadConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出微信素材上传表 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-media-upload:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxMediaUploadExcel(@Valid WxMediaUploadExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxMediaUploadDO> list = wxMediaUploadService.getWxMediaUploadList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxMediaUploadExcelVO> datas = WxMediaUploadConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "微信素材上传表 .xls", "数据", WxMediaUploadExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 微信素材上传表 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxMediaUploadBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "类型") | ||
| 14 | + private String type; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "图片URL") | ||
| 17 | + private String url; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "素材ID") | ||
| 20 | + private String mediaId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "缩略图素材ID") | ||
| 23 | + private String thumbMediaId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 微信素材上传表 创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxMediaUploadCreateReqVO extends WxMediaUploadBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 微信素材上传表 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxMediaUploadExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("类型") | ||
| 21 | + private String type; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("图片URL") | ||
| 24 | + private String url; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("素材ID") | ||
| 27 | + private String mediaId; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("缩略图素材ID") | ||
| 30 | + private String thumbMediaId; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("微信账号ID") | ||
| 33 | + private String wxAccountId; | ||
| 34 | + | ||
| 35 | + @ExcelProperty("创建时间") | ||
| 36 | + private Date createTime; | ||
| 37 | + | ||
| 38 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 微信素材上传表 Excel 导出 Request VO", description = "参数和 WxMediaUploadPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxMediaUploadExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "类型") | ||
| 17 | + private String type; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "图片URL") | ||
| 20 | + private String url; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "素材ID") | ||
| 23 | + private String mediaId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "缩略图素材ID") | ||
| 26 | + private String thumbMediaId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "微信账号ID") | ||
| 29 | + private String wxAccountId; | ||
| 30 | + | ||
| 31 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 32 | + @ApiModelProperty(value = "开始创建时间") | ||
| 33 | + private Date beginCreateTime; | ||
| 34 | + | ||
| 35 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 36 | + @ApiModelProperty(value = "结束创建时间") | ||
| 37 | + private Date endCreateTime; | ||
| 38 | + | ||
| 39 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 微信素材上传表 分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxMediaUploadPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "类型") | ||
| 20 | + private String type; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "图片URL") | ||
| 23 | + private String url; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "素材ID") | ||
| 26 | + private String mediaId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "缩略图素材ID") | ||
| 29 | + private String thumbMediaId; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "微信账号ID") | ||
| 32 | + private String wxAccountId; | ||
| 33 | + | ||
| 34 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 35 | + @ApiModelProperty(value = "开始创建时间") | ||
| 36 | + private Date beginCreateTime; | ||
| 37 | + | ||
| 38 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 39 | + @ApiModelProperty(value = "结束创建时间") | ||
| 40 | + private Date endCreateTime; | ||
| 41 | + | ||
| 42 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 微信素材上传表 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxMediaUploadRespVO extends WxMediaUploadBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/mediaupload/vo/WxMediaUploadUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.mediaupload.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 微信素材上传表 更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxMediaUploadUpdateReqVO extends WxMediaUploadBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/WxMenuController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.menu.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.menu.WxMenuDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.menu.WxMenuConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.menu.WxMenuService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 微信菜单") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-menu") | ||
| 35 | +@Validated | ||
| 36 | +public class WxMenuController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxMenuService wxMenuService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建微信菜单") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:create')") | ||
| 44 | + public CommonResult<Integer> createWxMenu(@Valid @RequestBody WxMenuCreateReqVO createReqVO) { | ||
| 45 | + return success(wxMenuService.createWxMenu(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新微信菜单") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxMenu(@Valid @RequestBody WxMenuUpdateReqVO updateReqVO) { | ||
| 52 | + wxMenuService.updateWxMenu(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除微信菜单") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxMenu(@RequestParam("id") Integer id) { | ||
| 61 | + wxMenuService.deleteWxMenu(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得微信菜单") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") | ||
| 69 | + public CommonResult<WxMenuRespVO> getWxMenu(@RequestParam("id") Integer id) { | ||
| 70 | + WxMenuDO wxMenu = wxMenuService.getWxMenu(id); | ||
| 71 | + return success(WxMenuConvert.INSTANCE.convert(wxMenu)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得微信菜单列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") | ||
| 78 | + public CommonResult<List<WxMenuRespVO>> getWxMenuList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxMenuDO> list = wxMenuService.getWxMenuList(ids); | ||
| 80 | + return success(WxMenuConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得微信菜单分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:query')") | ||
| 86 | + public CommonResult<PageResult<WxMenuRespVO>> getWxMenuPage(@Valid WxMenuPageReqVO pageVO) { | ||
| 87 | + PageResult<WxMenuDO> pageResult = wxMenuService.getWxMenuPage(pageVO); | ||
| 88 | + return success(WxMenuConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出微信菜单 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-menu:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxMenuExcel(@Valid WxMenuExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxMenuDO> list = wxMenuService.getWxMenuList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxMenuExcelVO> datas = WxMenuConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "微信菜单.xls", "数据", WxMenuExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 微信菜单 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxMenuBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "父ID") | ||
| 14 | + private String parentId; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "菜单名称") | ||
| 17 | + private String menuName; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") | ||
| 20 | + private String menuType; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "菜单等级") | ||
| 23 | + private String menuLevel; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "模板ID") | ||
| 26 | + private String tplId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "菜单URL") | ||
| 29 | + private String menuUrl; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "排序") | ||
| 32 | + private String menuSort; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "微信账号ID") | ||
| 35 | + private String wxAccountId; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "小程序appid") | ||
| 38 | + private String miniprogramAppid; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "小程序页面路径") | ||
| 41 | + private String miniprogramPagepath; | ||
| 42 | + | ||
| 43 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 微信菜单创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxMenuCreateReqVO extends WxMenuBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 微信菜单 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxMenuExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("父ID") | ||
| 21 | + private String parentId; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("菜单名称") | ||
| 24 | + private String menuName; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("菜单类型 1文本消息;2图文消息;3网址链接;4小程序") | ||
| 27 | + private String menuType; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("菜单等级") | ||
| 30 | + private String menuLevel; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("模板ID") | ||
| 33 | + private String tplId; | ||
| 34 | + | ||
| 35 | + @ExcelProperty("菜单URL") | ||
| 36 | + private String menuUrl; | ||
| 37 | + | ||
| 38 | + @ExcelProperty("排序") | ||
| 39 | + private String menuSort; | ||
| 40 | + | ||
| 41 | + @ExcelProperty("微信账号ID") | ||
| 42 | + private String wxAccountId; | ||
| 43 | + | ||
| 44 | + @ExcelProperty("小程序appid") | ||
| 45 | + private String miniprogramAppid; | ||
| 46 | + | ||
| 47 | + @ExcelProperty("小程序页面路径") | ||
| 48 | + private String miniprogramPagepath; | ||
| 49 | + | ||
| 50 | + @ExcelProperty("创建时间") | ||
| 51 | + private Date createTime; | ||
| 52 | + | ||
| 53 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 微信菜单 Excel 导出 Request VO", description = "参数和 WxMenuPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxMenuExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "父ID") | ||
| 17 | + private String parentId; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "菜单名称") | ||
| 20 | + private String menuName; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") | ||
| 23 | + private String menuType; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "菜单等级") | ||
| 26 | + private String menuLevel; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "模板ID") | ||
| 29 | + private String tplId; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "菜单URL") | ||
| 32 | + private String menuUrl; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "排序") | ||
| 35 | + private String menuSort; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "微信账号ID") | ||
| 38 | + private String wxAccountId; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "小程序appid") | ||
| 41 | + private String miniprogramAppid; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "小程序页面路径") | ||
| 44 | + private String miniprogramPagepath; | ||
| 45 | + | ||
| 46 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 47 | + @ApiModelProperty(value = "开始创建时间") | ||
| 48 | + private Date beginCreateTime; | ||
| 49 | + | ||
| 50 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 51 | + @ApiModelProperty(value = "结束创建时间") | ||
| 52 | + private Date endCreateTime; | ||
| 53 | + | ||
| 54 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 微信菜单分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxMenuPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "父ID") | ||
| 20 | + private String parentId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "菜单名称") | ||
| 23 | + private String menuName; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "菜单类型 1文本消息;2图文消息;3网址链接;4小程序") | ||
| 26 | + private String menuType; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "菜单等级") | ||
| 29 | + private String menuLevel; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "模板ID") | ||
| 32 | + private String tplId; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "菜单URL") | ||
| 35 | + private String menuUrl; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "排序") | ||
| 38 | + private String menuSort; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "微信账号ID") | ||
| 41 | + private String wxAccountId; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "小程序appid") | ||
| 44 | + private String miniprogramAppid; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "小程序页面路径") | ||
| 47 | + private String miniprogramPagepath; | ||
| 48 | + | ||
| 49 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 50 | + @ApiModelProperty(value = "开始创建时间") | ||
| 51 | + private Date beginCreateTime; | ||
| 52 | + | ||
| 53 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 54 | + @ApiModelProperty(value = "结束创建时间") | ||
| 55 | + private Date endCreateTime; | ||
| 56 | + | ||
| 57 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 微信菜单 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxMenuRespVO extends WxMenuBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/WxMenuUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.menu.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 微信菜单更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxMenuUpdateReqVO extends WxMenuBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.newsarticleitem.WxNewsArticleItemService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 图文消息文章列表表 ") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-news-article-item") | ||
| 35 | +@Validated | ||
| 36 | +public class WxNewsArticleItemController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxNewsArticleItemService wxNewsArticleItemService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建图文消息文章列表表 ") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:create')") | ||
| 44 | + public CommonResult<Integer> createWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemCreateReqVO createReqVO) { | ||
| 45 | + return success(wxNewsArticleItemService.createWxNewsArticleItem(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新图文消息文章列表表 ") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemUpdateReqVO updateReqVO) { | ||
| 52 | + wxNewsArticleItemService.updateWxNewsArticleItem(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除图文消息文章列表表 ") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxNewsArticleItem(@RequestParam("id") Integer id) { | ||
| 61 | + wxNewsArticleItemService.deleteWxNewsArticleItem(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得图文消息文章列表表 ") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") | ||
| 69 | + public CommonResult<WxNewsArticleItemRespVO> getWxNewsArticleItem(@RequestParam("id") Integer id) { | ||
| 70 | + WxNewsArticleItemDO wxNewsArticleItem = wxNewsArticleItemService.getWxNewsArticleItem(id); | ||
| 71 | + return success(WxNewsArticleItemConvert.INSTANCE.convert(wxNewsArticleItem)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得图文消息文章列表表 列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") | ||
| 78 | + public CommonResult<List<WxNewsArticleItemRespVO>> getWxNewsArticleItemList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxNewsArticleItemDO> list = wxNewsArticleItemService.getWxNewsArticleItemList(ids); | ||
| 80 | + return success(WxNewsArticleItemConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得图文消息文章列表表 分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") | ||
| 86 | + public CommonResult<PageResult<WxNewsArticleItemRespVO>> getWxNewsArticleItemPage(@Valid WxNewsArticleItemPageReqVO pageVO) { | ||
| 87 | + PageResult<WxNewsArticleItemDO> pageResult = wxNewsArticleItemService.getWxNewsArticleItemPage(pageVO); | ||
| 88 | + return success(WxNewsArticleItemConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出图文消息文章列表表 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxNewsArticleItemExcel(@Valid WxNewsArticleItemExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxNewsArticleItemDO> list = wxNewsArticleItemService.getWxNewsArticleItemList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxNewsArticleItemExcelVO> datas = WxNewsArticleItemConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "图文消息文章列表表 .xls", "数据", WxNewsArticleItemExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 图文消息文章列表表 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxNewsArticleItemBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "标题") | ||
| 14 | + private String title; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "摘要") | ||
| 17 | + private String digest; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "作者") | ||
| 20 | + private String author; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "是否展示封面图片(0/1)") | ||
| 23 | + private String showCoverPic; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "上传微信,封面图片标识") | ||
| 26 | + private String thumbMediaId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "内容") | ||
| 29 | + private String content; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "内容链接") | ||
| 32 | + private String contentSourceUrl; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "文章排序") | ||
| 35 | + private Integer orderNo; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "图片路径") | ||
| 38 | + private String picPath; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "是否可以留言") | ||
| 41 | + private String needOpenComment; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "是否仅粉丝可以留言") | ||
| 44 | + private String onlyFansCanComment; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "图文ID") | ||
| 47 | + private String newsId; | ||
| 48 | + | ||
| 49 | + @ApiModelProperty(value = "微信账号ID") | ||
| 50 | + private String wxAccountId; | ||
| 51 | + | ||
| 52 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 图文消息文章列表表 创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxNewsArticleItemCreateReqVO extends WxNewsArticleItemBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 图文消息文章列表表 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxNewsArticleItemExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("标题") | ||
| 21 | + private String title; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("摘要") | ||
| 24 | + private String digest; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("作者") | ||
| 27 | + private String author; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("是否展示封面图片(0/1)") | ||
| 30 | + private String showCoverPic; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("上传微信,封面图片标识") | ||
| 33 | + private String thumbMediaId; | ||
| 34 | + | ||
| 35 | + @ExcelProperty("内容") | ||
| 36 | + private String content; | ||
| 37 | + | ||
| 38 | + @ExcelProperty("内容链接") | ||
| 39 | + private String contentSourceUrl; | ||
| 40 | + | ||
| 41 | + @ExcelProperty("文章排序") | ||
| 42 | + private Integer orderNo; | ||
| 43 | + | ||
| 44 | + @ExcelProperty("图片路径") | ||
| 45 | + private String picPath; | ||
| 46 | + | ||
| 47 | + @ExcelProperty("是否可以留言") | ||
| 48 | + private String needOpenComment; | ||
| 49 | + | ||
| 50 | + @ExcelProperty("是否仅粉丝可以留言") | ||
| 51 | + private String onlyFansCanComment; | ||
| 52 | + | ||
| 53 | + @ExcelProperty("图文ID") | ||
| 54 | + private String newsId; | ||
| 55 | + | ||
| 56 | + @ExcelProperty("微信账号ID") | ||
| 57 | + private String wxAccountId; | ||
| 58 | + | ||
| 59 | + @ExcelProperty("创建时间") | ||
| 60 | + private Date createTime; | ||
| 61 | + | ||
| 62 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 图文消息文章列表表 Excel 导出 Request VO", description = "参数和 WxNewsArticleItemPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxNewsArticleItemExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "标题") | ||
| 17 | + private String title; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "摘要") | ||
| 20 | + private String digest; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "作者") | ||
| 23 | + private String author; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "是否展示封面图片(0/1)") | ||
| 26 | + private String showCoverPic; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "上传微信,封面图片标识") | ||
| 29 | + private String thumbMediaId; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "内容") | ||
| 32 | + private String content; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "内容链接") | ||
| 35 | + private String contentSourceUrl; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "文章排序") | ||
| 38 | + private Integer orderNo; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "图片路径") | ||
| 41 | + private String picPath; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "是否可以留言") | ||
| 44 | + private String needOpenComment; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "是否仅粉丝可以留言") | ||
| 47 | + private String onlyFansCanComment; | ||
| 48 | + | ||
| 49 | + @ApiModelProperty(value = "图文ID") | ||
| 50 | + private String newsId; | ||
| 51 | + | ||
| 52 | + @ApiModelProperty(value = "微信账号ID") | ||
| 53 | + private String wxAccountId; | ||
| 54 | + | ||
| 55 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 56 | + @ApiModelProperty(value = "开始创建时间") | ||
| 57 | + private Date beginCreateTime; | ||
| 58 | + | ||
| 59 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 60 | + @ApiModelProperty(value = "结束创建时间") | ||
| 61 | + private Date endCreateTime; | ||
| 62 | + | ||
| 63 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 图文消息文章列表表 分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxNewsArticleItemPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "标题") | ||
| 20 | + private String title; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "摘要") | ||
| 23 | + private String digest; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "作者") | ||
| 26 | + private String author; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "是否展示封面图片(0/1)") | ||
| 29 | + private String showCoverPic; | ||
| 30 | + | ||
| 31 | + @ApiModelProperty(value = "上传微信,封面图片标识") | ||
| 32 | + private String thumbMediaId; | ||
| 33 | + | ||
| 34 | + @ApiModelProperty(value = "内容") | ||
| 35 | + private String content; | ||
| 36 | + | ||
| 37 | + @ApiModelProperty(value = "内容链接") | ||
| 38 | + private String contentSourceUrl; | ||
| 39 | + | ||
| 40 | + @ApiModelProperty(value = "文章排序") | ||
| 41 | + private Integer orderNo; | ||
| 42 | + | ||
| 43 | + @ApiModelProperty(value = "图片路径") | ||
| 44 | + private String picPath; | ||
| 45 | + | ||
| 46 | + @ApiModelProperty(value = "是否可以留言") | ||
| 47 | + private String needOpenComment; | ||
| 48 | + | ||
| 49 | + @ApiModelProperty(value = "是否仅粉丝可以留言") | ||
| 50 | + private String onlyFansCanComment; | ||
| 51 | + | ||
| 52 | + @ApiModelProperty(value = "图文ID") | ||
| 53 | + private String newsId; | ||
| 54 | + | ||
| 55 | + @ApiModelProperty(value = "微信账号ID") | ||
| 56 | + private String wxAccountId; | ||
| 57 | + | ||
| 58 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 59 | + @ApiModelProperty(value = "开始创建时间") | ||
| 60 | + private Date beginCreateTime; | ||
| 61 | + | ||
| 62 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 63 | + @ApiModelProperty(value = "结束创建时间") | ||
| 64 | + private Date endCreateTime; | ||
| 65 | + | ||
| 66 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 图文消息文章列表表 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxNewsArticleItemRespVO extends WxNewsArticleItemBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 图文消息文章列表表 更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxNewsArticleItemUpdateReqVO extends WxNewsArticleItemBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.newstemplate.WxNewsTemplateService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 图文消息模板") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-news-template") | ||
| 35 | +@Validated | ||
| 36 | +public class WxNewsTemplateController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxNewsTemplateService wxNewsTemplateService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建图文消息模板") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:create')") | ||
| 44 | + public CommonResult<Integer> createWxNewsTemplate(@Valid @RequestBody WxNewsTemplateCreateReqVO createReqVO) { | ||
| 45 | + return success(wxNewsTemplateService.createWxNewsTemplate(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新图文消息模板") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxNewsTemplate(@Valid @RequestBody WxNewsTemplateUpdateReqVO updateReqVO) { | ||
| 52 | + wxNewsTemplateService.updateWxNewsTemplate(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除图文消息模板") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxNewsTemplate(@RequestParam("id") Integer id) { | ||
| 61 | + wxNewsTemplateService.deleteWxNewsTemplate(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得图文消息模板") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") | ||
| 69 | + public CommonResult<WxNewsTemplateRespVO> getWxNewsTemplate(@RequestParam("id") Integer id) { | ||
| 70 | + WxNewsTemplateDO wxNewsTemplate = wxNewsTemplateService.getWxNewsTemplate(id); | ||
| 71 | + return success(WxNewsTemplateConvert.INSTANCE.convert(wxNewsTemplate)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得图文消息模板列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") | ||
| 78 | + public CommonResult<List<WxNewsTemplateRespVO>> getWxNewsTemplateList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxNewsTemplateDO> list = wxNewsTemplateService.getWxNewsTemplateList(ids); | ||
| 80 | + return success(WxNewsTemplateConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得图文消息模板分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") | ||
| 86 | + public CommonResult<PageResult<WxNewsTemplateRespVO>> getWxNewsTemplatePage(@Valid WxNewsTemplatePageReqVO pageVO) { | ||
| 87 | + PageResult<WxNewsTemplateDO> pageResult = wxNewsTemplateService.getWxNewsTemplatePage(pageVO); | ||
| 88 | + return success(WxNewsTemplateConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出图文消息模板 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxNewsTemplateExcel(@Valid WxNewsTemplateExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxNewsTemplateDO> list = wxNewsTemplateService.getWxNewsTemplateList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxNewsTemplateExcelVO> datas = WxNewsTemplateConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "图文消息模板.xls", "数据", WxNewsTemplateExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 图文消息模板 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxNewsTemplateBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "模板名称") | ||
| 14 | + private String tplName; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "是否已上传微信") | ||
| 17 | + private String isUpload; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "素材ID") | ||
| 20 | + private String mediaId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "微信账号ID") | ||
| 23 | + private String wxAccountId; | ||
| 24 | + | ||
| 25 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 图文消息模板创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxNewsTemplateCreateReqVO extends WxNewsTemplateBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 图文消息模板 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxNewsTemplateExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键 主键ID") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("模板名称") | ||
| 21 | + private String tplName; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("是否已上传微信") | ||
| 24 | + private String isUpload; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("素材ID") | ||
| 27 | + private String mediaId; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("微信账号ID") | ||
| 30 | + private String wxAccountId; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("创建时间") | ||
| 33 | + private Date createTime; | ||
| 34 | + | ||
| 35 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 图文消息模板 Excel 导出 Request VO", description = "参数和 WxNewsTemplatePageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxNewsTemplateExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "模板名称") | ||
| 17 | + private String tplName; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "是否已上传微信") | ||
| 20 | + private String isUpload; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "素材ID") | ||
| 23 | + private String mediaId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 29 | + @ApiModelProperty(value = "开始创建时间") | ||
| 30 | + private Date beginCreateTime; | ||
| 31 | + | ||
| 32 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 33 | + @ApiModelProperty(value = "结束创建时间") | ||
| 34 | + private Date endCreateTime; | ||
| 35 | + | ||
| 36 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 图文消息模板分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxNewsTemplatePageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "模板名称") | ||
| 20 | + private String tplName; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "是否已上传微信") | ||
| 23 | + private String isUpload; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "素材ID") | ||
| 26 | + private String mediaId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "微信账号ID") | ||
| 29 | + private String wxAccountId; | ||
| 30 | + | ||
| 31 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 32 | + @ApiModelProperty(value = "开始创建时间") | ||
| 33 | + private Date beginCreateTime; | ||
| 34 | + | ||
| 35 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 36 | + @ApiModelProperty(value = "结束创建时间") | ||
| 37 | + private Date endCreateTime; | ||
| 38 | + | ||
| 39 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 图文消息模板 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxNewsTemplateRespVO extends WxNewsTemplateBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键 主键ID", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 图文消息模板更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxNewsTemplateUpdateReqVO extends WxNewsTemplateBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键 主键ID", required = true) | ||
| 15 | + @NotNull(message = "主键 主键ID不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/WxReceiveTextController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.receivetext.WxReceiveTextDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.receivetext.WxReceiveTextConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.receivetext.WxReceiveTextService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 回复关键字") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-receive-text") | ||
| 35 | +@Validated | ||
| 36 | +public class WxReceiveTextController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxReceiveTextService wxReceiveTextService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建回复关键字") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:create')") | ||
| 44 | + public CommonResult<Integer> createWxReceiveText(@Valid @RequestBody WxReceiveTextCreateReqVO createReqVO) { | ||
| 45 | + return success(wxReceiveTextService.createWxReceiveText(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新回复关键字") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxReceiveText(@Valid @RequestBody WxReceiveTextUpdateReqVO updateReqVO) { | ||
| 52 | + wxReceiveTextService.updateWxReceiveText(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除回复关键字") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxReceiveText(@RequestParam("id") Integer id) { | ||
| 61 | + wxReceiveTextService.deleteWxReceiveText(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得回复关键字") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") | ||
| 69 | + public CommonResult<WxReceiveTextRespVO> getWxReceiveText(@RequestParam("id") Integer id) { | ||
| 70 | + WxReceiveTextDO wxReceiveText = wxReceiveTextService.getWxReceiveText(id); | ||
| 71 | + return success(WxReceiveTextConvert.INSTANCE.convert(wxReceiveText)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得回复关键字列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") | ||
| 78 | + public CommonResult<List<WxReceiveTextRespVO>> getWxReceiveTextList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxReceiveTextDO> list = wxReceiveTextService.getWxReceiveTextList(ids); | ||
| 80 | + return success(WxReceiveTextConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得回复关键字分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:query')") | ||
| 86 | + public CommonResult<PageResult<WxReceiveTextRespVO>> getWxReceiveTextPage(@Valid WxReceiveTextPageReqVO pageVO) { | ||
| 87 | + PageResult<WxReceiveTextDO> pageResult = wxReceiveTextService.getWxReceiveTextPage(pageVO); | ||
| 88 | + return success(WxReceiveTextConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出回复关键字 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-receive-text:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxReceiveTextExcel(@Valid WxReceiveTextExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxReceiveTextDO> list = wxReceiveTextService.getWxReceiveTextList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxReceiveTextExcelVO> datas = WxReceiveTextConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "回复关键字.xls", "数据", WxReceiveTextExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 回复关键字 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxReceiveTextBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "关键字") | ||
| 14 | + private String receiveText; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") | ||
| 17 | + private String msgType; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "模板ID") | ||
| 20 | + private String tplId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "微信账号ID") | ||
| 23 | + private String wxAccountId; | ||
| 24 | + | ||
| 25 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 回复关键字创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxReceiveTextCreateReqVO extends WxReceiveTextBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 回复关键字 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxReceiveTextExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("关键字") | ||
| 21 | + private String receiveText; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("消息类型 1文本消息;2图文消息;") | ||
| 24 | + private String msgType; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("模板ID") | ||
| 27 | + private String tplId; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("微信账号ID") | ||
| 30 | + private String wxAccountId; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("创建时间") | ||
| 33 | + private Date createTime; | ||
| 34 | + | ||
| 35 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 回复关键字 Excel 导出 Request VO", description = "参数和 WxReceiveTextPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxReceiveTextExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "关键字") | ||
| 17 | + private String receiveText; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") | ||
| 20 | + private String msgType; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "模板ID") | ||
| 23 | + private String tplId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 29 | + @ApiModelProperty(value = "开始创建时间") | ||
| 30 | + private Date beginCreateTime; | ||
| 31 | + | ||
| 32 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 33 | + @ApiModelProperty(value = "结束创建时间") | ||
| 34 | + private Date endCreateTime; | ||
| 35 | + | ||
| 36 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 回复关键字分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxReceiveTextPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "关键字") | ||
| 20 | + private String receiveText; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") | ||
| 23 | + private String msgType; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "模板ID") | ||
| 26 | + private String tplId; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "微信账号ID") | ||
| 29 | + private String wxAccountId; | ||
| 30 | + | ||
| 31 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 32 | + @ApiModelProperty(value = "开始创建时间") | ||
| 33 | + private Date beginCreateTime; | ||
| 34 | + | ||
| 35 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 36 | + @ApiModelProperty(value = "结束创建时间") | ||
| 37 | + private Date endCreateTime; | ||
| 38 | + | ||
| 39 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 回复关键字 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxReceiveTextRespVO extends WxReceiveTextBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/receivetext/vo/WxReceiveTextUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.receivetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 回复关键字更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxReceiveTextUpdateReqVO extends WxReceiveTextBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/WxSubscribeTextController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | + | ||
| 5 | +import javax.annotation.Resource; | ||
| 6 | + | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.annotations.*; | ||
| 10 | + | ||
| 11 | +import javax.validation.*; | ||
| 12 | +import javax.servlet.http.*; | ||
| 13 | +import java.util.*; | ||
| 14 | +import java.io.IOException; | ||
| 15 | + | ||
| 16 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | + | ||
| 19 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | + | ||
| 21 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | + | ||
| 23 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | + | ||
| 27 | +import cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo.*; | ||
| 28 | +import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; | ||
| 29 | +import cn.iocoder.yudao.module.mp.convert.subscribetext.WxSubscribeTextConvert; | ||
| 30 | +import cn.iocoder.yudao.module.mp.service.subscribetext.WxSubscribeTextService; | ||
| 31 | + | ||
| 32 | +@Api(tags = "管理后台 - 关注欢迎语") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/wechatMp/wx-subscribe-text") | ||
| 35 | +@Validated | ||
| 36 | +public class WxSubscribeTextController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private WxSubscribeTextService wxSubscribeTextService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @ApiOperation("创建关注欢迎语") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:create')") | ||
| 44 | + public CommonResult<Integer> createWxSubscribeText(@Valid @RequestBody WxSubscribeTextCreateReqVO createReqVO) { | ||
| 45 | + return success(wxSubscribeTextService.createWxSubscribeText(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @ApiOperation("更新关注欢迎语") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:update')") | ||
| 51 | + public CommonResult<Boolean> updateWxSubscribeText(@Valid @RequestBody WxSubscribeTextUpdateReqVO updateReqVO) { | ||
| 52 | + wxSubscribeTextService.updateWxSubscribeText(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @ApiOperation("删除关注欢迎语") | ||
| 58 | + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteWxSubscribeText(@RequestParam("id") Integer id) { | ||
| 61 | + wxSubscribeTextService.deleteWxSubscribeText(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @GetMapping("/get") | ||
| 66 | + @ApiOperation("获得关注欢迎语") | ||
| 67 | + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") | ||
| 69 | + public CommonResult<WxSubscribeTextRespVO> getWxSubscribeText(@RequestParam("id") Integer id) { | ||
| 70 | + WxSubscribeTextDO wxSubscribeText = wxSubscribeTextService.getWxSubscribeText(id); | ||
| 71 | + return success(WxSubscribeTextConvert.INSTANCE.convert(wxSubscribeText)); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/list") | ||
| 75 | + @ApiOperation("获得关注欢迎语列表") | ||
| 76 | + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") | ||
| 78 | + public CommonResult<List<WxSubscribeTextRespVO>> getWxSubscribeTextList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | + List<WxSubscribeTextDO> list = wxSubscribeTextService.getWxSubscribeTextList(ids); | ||
| 80 | + return success(WxSubscribeTextConvert.INSTANCE.convertList(list)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @ApiOperation("获得关注欢迎语分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:query')") | ||
| 86 | + public CommonResult<PageResult<WxSubscribeTextRespVO>> getWxSubscribeTextPage(@Valid WxSubscribeTextPageReqVO pageVO) { | ||
| 87 | + PageResult<WxSubscribeTextDO> pageResult = wxSubscribeTextService.getWxSubscribeTextPage(pageVO); | ||
| 88 | + return success(WxSubscribeTextConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @ApiOperation("导出关注欢迎语 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('wechatMp:wx-subscribe-text:export')") | ||
| 94 | + @OperateLog(type = EXPORT) | ||
| 95 | + public void exportWxSubscribeTextExcel(@Valid WxSubscribeTextExportReqVO exportReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + List<WxSubscribeTextDO> list = wxSubscribeTextService.getWxSubscribeTextList(exportReqVO); | ||
| 98 | + // 导出 Excel | ||
| 99 | + List<WxSubscribeTextExcelVO> datas = WxSubscribeTextConvert.INSTANCE.convertList02(list); | ||
| 100 | + ExcelUtils.write(response, "关注欢迎语.xls", "数据", WxSubscribeTextExcelVO.class, datas); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 关注欢迎语 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class WxSubscribeTextBaseVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") | ||
| 14 | + private String msgType; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "模板ID") | ||
| 17 | + private String tplId; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "微信账号ID") | ||
| 20 | + private String wxAccountId; | ||
| 21 | + | ||
| 22 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +@ApiModel("管理后台 - 关注欢迎语创建 Request VO") | ||
| 7 | +@Data | ||
| 8 | +@EqualsAndHashCode(callSuper = true) | ||
| 9 | +@ToString(callSuper = true) | ||
| 10 | +public class WxSubscribeTextCreateReqVO extends WxSubscribeTextBaseVO { | ||
| 11 | + | ||
| 12 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 关注欢迎语 Excel VO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 14 | +@Data | ||
| 15 | +public class WxSubscribeTextExcelVO { | ||
| 16 | + | ||
| 17 | + @ExcelProperty("主键") | ||
| 18 | + private Integer id; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("消息类型 1文本消息;2图文消息;") | ||
| 21 | + private String msgType; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("模板ID") | ||
| 24 | + private String tplId; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("微信账号ID") | ||
| 27 | + private String wxAccountId; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("创建时间") | ||
| 30 | + private Date createTime; | ||
| 31 | + | ||
| 32 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | + | ||
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@ApiModel(value = "管理后台 - 关注欢迎语 Excel 导出 Request VO", description = "参数和 WxSubscribeTextPageReqVO 是一致的") | ||
| 13 | +@Data | ||
| 14 | +public class WxSubscribeTextExportReqVO { | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") | ||
| 17 | + private String msgType; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "模板ID") | ||
| 20 | + private String tplId; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "微信账号ID") | ||
| 23 | + private String wxAccountId; | ||
| 24 | + | ||
| 25 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 26 | + @ApiModelProperty(value = "开始创建时间") | ||
| 27 | + private Date beginCreateTime; | ||
| 28 | + | ||
| 29 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 30 | + @ApiModelProperty(value = "结束创建时间") | ||
| 31 | + private Date endCreateTime; | ||
| 32 | + | ||
| 33 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@ApiModel("管理后台 - 关注欢迎语分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +@EqualsAndHashCode(callSuper = true) | ||
| 16 | +@ToString(callSuper = true) | ||
| 17 | +public class WxSubscribeTextPageReqVO extends PageParam { | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "消息类型 1文本消息;2图文消息;") | ||
| 20 | + private String msgType; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "模板ID") | ||
| 23 | + private String tplId; | ||
| 24 | + | ||
| 25 | + @ApiModelProperty(value = "微信账号ID") | ||
| 26 | + private String wxAccountId; | ||
| 27 | + | ||
| 28 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 29 | + @ApiModelProperty(value = "开始创建时间") | ||
| 30 | + private Date beginCreateTime; | ||
| 31 | + | ||
| 32 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 33 | + @ApiModelProperty(value = "结束创建时间") | ||
| 34 | + private Date endCreateTime; | ||
| 35 | + | ||
| 36 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +import io.swagger.annotations.*; | ||
| 8 | + | ||
| 9 | +@ApiModel("管理后台 - 关注欢迎语 Response VO") | ||
| 10 | +@Data | ||
| 11 | +@EqualsAndHashCode(callSuper = true) | ||
| 12 | +@ToString(callSuper = true) | ||
| 13 | +public class WxSubscribeTextRespVO extends WxSubscribeTextBaseVO { | ||
| 14 | + | ||
| 15 | + @ApiModelProperty(value = "主键", required = true) | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | + private Date createTime; | ||
| 20 | + | ||
| 21 | +} |
yudao-module-wechat/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/subscribetext/vo/WxSubscribeTextUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.subscribetext.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import io.swagger.annotations.*; | ||
| 5 | + | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@ApiModel("管理后台 - 关注欢迎语更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class WxSubscribeTextUpdateReqVO extends WxSubscribeTextBaseVO { | ||
| 13 | + | ||
| 14 | + @ApiModelProperty(value = "主键", required = true) | ||
| 15 | + @NotNull(message = "主键不能为空") | ||
| 16 | + private Integer id; | ||
| 17 | + | ||
| 18 | +} |