Commit 70adfe8fe5bf9e62021a0677c2f86ddb2a02dc31

Authored by 亚洲
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
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 io.swagger.annotations.*; 4 import io.swagger.annotations.*;
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
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.*;
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
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 io.swagger.annotations.*; 4 import io.swagger.annotations.*;
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
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 io.swagger.annotations.*; 4 import io.swagger.annotations.*;
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
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.*;
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
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.*;
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
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 io.swagger.annotations.*; 4 import io.swagger.annotations.*;
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 +}