Commit 32cca12cd2a9cc8db4d4eb8c256045f8b034bab5
1 parent
217a31a1
fix:seckillTime => seckillConfig
Showing
26 changed files
with
949 additions
and
554 deletions
sql/dm/ruoyi-vue-pro-dm8.sql
| ... | ... | @@ -1797,27 +1797,112 @@ INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT" |
| 1797 | 1797 | INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2046,'满减送活动关闭','promotion:reward-activity:close',3,5,2041,'','','',null,0,1,1,1,'1','2022-11-05 10:42:53','1','2022-11-05 10:42:53',0); |
| 1798 | 1798 | INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2047,'限时折扣活动','',2,7,2030,'discount-activity','time','mall/promotion/discountActivity/index','PromotionDiscountActivity',0,1,1,1,'','2022-11-05 17:12:15','1','2023-04-08 11:45:44',0); |
| 1799 | 1799 | INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2048,'限时折扣活动查询','promotion:discount-activity:query',3,1,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:15','','2022-11-05 17:12:15',0); |
| 1800 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2049,'限时折扣活动创建','promotion:discount-activity:create',3,2,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:15','','2022-11-05 17:12:15',0); | |
| 1801 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2050,'限时折扣活动更新','promotion:discount-activity:update',3,3,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:16','','2022-11-05 17:12:16',0); | |
| 1802 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2051,'限时折扣活动删除','promotion:discount-activity:delete',3,4,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:16','','2022-11-05 17:12:16',0); | |
| 1803 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2052,'限时折扣活动关闭','promotion:discount-activity:close',3,5,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:16','','2022-11-05 17:12:16',0); | |
| 1804 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2059,'秒杀活动管理','',2,0,2030,'seckill-activity','time-range','mall/promotion/seckill/seckillActivity/index','PromotionSeckillActivity',0,1,1,1,'','2022-11-06 22:24:49','1','2023-04-08 11:46:02',0); | |
| 1805 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2060,'秒杀活动查询','promotion:seckill-activity:query',3,1,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0); | |
| 1806 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2061,'秒杀活动创建','promotion:seckill-activity:create',3,2,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0); | |
| 1807 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2062,'秒杀活动更新','promotion:seckill-activity:update',3,3,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0); | |
| 1808 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2063,'秒杀活动删除','promotion:seckill-activity:delete',3,4,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0); | |
| 1809 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2064,'秒杀活动导出','promotion:seckill-activity:export',3,5,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0); | |
| 1810 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2066,'秒杀时段管理','',2,0,2030,'seckill-time','','mall/promotion/seckill/seckillTime/index','PromotionSeckillTime',0,0,1,1,'','2022-11-15 19:46:50','1','2023-04-08 11:46:17',0); | |
| 1811 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2067,'秒杀时段查询','promotion:seckill-time:query',3,1,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0); | |
| 1812 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2068,'秒杀时段创建','promotion:seckill-time:create',3,2,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0); | |
| 1813 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2069,'秒杀时段更新','promotion:seckill-time:update',3,3,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0); | |
| 1814 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2070,'秒杀时段删除','promotion:seckill-time:delete',3,4,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0); | |
| 1815 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2071,'秒杀时段导出','promotion:seckill-time:export',3,5,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0); | |
| 1816 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2072,'订单中心','',1,65,0,'/trade','order',null,null,0,1,1,1,'1','2022-11-19 18:57:19','1','2022-12-10 16:32:57',0); | |
| 1817 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2073,'售后退款','',2,1,2072,'trade/after-sale','education','mall/trade/afterSale/index','TradeAfterSale',0,1,1,1,'','2022-11-19 20:15:32','1','2023-04-08 11:43:19',0); | |
| 1818 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2074,'售后查询','trade:after-sale:query',3,1,2073,'','','',null,0,1,1,1,'','2022-11-19 20:15:33','1','2022-12-10 21:04:29',0); | |
| 1819 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2075,'秒杀活动关闭','promotion:sekill-activity:close',3,6,2059,'','','',null,0,1,1,1,'1','2022-11-28 20:20:15','1','2022-11-28 20:20:15',0); | |
| 1820 | -INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2076,'订单列表','',2,0,2072,'trade/order','list','mall/trade/order/index','TradeOrder',0,1,1,1,'1','2022-12-10 21:05:44','1','2023-04-08 11:42:23',0); | |
| 1800 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1801 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1802 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1803 | +VALUES (2049, '限时折扣活动创建', 'promotion:discount-activity:create', 3, 2, 2047, '', '', '', null, 0, 1, 1, 1, '', | |
| 1804 | + '2022-11-05 17:12:15', '', '2022-11-05 17:12:15', 0); | |
| 1805 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1806 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1807 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1808 | +VALUES (2050, '限时折扣活动更新', 'promotion:discount-activity:update', 3, 3, 2047, '', '', '', null, 0, 1, 1, 1, '', | |
| 1809 | + '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', 0); | |
| 1810 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1811 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1812 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1813 | +VALUES (2051, '限时折扣活动删除', 'promotion:discount-activity:delete', 3, 4, 2047, '', '', '', null, 0, 1, 1, 1, '', | |
| 1814 | + '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', 0); | |
| 1815 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1816 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1817 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1818 | +VALUES (2052, '限时折扣活动关闭', 'promotion:discount-activity:close', 3, 5, 2047, '', '', '', null, 0, 1, 1, 1, '', | |
| 1819 | + '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', 0); | |
| 1820 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1821 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1822 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1823 | +VALUES (2059, '秒杀活动管理', '', 2, 0, 2030, 'seckill-activity', 'time-range', | |
| 1824 | + 'mall/promotion/seckill/seckillActivity/index', 'PromotionSeckillActivity', 0, 1, 1, 1, '', | |
| 1825 | + '2022-11-06 22:24:49', '1', '2023-04-08 11:46:02', 0); | |
| 1826 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1827 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1828 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1829 | +VALUES (2060, '秒杀活动查询', 'promotion:seckill-activity:query', 3, 1, 2059, '', '', '', null, 0, 1, 1, 1, '', | |
| 1830 | + '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', 0); | |
| 1831 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1832 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1833 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1834 | +VALUES (2061, '秒杀活动创建', 'promotion:seckill-activity:create', 3, 2, 2059, '', '', '', null, 0, 1, 1, 1, '', | |
| 1835 | + '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', 0); | |
| 1836 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1837 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1838 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1839 | +VALUES (2062, '秒杀活动更新', 'promotion:seckill-activity:update', 3, 3, 2059, '', '', '', null, 0, 1, 1, 1, '', | |
| 1840 | + '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', 0); | |
| 1841 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1842 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1843 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1844 | +VALUES (2063, '秒杀活动删除', 'promotion:seckill-activity:delete', 3, 4, 2059, '', '', '', null, 0, 1, 1, 1, '', | |
| 1845 | + '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', 0); | |
| 1846 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1847 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1848 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1849 | +VALUES (2064, '秒杀活动导出', 'promotion:seckill-activity:export', 3, 5, 2059, '', '', '', null, 0, 1, 1, 1, '', | |
| 1850 | + '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', 0); | |
| 1851 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1852 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1853 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1854 | +VALUES (2066, '秒杀时段管理', '', 2, 0, 2030, 'seckill-time', '', 'mall/promotion/seckill/SeckillConfig/index', | |
| 1855 | + 'PromotionSeckillConfig', 0, 0, 1, 1, '', '2022-11-15 19:46:50', '1', '2023-04-08 11:46:17', 0); | |
| 1856 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1857 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1858 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1859 | +VALUES (2067, '秒杀时段查询', 'promotion:seckill-time:query', 3, 1, 2066, '', '', '', null, 0, 1, 1, 1, '', | |
| 1860 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', 0); | |
| 1861 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1862 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1863 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1864 | +VALUES (2068, '秒杀时段创建', 'promotion:seckill-time:create', 3, 2, 2066, '', '', '', null, 0, 1, 1, 1, '', | |
| 1865 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', 0); | |
| 1866 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1867 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1868 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1869 | +VALUES (2069, '秒杀时段更新', 'promotion:seckill-time:update', 3, 3, 2066, '', '', '', null, 0, 1, 1, 1, '', | |
| 1870 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', 0); | |
| 1871 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1872 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1873 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1874 | +VALUES (2070, '秒杀时段删除', 'promotion:seckill-time:delete', 3, 4, 2066, '', '', '', null, 0, 1, 1, 1, '', | |
| 1875 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', 0); | |
| 1876 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1877 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1878 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1879 | +VALUES (2071, '秒杀时段导出', 'promotion:seckill-time:export', 3, 5, 2066, '', '', '', null, 0, 1, 1, 1, '', | |
| 1880 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', 0); | |
| 1881 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1882 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1883 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1884 | +VALUES (2072, '订单中心', '', 1, 65, 0, '/trade', 'order', null, null, 0, 1, 1, 1, '1', '2022-11-19 18:57:19', '1', | |
| 1885 | + '2022-12-10 16:32:57', 0); | |
| 1886 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1887 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1888 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1889 | +VALUES (2073, '售后退款', '', 2, 1, 2072, 'trade/after-sale', 'education', 'mall/trade/afterSale/index', | |
| 1890 | + 'TradeAfterSale', 0, 1, 1, 1, '', '2022-11-19 20:15:32', '1', '2023-04-08 11:43:19', 0); | |
| 1891 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1892 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1893 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1894 | +VALUES (2074, '售后查询', 'trade:after-sale:query', 3, 1, 2073, '', '', '', null, 0, 1, 1, 1, '', '2022-11-19 20:15:33', | |
| 1895 | + '1', '2022-12-10 21:04:29', 0); | |
| 1896 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1897 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1898 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1899 | +VALUES (2075, '秒杀活动关闭', 'promotion:sekill-activity:close', 3, 6, 2059, '', '', '', null, 0, 1, 1, 1, '1', | |
| 1900 | + '2022-11-28 20:20:15', '1', '2022-11-28 20:20:15', 0); | |
| 1901 | +INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", | |
| 1902 | + "COMPONENT", "COMPONENT_NAME", "STATUS", "VISIBLE", "KEEP_ALIVE", | |
| 1903 | + "ALWAYS_SHOW", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") | |
| 1904 | +VALUES (2076, '订单列表', '', 2, 0, 2072, 'trade/order', 'list', 'mall/trade/order/index', 'TradeOrder', 0, 1, 1, 1, | |
| 1905 | + '1', '2022-12-10 21:05:44', '1', '2023-04-08 11:42:23', 0); | |
| 1821 | 1906 | INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2077,'物流公司管理管理','',2,0,2072,'express-company','','mall/trade/expressCompany/index',null,0,1,1,1,'','2022-12-20 23:27:55','1','2022-12-20 23:36:20',0); |
| 1822 | 1907 | INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2078,'物流公司管理查询','trade:express-company:query',3,1,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0); |
| 1823 | 1908 | INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2079,'物流公司管理创建','trade:express-company:create',3,2,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0); | ... | ... |
sql/mysql/ruoyi-vue-pro.sql
| ... | ... | @@ -1980,27 +1980,112 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i |
| 1980 | 1980 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2046, '满减送活动关闭', 'promotion:reward-activity:close', 3, 5, 2041, '', '', '', NULL, 0, b'1', b'1', b'1', '1', '2022-11-05 10:42:53', '1', '2022-11-05 10:42:53', b'0'); |
| 1981 | 1981 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2047, '限时折扣活动', '', 2, 7, 2030, 'discount-activity', 'time', 'mall/promotion/discountActivity/index', 'PromotionDiscountActivity', 0, b'1', b'1', b'1', '', '2022-11-05 17:12:15', '1', '2023-04-08 11:45:44', b'0'); |
| 1982 | 1982 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2048, '限时折扣活动查询', 'promotion:discount-activity:query', 3, 1, 2047, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-05 17:12:15', '', '2022-11-05 17:12:15', b'0'); |
| 1983 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2049, '限时折扣活动创建', 'promotion:discount-activity:create', 3, 2, 2047, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-05 17:12:15', '', '2022-11-05 17:12:15', b'0'); | |
| 1984 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2050, '限时折扣活动更新', 'promotion:discount-activity:update', 3, 3, 2047, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0'); | |
| 1985 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2051, '限时折扣活动删除', 'promotion:discount-activity:delete', 3, 4, 2047, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0'); | |
| 1986 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2052, '限时折扣活动关闭', 'promotion:discount-activity:close', 3, 5, 2047, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0'); | |
| 1987 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2059, '秒杀活动管理', '', 2, 0, 2030, 'seckill-activity', 'time-range', 'mall/promotion/seckill/seckillActivity/index', 'PromotionSeckillActivity', 0, b'1', b'1', b'1', '', '2022-11-06 22:24:49', '1', '2023-04-08 11:46:02', b'0'); | |
| 1988 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2060, '秒杀活动查询', 'promotion:seckill-activity:query', 3, 1, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 1989 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2061, '秒杀活动创建', 'promotion:seckill-activity:create', 3, 2, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 1990 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2062, '秒杀活动更新', 'promotion:seckill-activity:update', 3, 3, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 1991 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2063, '秒杀活动删除', 'promotion:seckill-activity:delete', 3, 4, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 1992 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2064, '秒杀活动导出', 'promotion:seckill-activity:export', 3, 5, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 1993 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2066, '秒杀时段管理', '', 2, 0, 2030, 'seckill-time', '', 'mall/promotion/seckill/seckillTime/index', 'PromotionSeckillTime', 0, b'0', b'1', b'1', '', '2022-11-15 19:46:50', '1', '2023-04-08 11:46:17', b'0'); | |
| 1994 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2067, '秒杀时段查询', 'promotion:seckill-time:query', 3, 1, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 1995 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2068, '秒杀时段创建', 'promotion:seckill-time:create', 3, 2, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 1996 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2069, '秒杀时段更新', 'promotion:seckill-time:update', 3, 3, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 1997 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2070, '秒杀时段删除', 'promotion:seckill-time:delete', 3, 4, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 1998 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2071, '秒杀时段导出', 'promotion:seckill-time:export', 3, 5, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 1999 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2072, '订单中心', '', 1, 65, 0, '/trade', 'order', NULL, NULL, 0, b'1', b'1', b'1', '1', '2022-11-19 18:57:19', '1', '2022-12-10 16:32:57', b'0'); | |
| 2000 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2073, '售后退款', '', 2, 1, 2072, 'trade/after-sale', 'education', 'mall/trade/afterSale/index', 'TradeAfterSale', 0, b'1', b'1', b'1', '', '2022-11-19 20:15:32', '1', '2023-04-08 11:43:19', b'0'); | |
| 2001 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2074, '售后查询', 'trade:after-sale:query', 3, 1, 2073, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-11-19 20:15:33', '1', '2022-12-10 21:04:29', b'0'); | |
| 2002 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2075, '秒杀活动关闭', 'promotion:sekill-activity:close', 3, 6, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '1', '2022-11-28 20:20:15', '1', '2022-11-28 20:20:15', b'0'); | |
| 2003 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2076, '订单列表', '', 2, 0, 2072, 'trade/order', 'list', 'mall/trade/order/index', 'TradeOrder', 0, b'1', b'1', b'1', '1', '2022-12-10 21:05:44', '1', '2023-04-08 11:42:23', b'0'); | |
| 1983 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 1984 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 1985 | + `updater`, `update_time`, `deleted`) | |
| 1986 | +VALUES (2049, '限时折扣活动创建', 'promotion:discount-activity:create', 3, 2, 2047, '', '', '', NULL, 0, b'1', b'1', | |
| 1987 | + b'1', '', '2022-11-05 17:12:15', '', '2022-11-05 17:12:15', b'0'); | |
| 1988 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 1989 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 1990 | + `updater`, `update_time`, `deleted`) | |
| 1991 | +VALUES (2050, '限时折扣活动更新', 'promotion:discount-activity:update', 3, 3, 2047, '', '', '', NULL, 0, b'1', b'1', | |
| 1992 | + b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0'); | |
| 1993 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 1994 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 1995 | + `updater`, `update_time`, `deleted`) | |
| 1996 | +VALUES (2051, '限时折扣活动删除', 'promotion:discount-activity:delete', 3, 4, 2047, '', '', '', NULL, 0, b'1', b'1', | |
| 1997 | + b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0'); | |
| 1998 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 1999 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2000 | + `updater`, `update_time`, `deleted`) | |
| 2001 | +VALUES (2052, '限时折扣活动关闭', 'promotion:discount-activity:close', 3, 5, 2047, '', '', '', NULL, 0, b'1', b'1', | |
| 2002 | + b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0'); | |
| 2003 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2004 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2005 | + `updater`, `update_time`, `deleted`) | |
| 2006 | +VALUES (2059, '秒杀活动管理', '', 2, 0, 2030, 'seckill-activity', 'time-range', | |
| 2007 | + 'mall/promotion/seckill/seckillActivity/index', 'PromotionSeckillActivity', 0, b'1', b'1', b'1', '', | |
| 2008 | + '2022-11-06 22:24:49', '1', '2023-04-08 11:46:02', b'0'); | |
| 2009 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2010 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2011 | + `updater`, `update_time`, `deleted`) | |
| 2012 | +VALUES (2060, '秒杀活动查询', 'promotion:seckill-activity:query', 3, 1, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2013 | + '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 2014 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2015 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2016 | + `updater`, `update_time`, `deleted`) | |
| 2017 | +VALUES (2061, '秒杀活动创建', 'promotion:seckill-activity:create', 3, 2, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', | |
| 2018 | + '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 2019 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2020 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2021 | + `updater`, `update_time`, `deleted`) | |
| 2022 | +VALUES (2062, '秒杀活动更新', 'promotion:seckill-activity:update', 3, 3, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', | |
| 2023 | + '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 2024 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2025 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2026 | + `updater`, `update_time`, `deleted`) | |
| 2027 | +VALUES (2063, '秒杀活动删除', 'promotion:seckill-activity:delete', 3, 4, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', | |
| 2028 | + '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 2029 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2030 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2031 | + `updater`, `update_time`, `deleted`) | |
| 2032 | +VALUES (2064, '秒杀活动导出', 'promotion:seckill-activity:export', 3, 5, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', | |
| 2033 | + '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0'); | |
| 2034 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2035 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2036 | + `updater`, `update_time`, `deleted`) | |
| 2037 | +VALUES (2066, '秒杀时段管理', '', 2, 0, 2030, 'seckill-time', '', 'mall/promotion/seckill/SeckillConfig/index', | |
| 2038 | + 'PromotionSeckillConfig', 0, b'0', b'1', b'1', '', '2022-11-15 19:46:50', '1', '2023-04-08 11:46:17', b'0'); | |
| 2039 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2040 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2041 | + `updater`, `update_time`, `deleted`) | |
| 2042 | +VALUES (2067, '秒杀时段查询', 'promotion:seckill-time:query', 3, 1, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2043 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 2044 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2045 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2046 | + `updater`, `update_time`, `deleted`) | |
| 2047 | +VALUES (2068, '秒杀时段创建', 'promotion:seckill-time:create', 3, 2, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2048 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 2049 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2050 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2051 | + `updater`, `update_time`, `deleted`) | |
| 2052 | +VALUES (2069, '秒杀时段更新', 'promotion:seckill-time:update', 3, 3, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2053 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 2054 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2055 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2056 | + `updater`, `update_time`, `deleted`) | |
| 2057 | +VALUES (2070, '秒杀时段删除', 'promotion:seckill-time:delete', 3, 4, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2058 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 2059 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2060 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2061 | + `updater`, `update_time`, `deleted`) | |
| 2062 | +VALUES (2071, '秒杀时段导出', 'promotion:seckill-time:export', 3, 5, 2066, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2063 | + '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0'); | |
| 2064 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2065 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2066 | + `updater`, `update_time`, `deleted`) | |
| 2067 | +VALUES (2072, '订单中心', '', 1, 65, 0, '/trade', 'order', NULL, NULL, 0, b'1', b'1', b'1', '1', '2022-11-19 18:57:19', | |
| 2068 | + '1', '2022-12-10 16:32:57', b'0'); | |
| 2069 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2070 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2071 | + `updater`, `update_time`, `deleted`) | |
| 2072 | +VALUES (2073, '售后退款', '', 2, 1, 2072, 'trade/after-sale', 'education', 'mall/trade/afterSale/index', | |
| 2073 | + 'TradeAfterSale', 0, b'1', b'1', b'1', '', '2022-11-19 20:15:32', '1', '2023-04-08 11:43:19', b'0'); | |
| 2074 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2075 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2076 | + `updater`, `update_time`, `deleted`) | |
| 2077 | +VALUES (2074, '售后查询', 'trade:after-sale:query', 3, 1, 2073, '', '', '', NULL, 0, b'1', b'1', b'1', '', | |
| 2078 | + '2022-11-19 20:15:33', '1', '2022-12-10 21:04:29', b'0'); | |
| 2079 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2080 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2081 | + `updater`, `update_time`, `deleted`) | |
| 2082 | +VALUES (2075, '秒杀活动关闭', 'promotion:sekill-activity:close', 3, 6, 2059, '', '', '', NULL, 0, b'1', b'1', b'1', '1', | |
| 2083 | + '2022-11-28 20:20:15', '1', '2022-11-28 20:20:15', b'0'); | |
| 2084 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, | |
| 2085 | + `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, | |
| 2086 | + `updater`, `update_time`, `deleted`) | |
| 2087 | +VALUES (2076, '订单列表', '', 2, 0, 2072, 'trade/order', 'list', 'mall/trade/order/index', 'TradeOrder', 0, b'1', b'1', | |
| 2088 | + b'1', '1', '2022-12-10 21:05:44', '1', '2023-04-08 11:42:23', b'0'); | |
| 2004 | 2089 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2077, '物流公司管理管理', '', 2, 0, 2072, 'express-company', '', 'mall/trade/expressCompany/index', NULL, 0, b'1', b'1', b'1', '', '2022-12-20 23:27:55', '1', '2022-12-20 23:36:20', b'0'); |
| 2005 | 2090 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2078, '物流公司管理查询', 'trade:express-company:query', 3, 1, 2077, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0'); |
| 2006 | 2091 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2079, '物流公司管理创建', 'trade:express-company:create', 3, 2, 2077, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0'); | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/SeckillConfigController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.promotion.controller.admin.seckill; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigCreateReqVO; | |
| 6 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigRespVO; | |
| 8 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO; | |
| 9 | +import cn.iocoder.yudao.module.promotion.convert.seckill.seckillconfig.SeckillConfigConvert; | |
| 10 | +import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; | |
| 11 | +import cn.iocoder.yudao.module.promotion.service.seckill.seckillconfig.SeckillConfigService; | |
| 12 | +import io.swagger.v3.oas.annotations.Operation; | |
| 13 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 14 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 15 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 16 | +import org.springframework.validation.annotation.Validated; | |
| 17 | +import org.springframework.web.bind.annotation.*; | |
| 18 | + | |
| 19 | +import javax.annotation.Resource; | |
| 20 | +import javax.validation.Valid; | |
| 21 | +import java.util.List; | |
| 22 | + | |
| 23 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 24 | + | |
| 25 | +/** | |
| 26 | + * 管理后台 - 秒杀时段相关接口 | |
| 27 | + * | |
| 28 | + * @author HUIHUI | |
| 29 | + */ | |
| 30 | +@Tag(name = "管理后台 - 秒杀时段") | |
| 31 | +@RestController | |
| 32 | +@RequestMapping("/promotion/seckill-config") | |
| 33 | +@Validated | |
| 34 | +public class SeckillConfigController { | |
| 35 | + | |
| 36 | + @Resource | |
| 37 | + private SeckillConfigService seckillConfigService; | |
| 38 | + | |
| 39 | + @PostMapping("/create") | |
| 40 | + @Operation(summary = "创建秒杀时段") | |
| 41 | + @PreAuthorize("@ss.hasPermission('promotion:seckill-config:create')") | |
| 42 | + public CommonResult<Long> createSeckillConfig(@Valid @RequestBody SeckillConfigCreateReqVO createReqVO) { | |
| 43 | + return success(seckillConfigService.createSeckillConfig(createReqVO)); | |
| 44 | + } | |
| 45 | + | |
| 46 | + @PutMapping("/update") | |
| 47 | + @Operation(summary = "更新秒杀时段") | |
| 48 | + @PreAuthorize("@ss.hasPermission('promotion:seckill-config:update')") | |
| 49 | + public CommonResult<Boolean> updateSeckillConfig(@Valid @RequestBody SeckillConfigUpdateReqVO updateReqVO) { | |
| 50 | + seckillConfigService.updateSeckillConfig(updateReqVO); | |
| 51 | + return success(true); | |
| 52 | + } | |
| 53 | + | |
| 54 | + @DeleteMapping("/delete") | |
| 55 | + @Operation(summary = "删除秒杀时段") | |
| 56 | + @Parameter(name = "id", description = "编号", required = true) | |
| 57 | + @PreAuthorize("@ss.hasPermission('promotion:seckill-config:delete')") | |
| 58 | + public CommonResult<Boolean> deleteSeckillConfig(@RequestParam("id") Long id) { | |
| 59 | + seckillConfigService.deleteSeckillConfig(id); | |
| 60 | + return success(true); | |
| 61 | + } | |
| 62 | + | |
| 63 | + @GetMapping("/get") | |
| 64 | + @Operation(summary = "获得秒杀时段") | |
| 65 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | |
| 66 | + @PreAuthorize("@ss.hasPermission('promotion:seckill-config:query')") | |
| 67 | + public CommonResult<SeckillConfigRespVO> getSeckillConfig(@RequestParam("id") Long id) { | |
| 68 | + SeckillConfigDO seckillConfig = seckillConfigService.getSeckillConfig(id); | |
| 69 | + return success(SeckillConfigConvert.INSTANCE.convert(seckillConfig)); | |
| 70 | + } | |
| 71 | + | |
| 72 | + @GetMapping("/list") | |
| 73 | + @Operation(summary = "获得所有秒杀时段列表") | |
| 74 | + @PreAuthorize("@ss.hasPermission('promotion:seckill-config:query')") | |
| 75 | + public CommonResult<List<SeckillConfigRespVO>> getSeckillConfigList() { | |
| 76 | + List<SeckillConfigDO> list = seckillConfigService.getSeckillConfigList(); | |
| 77 | + return success(SeckillConfigConvert.INSTANCE.convertList(list)); | |
| 78 | + } | |
| 79 | + | |
| 80 | + @GetMapping("/page") | |
| 81 | + @Operation(summary = "获得秒杀活动分页") | |
| 82 | + @PreAuthorize("@ss.hasPermission('promotion:seckill-config:query')") | |
| 83 | + public CommonResult<PageResult<SeckillConfigRespVO>> getSeckillActivityPage(@Valid SeckillConfigPageReqVO pageVO) { | |
| 84 | + PageResult<SeckillConfigDO> pageResult = seckillConfigService.getSeckillConfigPage(pageVO); | |
| 85 | + return success(SeckillConfigConvert.INSTANCE.convertPage(pageResult)); | |
| 86 | + } | |
| 87 | +} | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/SeckillTimeController.java deleted
| 1 | -package cn.iocoder.yudao.module.promotion.controller.admin.seckill; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeCreateReqVO; | |
| 5 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeRespVO; | |
| 6 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeUpdateReqVO; | |
| 7 | -import cn.iocoder.yudao.module.promotion.convert.seckill.seckilltime.SeckillTimeConvert; | |
| 8 | -import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime.SeckillTimeDO; | |
| 9 | -import cn.iocoder.yudao.module.promotion.service.seckill.seckilltime.SeckillTimeService; | |
| 10 | -import io.swagger.v3.oas.annotations.Operation; | |
| 11 | -import io.swagger.v3.oas.annotations.Parameter; | |
| 12 | -import io.swagger.v3.oas.annotations.tags.Tag; | |
| 13 | -import org.springframework.security.access.prepost.PreAuthorize; | |
| 14 | -import org.springframework.validation.annotation.Validated; | |
| 15 | -import org.springframework.web.bind.annotation.*; | |
| 16 | - | |
| 17 | -import javax.annotation.Resource; | |
| 18 | -import javax.validation.Valid; | |
| 19 | -import java.util.List; | |
| 20 | - | |
| 21 | -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 22 | - | |
| 23 | -@Tag(name = "管理后台 - 秒杀时段") | |
| 24 | -@RestController | |
| 25 | -@RequestMapping("/promotion/seckill-time") | |
| 26 | -@Validated | |
| 27 | -public class SeckillTimeController { | |
| 28 | - | |
| 29 | - @Resource | |
| 30 | - private SeckillTimeService seckillTimeService; | |
| 31 | - | |
| 32 | - @PostMapping("/create") | |
| 33 | - @Operation(summary = "创建秒杀时段") | |
| 34 | - @PreAuthorize("@ss.hasPermission('promotion:seckill-time:create')") | |
| 35 | - public CommonResult<Long> createSeckillTime(@Valid @RequestBody SeckillTimeCreateReqVO createReqVO) { | |
| 36 | - return success(seckillTimeService.createSeckillTime(createReqVO)); | |
| 37 | - } | |
| 38 | - | |
| 39 | - @PutMapping("/update") | |
| 40 | - @Operation(summary = "更新秒杀时段") | |
| 41 | - @PreAuthorize("@ss.hasPermission('promotion:seckill-time:update')") | |
| 42 | - public CommonResult<Boolean> updateSeckillTime(@Valid @RequestBody SeckillTimeUpdateReqVO updateReqVO) { | |
| 43 | - seckillTimeService.updateSeckillTime(updateReqVO); | |
| 44 | - return success(true); | |
| 45 | - } | |
| 46 | - | |
| 47 | - @DeleteMapping("/delete") | |
| 48 | - @Operation(summary = "删除秒杀时段") | |
| 49 | - @Parameter(name = "id", description = "编号", required = true) | |
| 50 | - @PreAuthorize("@ss.hasPermission('promotion:seckill-time:delete')") | |
| 51 | - public CommonResult<Boolean> deleteSeckillTime(@RequestParam("id") Long id) { | |
| 52 | - seckillTimeService.deleteSeckillTime(id); | |
| 53 | - return success(true); | |
| 54 | - } | |
| 55 | - | |
| 56 | - @GetMapping("/get") | |
| 57 | - @Operation(summary = "获得秒杀时段") | |
| 58 | - @Parameter(name = "id", description = "编号", required = true, example = "1024") | |
| 59 | - @PreAuthorize("@ss.hasPermission('promotion:seckill-time:query')") | |
| 60 | - public CommonResult<SeckillTimeRespVO> getSeckillTime(@RequestParam("id") Long id) { | |
| 61 | - SeckillTimeDO seckillTime = seckillTimeService.getSeckillTime(id); | |
| 62 | - return success(SeckillTimeConvert.INSTANCE.convert(seckillTime)); | |
| 63 | - } | |
| 64 | - | |
| 65 | - @GetMapping("/list") | |
| 66 | - @Operation(summary = "获得所有秒杀时段列表") | |
| 67 | - @PreAuthorize("@ss.hasPermission('promotion:seckill-time:query')") | |
| 68 | - public CommonResult<List<SeckillTimeRespVO>> getSeckillTimeList() { | |
| 69 | - List<SeckillTimeDO> list = seckillTimeService.getSeckillTimeList(); | |
| 70 | - return success(SeckillTimeConvert.INSTANCE.convertList(list)); | |
| 71 | - } | |
| 72 | -} |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityBaseVO.java
| ... | ... | @@ -54,7 +54,7 @@ public class SeckillActivityBaseVO { |
| 54 | 54 | |
| 55 | 55 | @Schema(description = "秒杀库存", example = "80") |
| 56 | 56 | @Min(value = 0, message = "秒杀库存需要大于等于 0") |
| 57 | - private Integer stock; | |
| 57 | + private Integer quota; | |
| 58 | 58 | |
| 59 | 59 | @Schema(description = "每人限购", example = "10") // 如果为 0 则不限购 |
| 60 | 60 | @Min(value = 0, message = "每人限购需要大于等于 0") | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeBaseVO.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigBaseVO.java
| 1 | -package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time; | |
| 1 | +package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config; | |
| 2 | 2 | |
| 3 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 4 | import lombok.Data; |
| 5 | +import org.springframework.format.annotation.DateTimeFormat; | |
| 5 | 6 | |
| 6 | 7 | import javax.validation.constraints.NotNull; |
| 7 | 8 | import java.time.LocalTime; |
| 8 | 9 | |
| 10 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND; | |
| 11 | + | |
| 9 | 12 | /** |
| 10 | 13 | * 秒杀时段 Base VO,提供给添加、修改、详细的子 VO 使用 |
| 11 | 14 | * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
| 15 | + * | |
| 16 | + * @author HUIHUI | |
| 12 | 17 | */ |
| 13 | 18 | @Data |
| 14 | -public class SeckillTimeBaseVO { | |
| 19 | +public class SeckillConfigBaseVO { | |
| 15 | 20 | |
| 16 | - @Schema(description = "秒杀时段名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "上午场") | |
| 21 | + @Schema(description = "秒杀时段名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "早上场") | |
| 17 | 22 | @NotNull(message = "秒杀时段名称不能为空") |
| 18 | 23 | private String name; |
| 19 | 24 | |
| 20 | - @Schema(description = "开始时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:30:40") | |
| 25 | + @Schema(description = "开始时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "09:00:00") | |
| 21 | 26 | @NotNull(message = "开始时间点不能为空") |
| 27 | + @DateTimeFormat(pattern = FORMAT_HOUR_MINUTE_SECOND) | |
| 22 | 28 | private LocalTime startTime; |
| 23 | 29 | |
| 24 | - @Schema(description = "结束时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:30:40") | |
| 30 | + @Schema(description = "结束时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:00:00") | |
| 25 | 31 | @NotNull(message = "结束时间点不能为空") |
| 32 | + @DateTimeFormat(pattern = FORMAT_HOUR_MINUTE_SECOND) | |
| 26 | 33 | private LocalTime endTime; |
| 27 | 34 | |
| 35 | + @Schema(description = "秒杀主图", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") | |
| 36 | + @NotNull(message = "秒杀主图不能为空") | |
| 37 | + private String picUrl; | |
| 38 | + | |
| 39 | + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | |
| 40 | + @NotNull(message = "状态不能为空") | |
| 41 | + private Integer status; | |
| 42 | + | |
| 28 | 43 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeCreateReqVO.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigCreateReqVO.java
| 1 | -package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time; | |
| 1 | +package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config; | |
| 2 | 2 | |
| 3 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 4 | import lombok.Data; |
| 5 | 5 | import lombok.EqualsAndHashCode; |
| 6 | 6 | import lombok.ToString; |
| 7 | 7 | |
| 8 | +/** | |
| 9 | + * 管理后台 秒杀时段创建 Request VO | |
| 10 | + * | |
| 11 | + * @author HUIHUI | |
| 12 | + */ | |
| 8 | 13 | @Schema(description = "管理后台 - 秒杀时段创建 Request VO") |
| 9 | 14 | @Data |
| 10 | 15 | @EqualsAndHashCode(callSuper = true) |
| 11 | 16 | @ToString(callSuper = true) |
| 12 | -public class SeckillTimeCreateReqVO extends SeckillTimeBaseVO { | |
| 17 | +public class SeckillConfigCreateReqVO extends SeckillConfigBaseVO { | |
| 13 | 18 | |
| 14 | 19 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimePageReqVO.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigPageReqVO.java
| 1 | -package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time; | |
| 1 | +package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| ... | ... | @@ -9,21 +9,29 @@ import org.springframework.format.annotation.DateTimeFormat; |
| 9 | 9 | |
| 10 | 10 | import java.time.LocalTime; |
| 11 | 11 | |
| 12 | +/** | |
| 13 | + * 管理后台 - 秒杀时段分页 Request VO | |
| 14 | + * | |
| 15 | + * @author HUIHUI | |
| 16 | + */ | |
| 12 | 17 | @Schema(description = "管理后台 - 秒杀时段分页 Request VO") |
| 13 | 18 | @Data |
| 14 | 19 | @EqualsAndHashCode(callSuper = true) |
| 15 | 20 | @ToString(callSuper = true) |
| 16 | -public class SeckillTimePageReqVO extends PageParam { | |
| 21 | +public class SeckillConfigPageReqVO extends PageParam { | |
| 17 | 22 | |
| 18 | 23 | @Schema(description = "秒杀时段名称", example = "上午场") |
| 19 | 24 | private String name; |
| 20 | 25 | |
| 26 | + @Schema(description = "状态", example = "0") | |
| 27 | + private Integer status; | |
| 28 | + | |
| 21 | 29 | @Schema(description = "开始时间点", example = "16:30:40") |
| 22 | 30 | @DateTimeFormat(pattern = "HH:mm:ss") |
| 23 | - private LocalTime startTime; | |
| 31 | + private LocalTime[] startTime; | |
| 24 | 32 | |
| 25 | 33 | @Schema(description = "结束时间点", example = "16:30:40") |
| 26 | 34 | @DateTimeFormat(pattern = "HH:mm:ss") |
| 27 | - private LocalTime endTime; | |
| 35 | + private LocalTime[] endTime; | |
| 28 | 36 | |
| 29 | 37 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeRespVO.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigRespVO.java
| 1 | -package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time; | |
| 1 | +package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config; | |
| 2 | 2 | |
| 3 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 4 | import lombok.Data; |
| 5 | 5 | import lombok.EqualsAndHashCode; |
| 6 | 6 | import lombok.ToString; |
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | |
| 7 | 8 | |
| 8 | 9 | import java.time.LocalDateTime; |
| 9 | 10 | |
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * 管理后台 - 秒杀时段 Response VO | |
| 15 | + * | |
| 16 | + * @author HUIHUI | |
| 17 | + */ | |
| 10 | 18 | @Schema(description = "管理后台 - 秒杀时段 Response VO") |
| 11 | 19 | @Data |
| 12 | 20 | @EqualsAndHashCode(callSuper = true) |
| 13 | 21 | @ToString(callSuper = true) |
| 14 | -public class SeckillTimeRespVO extends SeckillTimeBaseVO { | |
| 22 | +public class SeckillConfigRespVO extends SeckillConfigBaseVO { | |
| 15 | 23 | |
| 16 | 24 | @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 17 | 25 | private Long id; |
| 18 | 26 | |
| 19 | - @Schema(description = "秒杀活动数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 27 | + @Schema(description = "秒杀活动数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") | |
| 20 | 28 | private Integer seckillActivityCount; |
| 21 | 29 | |
| 22 | 30 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) |
| 31 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 23 | 32 | private LocalDateTime createTime; |
| 24 | 33 | |
| 25 | 34 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeUpdateReqVO.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigUpdateReqVO.java
| 1 | -package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time; | |
| 1 | +package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config; | |
| 2 | 2 | |
| 3 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 4 | import lombok.Data; |
| ... | ... | @@ -7,11 +7,16 @@ import lombok.ToString; |
| 7 | 7 | |
| 8 | 8 | import javax.validation.constraints.NotNull; |
| 9 | 9 | |
| 10 | +/** | |
| 11 | + * 管理后台 - 秒杀时段更新 Request VO | |
| 12 | + * | |
| 13 | + * @author HUIHUI | |
| 14 | + */ | |
| 10 | 15 | @Schema(description = "管理后台 - 秒杀时段更新 Request VO") |
| 11 | 16 | @Data |
| 12 | 17 | @EqualsAndHashCode(callSuper = true) |
| 13 | 18 | @ToString(callSuper = true) |
| 14 | -public class SeckillTimeUpdateReqVO extends SeckillTimeBaseVO { | |
| 19 | +public class SeckillConfigUpdateReqVO extends SeckillConfigBaseVO { | |
| 15 | 20 | |
| 16 | 21 | @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 17 | 22 | @NotNull(message = "编号不能为空") | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/seckill/seckillconfig/SeckillConfigConvert.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.promotion.convert.seckill.seckillconfig; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigCreateReqVO; | |
| 5 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigRespVO; | |
| 6 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO; | |
| 7 | +import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; | |
| 8 | +import org.mapstruct.Mapper; | |
| 9 | +import org.mapstruct.Mapping; | |
| 10 | +import org.mapstruct.factory.Mappers; | |
| 11 | + | |
| 12 | +import java.util.List; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * 秒杀时段 Convert | |
| 16 | + * | |
| 17 | + * @author 芋道源码 | |
| 18 | + */ | |
| 19 | +@Mapper | |
| 20 | +public interface SeckillConfigConvert { | |
| 21 | + | |
| 22 | + SeckillConfigConvert INSTANCE = Mappers.getMapper(SeckillConfigConvert.class); | |
| 23 | + | |
| 24 | + SeckillConfigDO convert(SeckillConfigCreateReqVO bean); | |
| 25 | + | |
| 26 | + SeckillConfigDO convert(SeckillConfigUpdateReqVO bean); | |
| 27 | + | |
| 28 | + @Mapping(target = "s") | |
| 29 | + SeckillConfigRespVO convert(SeckillConfigDO bean); | |
| 30 | + | |
| 31 | + List<SeckillConfigRespVO> convertList(List<SeckillConfigDO> list); | |
| 32 | + | |
| 33 | + PageResult<SeckillConfigRespVO> convertPage(PageResult<SeckillConfigDO> page); | |
| 34 | + | |
| 35 | +} | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/seckill/seckilltime/SeckillTimeConvert.java deleted
| 1 | -package cn.iocoder.yudao.module.promotion.convert.seckill.seckilltime; | |
| 2 | - | |
| 3 | -import java.util.*; | |
| 4 | - | |
| 5 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 6 | - | |
| 7 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeCreateReqVO; | |
| 8 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeRespVO; | |
| 9 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeUpdateReqVO; | |
| 10 | -import org.mapstruct.Mapper; | |
| 11 | -import org.mapstruct.factory.Mappers; | |
| 12 | -import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime.SeckillTimeDO; | |
| 13 | - | |
| 14 | -/** | |
| 15 | - * 秒杀时段 Convert | |
| 16 | - * | |
| 17 | - * @author 芋道源码 | |
| 18 | - */ | |
| 19 | -@Mapper | |
| 20 | -public interface SeckillTimeConvert { | |
| 21 | - | |
| 22 | - SeckillTimeConvert INSTANCE = Mappers.getMapper(SeckillTimeConvert.class); | |
| 23 | - | |
| 24 | - SeckillTimeDO convert(SeckillTimeCreateReqVO bean); | |
| 25 | - | |
| 26 | - SeckillTimeDO convert(SeckillTimeUpdateReqVO bean); | |
| 27 | - | |
| 28 | - SeckillTimeRespVO convert(SeckillTimeDO bean); | |
| 29 | - | |
| 30 | - List<SeckillTimeRespVO> convertList(List<SeckillTimeDO> list); | |
| 31 | - | |
| 32 | - PageResult<SeckillTimeRespVO> convertPage(PageResult<SeckillTimeDO> page); | |
| 33 | - | |
| 34 | -} |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/seckillactivity/SeckillProductDO.java
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/seckilltime/SeckillTimeDO.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/seckillconfig/SeckillConfigDO.java
| 1 | -package cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime; | |
| 1 | +package cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig; | |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 3 | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 5 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 5 | 6 | import com.baomidou.mybatisplus.annotation.TableId; |
| ... | ... | @@ -15,12 +16,12 @@ import java.time.LocalTime; |
| 15 | 16 | * |
| 16 | 17 | * @author 芋道源码 |
| 17 | 18 | */ |
| 18 | -@TableName("promotion_seckill_time") | |
| 19 | -@KeySequence("promotion_seckill_time_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | |
| 19 | +@TableName("promotion_seckill_config") | |
| 20 | +@KeySequence("promotion_seckill_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | |
| 20 | 21 | @Data |
| 21 | 22 | @EqualsAndHashCode(callSuper = true) |
| 22 | 23 | @ToString(callSuper = true) |
| 23 | -public class SeckillTimeDO extends BaseDO { | |
| 24 | +public class SeckillConfigDO extends BaseDO { | |
| 24 | 25 | |
| 25 | 26 | /** |
| 26 | 27 | * 编号 |
| ... | ... | @@ -40,8 +41,14 @@ public class SeckillTimeDO extends BaseDO { |
| 40 | 41 | */ |
| 41 | 42 | private LocalTime endTime; |
| 42 | 43 | /** |
| 43 | - * 秒杀活动数量 | |
| 44 | + * 秒杀主图 | |
| 44 | 45 | */ |
| 45 | - private Integer seckillActivityCount; | |
| 46 | + private String picUrl; | |
| 47 | + /** | |
| 48 | + * 状态 开启:0 禁用:1 | |
| 49 | + * <p> | |
| 50 | + * 枚举 {@link CommonStatusEnum 对应的类} | |
| 51 | + */ | |
| 52 | + private Integer status; | |
| 46 | 53 | |
| 47 | 54 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillconfig/SeckillConfigMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckillconfig; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 6 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; | |
| 8 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
| 9 | +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; | |
| 10 | +import org.apache.ibatis.annotations.Mapper; | |
| 11 | + | |
| 12 | +import java.time.LocalTime; | |
| 13 | +import java.util.Collection; | |
| 14 | +import java.util.List; | |
| 15 | + | |
| 16 | +@Mapper | |
| 17 | +public interface SeckillConfigMapper extends BaseMapperX<SeckillConfigDO> { | |
| 18 | + | |
| 19 | + default List<SeckillConfigDO> selectListByTime(LocalTime time) { | |
| 20 | + return selectList(SeckillConfigDO::getStartTime, SeckillConfigDO::getEndTime, time); | |
| 21 | + } | |
| 22 | + | |
| 23 | + default List<SeckillConfigDO> selectListByTime(LocalTime startTime, LocalTime endTime) { | |
| 24 | + return selectList(new LambdaQueryWrapper<SeckillConfigDO>() | |
| 25 | + .ge(SeckillConfigDO::getStartTime, startTime) | |
| 26 | + .le(SeckillConfigDO::getEndTime, endTime)); | |
| 27 | + } | |
| 28 | + | |
| 29 | + default void updateActivityCount(Collection<Long> ids, String type, Integer count) { | |
| 30 | + new LambdaUpdateChainWrapper<>(this) | |
| 31 | + .in(SeckillConfigDO::getId, ids) | |
| 32 | + .setSql("`seckill_activity_count` = `seckill_activity_count` " + type + count) | |
| 33 | + .update(); | |
| 34 | + } | |
| 35 | + | |
| 36 | + default PageResult<SeckillConfigDO> selectPage(SeckillConfigPageReqVO reqVO) { | |
| 37 | + return selectPage(reqVO, new LambdaQueryWrapperX<SeckillConfigDO>() | |
| 38 | + .likeIfPresent(SeckillConfigDO::getName, reqVO.getName()) | |
| 39 | + .betweenIfPresent(SeckillConfigDO::getStartTime, reqVO.getStartTime()) | |
| 40 | + .betweenIfPresent(SeckillConfigDO::getEndTime, reqVO.getEndTime()) | |
| 41 | + .eqIfPresent(SeckillConfigDO::getStatus, reqVO.getStatus()) | |
| 42 | + .orderByDesc(SeckillConfigDO::getId)); | |
| 43 | + } | |
| 44 | + | |
| 45 | +} | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckilltime/SeckillTimeMapper.java deleted
| 1 | -package cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckilltime; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 4 | -import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime.SeckillTimeDO; | |
| 5 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
| 6 | -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; | |
| 7 | -import org.apache.ibatis.annotations.Mapper; | |
| 8 | - | |
| 9 | -import java.time.LocalTime; | |
| 10 | -import java.util.Collection; | |
| 11 | -import java.util.List; | |
| 12 | - | |
| 13 | -@Mapper | |
| 14 | -public interface SeckillTimeMapper extends BaseMapperX<SeckillTimeDO> { | |
| 15 | - | |
| 16 | - default List<SeckillTimeDO> selectListByTime(LocalTime time) { | |
| 17 | - return selectList(SeckillTimeDO::getStartTime, SeckillTimeDO::getEndTime, time); | |
| 18 | - } | |
| 19 | - | |
| 20 | - default List<SeckillTimeDO> selectListByTime(LocalTime startTime, LocalTime endTime) { | |
| 21 | - return selectList(new LambdaQueryWrapper<SeckillTimeDO>() | |
| 22 | - .ge(SeckillTimeDO::getStartTime, startTime) | |
| 23 | - .le(SeckillTimeDO::getEndTime, endTime)); | |
| 24 | - } | |
| 25 | - | |
| 26 | - default void updateActivityCount(Collection<Long> ids, String type, Integer count) { | |
| 27 | - new LambdaUpdateChainWrapper<>(this) | |
| 28 | - .in(SeckillTimeDO::getId, ids) | |
| 29 | - .setSql("`seckill_activity_count` = `seckill_activity_count` " + type + count) | |
| 30 | - .update(); | |
| 31 | - } | |
| 32 | -} |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckillactivity/SeckillActivityService.java
| 1 | 1 | package cn.iocoder.yudao.module.promotion.service.seckill.seckillactivity; |
| 2 | 2 | |
| 3 | -import java.util.*; | |
| 4 | -import javax.validation.*; | |
| 5 | - | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 6 | 4 | import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityCreateReqVO; |
| 7 | 5 | import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityPageReqVO; |
| 8 | 6 | import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityUpdateReqVO; |
| 9 | 7 | import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillactivity.SeckillActivityDO; |
| 10 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 11 | 8 | import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillactivity.SeckillProductDO; |
| 12 | 9 | |
| 10 | +import javax.validation.Valid; | |
| 11 | +import java.util.Collection; | |
| 12 | +import java.util.List; | |
| 13 | + | |
| 13 | 14 | /** |
| 14 | 15 | * 秒杀活动 Service 接口 |
| 15 | 16 | * |
| ... | ... | @@ -77,4 +78,5 @@ public interface SeckillActivityService { |
| 77 | 78 | * @return 活动商品列表 |
| 78 | 79 | */ |
| 79 | 80 | List<SeckillProductDO> getSeckillProductListByActivityId(Long id); |
| 81 | + | |
| 80 | 82 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckillactivity/SeckillActivityServiceImpl.java
| ... | ... | @@ -13,7 +13,7 @@ import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillactivity. |
| 13 | 13 | import cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckillactivity.SeckillActivityMapper; |
| 14 | 14 | import cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckillactivity.SeckillProductMapper; |
| 15 | 15 | import cn.iocoder.yudao.module.promotion.enums.common.PromotionActivityStatusEnum; |
| 16 | -import cn.iocoder.yudao.module.promotion.service.seckill.seckilltime.SeckillTimeService; | |
| 16 | +import cn.iocoder.yudao.module.promotion.service.seckill.seckillconfig.SeckillConfigService; | |
| 17 | 17 | import cn.iocoder.yudao.module.promotion.util.PromotionUtils; |
| 18 | 18 | import org.springframework.stereotype.Service; |
| 19 | 19 | import org.springframework.validation.annotation.Validated; |
| ... | ... | @@ -34,29 +34,30 @@ import static java.util.Arrays.asList; |
| 34 | 34 | @Service |
| 35 | 35 | @Validated |
| 36 | 36 | public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 37 | + | |
| 37 | 38 | @Resource |
| 38 | 39 | private SeckillActivityMapper seckillActivityMapper; |
| 39 | 40 | @Resource |
| 40 | 41 | private SeckillProductMapper seckillProductMapper; |
| 41 | 42 | @Resource |
| 42 | - private SeckillTimeService seckillTimeService; | |
| 43 | + private SeckillConfigService seckillConfigService; | |
| 43 | 44 | |
| 44 | 45 | @Override |
| 45 | 46 | public Long createSeckillActivity(SeckillActivityCreateReqVO createReqVO) { |
| 46 | 47 | // 校验商品是否冲突 |
| 47 | 48 | validateSeckillActivityProductConflicts(null, createReqVO.getProducts()); |
| 48 | 49 | // 校验秒杀时段是否存在 |
| 49 | - seckillTimeService.validateSeckillTimeExists(createReqVO.getTimeIds()); | |
| 50 | + seckillConfigService.validateSeckillConfigExists(createReqVO.getTimeIds()); | |
| 50 | 51 | |
| 51 | 52 | // 插入秒杀活动 |
| 52 | 53 | SeckillActivityDO seckillActivity = SeckillActivityConvert.INSTANCE.convert(createReqVO) |
| 53 | 54 | .setStatus(PromotionUtils.calculateActivityStatus(createReqVO.getStartTime(), createReqVO.getEndTime())); |
| 54 | 55 | seckillActivityMapper.insert(seckillActivity); |
| 55 | 56 | // 插入商品 |
| 56 | - List<SeckillProductDO> productDOS = SeckillActivityConvert.INSTANCE.convertList(createReqVO.getProducts(), seckillActivity); | |
| 57 | - seckillProductMapper.insertBatch(productDOS); | |
| 57 | + List<SeckillProductDO> productDOs = SeckillActivityConvert.INSTANCE.convertList(createReqVO.getProducts(), seckillActivity); | |
| 58 | + seckillProductMapper.insertBatch(productDOs); | |
| 58 | 59 | // 更新秒杀时段的秒杀活动数量 |
| 59 | - seckillTimeService.sekillActivityCountIncr(createReqVO.getTimeIds()); | |
| 60 | + seckillConfigService.seckillActivityCountIncr(createReqVO.getTimeIds()); | |
| 60 | 61 | return seckillActivity.getId(); |
| 61 | 62 | } |
| 62 | 63 | |
| ... | ... | @@ -77,17 +78,16 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 77 | 78 | // 更新商品 |
| 78 | 79 | updateSeckillProduct(updateReqVO); |
| 79 | 80 | // 更新秒杀时段的秒杀活动数量 |
| 80 | - updateSeckillTimeActivityCount(seckillActivity, updateReqVO.getTimeIds()); | |
| 81 | + updateSeckillConfigActivityCount(seckillActivity, updateReqVO.getTimeIds()); | |
| 81 | 82 | } |
| 82 | 83 | |
| 83 | - | |
| 84 | 84 | /** |
| 85 | 85 | * 更新秒杀时段的秒杀活动数量 |
| 86 | 86 | * |
| 87 | 87 | * @param seckillActivity 查询出的秒杀活动 |
| 88 | 88 | * @param updateTimeIds 更新后的秒杀时段id列表 |
| 89 | 89 | */ |
| 90 | - private void updateSeckillTimeActivityCount(SeckillActivityDO seckillActivity, List<Long> updateTimeIds) { | |
| 90 | + private void updateSeckillConfigActivityCount(SeckillActivityDO seckillActivity, List<Long> updateTimeIds) { | |
| 91 | 91 | // 查询出 timeIds |
| 92 | 92 | List<Long> existsTimeIds = seckillActivity.getTimeIds(); |
| 93 | 93 | // 需要减少的时间段 |
| ... | ... | @@ -96,10 +96,10 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 96 | 96 | updateTimeIds.removeIf(existsTimeIds::contains); |
| 97 | 97 | // 更新减少时间段和增加时间段 |
| 98 | 98 | if (CollUtil.isNotEmpty(updateTimeIds)) { |
| 99 | - seckillTimeService.sekillActivityCountIncr(updateTimeIds); | |
| 99 | + seckillConfigService.seckillActivityCountIncr(updateTimeIds); | |
| 100 | 100 | } |
| 101 | 101 | if (CollUtil.isNotEmpty(reduceIds)) { |
| 102 | - seckillTimeService.sekillActivityCountDecr(reduceIds); | |
| 102 | + seckillConfigService.seckillActivityCountDecr(reduceIds); | |
| 103 | 103 | } |
| 104 | 104 | } |
| 105 | 105 | |
| ... | ... | @@ -113,11 +113,11 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 113 | 113 | * @param updateReqVO 更新的请求VO |
| 114 | 114 | */ |
| 115 | 115 | private void updateSeckillProduct(SeckillActivityUpdateReqVO updateReqVO) { |
| 116 | - List<SeckillProductDO> seckillProductDOS = seckillProductMapper.selectListByActivityId(updateReqVO.getId()); | |
| 116 | + List<SeckillProductDO> seckillProductDOs = seckillProductMapper.selectListByActivityId(updateReqVO.getId()); | |
| 117 | 117 | List<SeckillActivityBaseVO.Product> products = updateReqVO.getProducts(); |
| 118 | 118 | |
| 119 | 119 | // 计算需要删除的数据 |
| 120 | - List<Long> deleteIds = CollectionUtils.convertList(seckillProductDOS, SeckillProductDO::getId, | |
| 120 | + List<Long> deleteIds = CollectionUtils.convertList(seckillProductDOs, SeckillProductDO::getId, | |
| 121 | 121 | seckillProductDO -> products.stream() |
| 122 | 122 | .noneMatch(product -> SeckillActivityConvert.INSTANCE.isEquals(seckillProductDO, product))); |
| 123 | 123 | if (CollUtil.isNotEmpty(deleteIds)) { |
| ... | ... | @@ -127,7 +127,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 127 | 127 | // 计算需要新增的数据 |
| 128 | 128 | List<SeckillProductDO> newSeckillProductDOs = CollectionUtils.convertList(products, |
| 129 | 129 | product -> SeckillActivityConvert.INSTANCE.convert(product).setActivityId(updateReqVO.getId())); |
| 130 | - newSeckillProductDOs.removeIf(product -> seckillProductDOS.stream() | |
| 130 | + newSeckillProductDOs.removeIf(product -> seckillProductDOs.stream() | |
| 131 | 131 | .anyMatch(seckillProduct -> SeckillActivityConvert.INSTANCE.isEquals(seckillProduct, product))); |
| 132 | 132 | if (CollUtil.isNotEmpty(newSeckillProductDOs)) { |
| 133 | 133 | seckillProductMapper.insertBatch(newSeckillProductDOs); |
| ... | ... | @@ -147,21 +147,21 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 147 | 147 | if (CollUtil.isEmpty(products)) { |
| 148 | 148 | return; |
| 149 | 149 | } |
| 150 | - List<SeckillProductDO> seckillProductDOS = seckillProductMapper | |
| 150 | + List<SeckillProductDO> seckillProductDOs = seckillProductMapper | |
| 151 | 151 | .selectListBySkuIds(CollectionUtils.convertSet(products, SeckillActivityBaseVO.Product::getSkuId)); |
| 152 | - if (CollUtil.isEmpty(seckillProductDOS)) { | |
| 152 | + if (CollUtil.isEmpty(seckillProductDOs)) { | |
| 153 | 153 | return; |
| 154 | 154 | } |
| 155 | - List<SeckillActivityDO> seckillActivityDOS = seckillActivityMapper | |
| 156 | - .selectBatchIds(CollectionUtils.convertSet(seckillProductDOS, SeckillProductDO::getActivityId)); | |
| 155 | + List<SeckillActivityDO> seckillActivityDOs = seckillActivityMapper | |
| 156 | + .selectBatchIds(CollectionUtils.convertSet(seckillProductDOs, SeckillProductDO::getActivityId)); | |
| 157 | 157 | if (id != null) { // 排除自己这个活动 |
| 158 | - seckillActivityDOS.removeIf(item -> id.equals(item.getId())); | |
| 158 | + seckillActivityDOs.removeIf(item -> id.equals(item.getId())); | |
| 159 | 159 | } |
| 160 | 160 | // 排除不满足 status 的活动 |
| 161 | 161 | List<Integer> statuses = asList(PromotionActivityStatusEnum.WAIT.getStatus(), PromotionActivityStatusEnum.RUN.getStatus()); |
| 162 | - seckillActivityDOS.removeIf(item -> !statuses.contains(item.getStatus())); | |
| 162 | + seckillActivityDOs.removeIf(item -> !statuses.contains(item.getStatus())); | |
| 163 | 163 | // 如果非空,则说明冲突 |
| 164 | - if (CollUtil.isNotEmpty(seckillActivityDOS)) { | |
| 164 | + if (CollUtil.isNotEmpty(seckillActivityDOs)) { | |
| 165 | 165 | throw exception(SECKILL_ACTIVITY_SPU_CONFLICTS); |
| 166 | 166 | } |
| 167 | 167 | } |
| ... | ... | @@ -190,7 +190,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 190 | 190 | throw exception(SECKILL_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED_OR_END); |
| 191 | 191 | } |
| 192 | 192 | // 更新秒杀时段的秒杀活动数量 |
| 193 | - seckillTimeService.sekillActivityCountDecr(seckillActivity.getTimeIds()); | |
| 193 | + seckillConfigService.seckillActivityCountDecr(seckillActivity.getTimeIds()); | |
| 194 | 194 | // 删除 |
| 195 | 195 | seckillActivityMapper.deleteById(id); |
| 196 | 196 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckilltime/SeckillTimeService.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckillconfig/SeckillConfigService.java
| 1 | -package cn.iocoder.yudao.module.promotion.service.seckill.seckilltime; | |
| 1 | +package cn.iocoder.yudao.module.promotion.service.seckill.seckillconfig; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeCreateReqVO; | |
| 4 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeUpdateReqVO; | |
| 5 | -import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime.SeckillTimeDO; | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigCreateReqVO; | |
| 5 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigPageReqVO; | |
| 6 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO; | |
| 7 | +import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; | |
| 6 | 8 | |
| 7 | 9 | import javax.validation.Valid; |
| 8 | 10 | import java.util.Collection; |
| ... | ... | @@ -13,7 +15,7 @@ import java.util.List; |
| 13 | 15 | * |
| 14 | 16 | * @author halfninety |
| 15 | 17 | */ |
| 16 | -public interface SeckillTimeService { | |
| 18 | +public interface SeckillConfigService { | |
| 17 | 19 | |
| 18 | 20 | /** |
| 19 | 21 | * 创建秒杀时段 |
| ... | ... | @@ -21,21 +23,21 @@ public interface SeckillTimeService { |
| 21 | 23 | * @param createReqVO 创建信息 |
| 22 | 24 | * @return 编号 |
| 23 | 25 | */ |
| 24 | - Long createSeckillTime(@Valid SeckillTimeCreateReqVO createReqVO); | |
| 26 | + Long createSeckillConfig(@Valid SeckillConfigCreateReqVO createReqVO); | |
| 25 | 27 | |
| 26 | 28 | /** |
| 27 | 29 | * 更新秒杀时段 |
| 28 | 30 | * |
| 29 | 31 | * @param updateReqVO 更新信息 |
| 30 | 32 | */ |
| 31 | - void updateSeckillTime(@Valid SeckillTimeUpdateReqVO updateReqVO); | |
| 33 | + void updateSeckillConfig(@Valid SeckillConfigUpdateReqVO updateReqVO); | |
| 32 | 34 | |
| 33 | 35 | /** |
| 34 | 36 | * 删除秒杀时段 |
| 35 | 37 | * |
| 36 | 38 | * @param id 编号 |
| 37 | 39 | */ |
| 38 | - void deleteSeckillTime(Long id); | |
| 40 | + void deleteSeckillConfig(Long id); | |
| 39 | 41 | |
| 40 | 42 | /** |
| 41 | 43 | * 获得秒杀时段 |
| ... | ... | @@ -43,28 +45,28 @@ public interface SeckillTimeService { |
| 43 | 45 | * @param id 编号 |
| 44 | 46 | * @return 秒杀时段 |
| 45 | 47 | */ |
| 46 | - SeckillTimeDO getSeckillTime(Long id); | |
| 48 | + SeckillConfigDO getSeckillConfig(Long id); | |
| 47 | 49 | |
| 48 | 50 | /** |
| 49 | 51 | * 获得所有秒杀时段列表 |
| 50 | 52 | * |
| 51 | 53 | * @return 所有秒杀时段列表 |
| 52 | 54 | */ |
| 53 | - List<SeckillTimeDO> getSeckillTimeList(); | |
| 55 | + List<SeckillConfigDO> getSeckillConfigList(); | |
| 54 | 56 | |
| 55 | 57 | /** |
| 56 | 58 | * 校验秒杀时段是否存在 |
| 57 | 59 | * |
| 58 | 60 | * @param timeIds 秒杀时段id集合 |
| 59 | 61 | */ |
| 60 | - void validateSeckillTimeExists(Collection<Long> timeIds); | |
| 62 | + void validateSeckillConfigExists(Collection<Long> timeIds); | |
| 61 | 63 | |
| 62 | 64 | /** |
| 63 | 65 | * 秒杀时段列表的秒杀活动数量加 1 |
| 64 | 66 | * |
| 65 | 67 | * @param ids 秒杀时段id列表 |
| 66 | 68 | */ |
| 67 | - void sekillActivityCountIncr(Collection<Long> ids); | |
| 69 | + void seckillActivityCountIncr(Collection<Long> ids); | |
| 68 | 70 | |
| 69 | 71 | |
| 70 | 72 | /** |
| ... | ... | @@ -72,5 +74,14 @@ public interface SeckillTimeService { |
| 72 | 74 | * |
| 73 | 75 | * @param ids 秒杀时段id列表 |
| 74 | 76 | */ |
| 75 | - void sekillActivityCountDecr(Collection<Long> ids); | |
| 77 | + void seckillActivityCountDecr(Collection<Long> ids); | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 获得秒杀时间段配置分页数据 | |
| 81 | + * | |
| 82 | + * @param pageVO 分页请求参数 | |
| 83 | + * @return 秒杀时段分页列表 | |
| 84 | + */ | |
| 85 | + PageResult<SeckillConfigDO> getSeckillConfigPage(SeckillConfigPageReqVO pageVO); | |
| 86 | + | |
| 76 | 87 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckilltime/SeckillTimeServiceImpl.java renamed to yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckillconfig/SeckillConfigServiceImpl.java
| 1 | -package cn.iocoder.yudao.module.promotion.service.seckill.seckilltime; | |
| 1 | +package cn.iocoder.yudao.module.promotion.service.seckill.seckillconfig; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeCreateReqVO; | |
| 5 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeUpdateReqVO; | |
| 6 | -import cn.iocoder.yudao.module.promotion.convert.seckill.seckilltime.SeckillTimeConvert; | |
| 7 | -import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime.SeckillTimeDO; | |
| 8 | -import cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckilltime.SeckillTimeMapper; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigCreateReqVO; | |
| 6 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO; | |
| 8 | +import cn.iocoder.yudao.module.promotion.convert.seckill.seckillconfig.SeckillConfigConvert; | |
| 9 | +import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; | |
| 10 | +import cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckillconfig.SeckillConfigMapper; | |
| 9 | 11 | import org.springframework.stereotype.Service; |
| 10 | 12 | import org.springframework.validation.annotation.Validated; |
| 11 | 13 | |
| ... | ... | @@ -26,43 +28,43 @@ import static cn.iocoder.yudao.module.promotion.enums.ErrorCodeConstants.SECKILL |
| 26 | 28 | */ |
| 27 | 29 | @Service |
| 28 | 30 | @Validated |
| 29 | -public class SeckillTimeServiceImpl implements SeckillTimeService { | |
| 31 | +public class SeckillConfigServiceImpl implements SeckillConfigService { | |
| 30 | 32 | |
| 31 | 33 | @Resource |
| 32 | - private SeckillTimeMapper seckillTimeMapper; | |
| 34 | + private SeckillConfigMapper seckillConfigMapper; | |
| 33 | 35 | |
| 34 | 36 | @Override |
| 35 | - public Long createSeckillTime(SeckillTimeCreateReqVO createReqVO) { | |
| 37 | + public Long createSeckillConfig(SeckillConfigCreateReqVO createReqVO) { | |
| 36 | 38 | // 校验时间段是否冲突 |
| 37 | - validateSeckillTimeConflict(null, createReqVO.getStartTime(), createReqVO.getEndTime()); | |
| 39 | + validateSeckillConfigConflict(null, createReqVO.getStartTime(), createReqVO.getEndTime()); | |
| 38 | 40 | // 插入 |
| 39 | - SeckillTimeDO seckillTime = SeckillTimeConvert.INSTANCE.convert(createReqVO); | |
| 40 | - seckillTimeMapper.insert(seckillTime); | |
| 41 | + SeckillConfigDO seckillConfig = SeckillConfigConvert.INSTANCE.convert(createReqVO); | |
| 42 | + seckillConfigMapper.insert(seckillConfig); | |
| 41 | 43 | // 返回 |
| 42 | - return seckillTime.getId(); | |
| 44 | + return seckillConfig.getId(); | |
| 43 | 45 | } |
| 44 | 46 | |
| 45 | 47 | @Override |
| 46 | - public void updateSeckillTime(SeckillTimeUpdateReqVO updateReqVO) { | |
| 48 | + public void updateSeckillConfig(SeckillConfigUpdateReqVO updateReqVO) { | |
| 47 | 49 | // 校验存在 |
| 48 | - this.validateSeckillTimeExists(updateReqVO.getId()); | |
| 50 | + this.validateSeckillConfigExists(updateReqVO.getId()); | |
| 49 | 51 | // 校验时间段是否冲突 |
| 50 | - validateSeckillTimeConflict(updateReqVO.getId(), updateReqVO.getStartTime(), updateReqVO.getEndTime()); | |
| 52 | + validateSeckillConfigConflict(updateReqVO.getId(), updateReqVO.getStartTime(), updateReqVO.getEndTime()); | |
| 51 | 53 | // 更新 |
| 52 | - SeckillTimeDO updateObj = SeckillTimeConvert.INSTANCE.convert(updateReqVO); | |
| 53 | - seckillTimeMapper.updateById(updateObj); | |
| 54 | + SeckillConfigDO updateObj = SeckillConfigConvert.INSTANCE.convert(updateReqVO); | |
| 55 | + seckillConfigMapper.updateById(updateObj); | |
| 54 | 56 | } |
| 55 | 57 | |
| 56 | 58 | @Override |
| 57 | - public void deleteSeckillTime(Long id) { | |
| 59 | + public void deleteSeckillConfig(Long id) { | |
| 58 | 60 | // 校验存在 |
| 59 | - this.validateSeckillTimeExists(id); | |
| 61 | + this.validateSeckillConfigExists(id); | |
| 60 | 62 | // 删除 |
| 61 | - seckillTimeMapper.deleteById(id); | |
| 63 | + seckillConfigMapper.deleteById(id); | |
| 62 | 64 | } |
| 63 | 65 | |
| 64 | - private void validateSeckillTimeExists(Long id) { | |
| 65 | - if (seckillTimeMapper.selectById(id) == null) { | |
| 66 | + private void validateSeckillConfigExists(Long id) { | |
| 67 | + if (seckillConfigMapper.selectById(id) == null) { | |
| 66 | 68 | throw exception(SECKILL_TIME_NOT_EXISTS); |
| 67 | 69 | } |
| 68 | 70 | } |
| ... | ... | @@ -73,17 +75,17 @@ public class SeckillTimeServiceImpl implements SeckillTimeService { |
| 73 | 75 | * @param startTime 开始时间 |
| 74 | 76 | * @param endTime 结束时间 |
| 75 | 77 | */ |
| 76 | - private void validateSeckillTimeConflict(Long id, LocalTime startTime, LocalTime endTime) { | |
| 78 | + private void validateSeckillConfigConflict(Long id, LocalTime startTime, LocalTime endTime) { | |
| 77 | 79 | //查询开始时间,结束时间,是否在别人的时间段内 |
| 78 | - List<SeckillTimeDO> startTimeList = seckillTimeMapper.selectListByTime(startTime); | |
| 79 | - List<SeckillTimeDO> endTimeList = seckillTimeMapper.selectListByTime(endTime); | |
| 80 | + List<SeckillConfigDO> startTimeList = seckillConfigMapper.selectListByTime(startTime); | |
| 81 | + List<SeckillConfigDO> endTimeList = seckillConfigMapper.selectListByTime(endTime); | |
| 80 | 82 | //查询自己时间段内是否有时间段 |
| 81 | - List<SeckillTimeDO> startEndTimeList = seckillTimeMapper.selectListByTime(startTime, endTime); | |
| 83 | + List<SeckillConfigDO> startEndTimeList = seckillConfigMapper.selectListByTime(startTime, endTime); | |
| 82 | 84 | if (id != null) { |
| 83 | 85 | //移除自己 |
| 84 | - startTimeList.removeIf(seckillTime -> Objects.equals(seckillTime.getId(), id)); | |
| 85 | - endTimeList.removeIf(seckillTime -> Objects.equals(seckillTime.getId(), id)); | |
| 86 | - startEndTimeList.removeIf(seckillTime -> Objects.equals(seckillTime.getId(), id)); | |
| 86 | + startTimeList.removeIf(seckillConfig -> Objects.equals(seckillConfig.getId(), id)); | |
| 87 | + endTimeList.removeIf(seckillConfig -> Objects.equals(seckillConfig.getId(), id)); | |
| 88 | + startEndTimeList.removeIf(seckillConfig -> Objects.equals(seckillConfig.getId(), id)); | |
| 87 | 89 | } |
| 88 | 90 | if (CollUtil.isNotEmpty(startTimeList) || CollUtil.isNotEmpty(endTimeList) |
| 89 | 91 | || CollUtil.isNotEmpty(startEndTimeList)) { |
| ... | ... | @@ -92,33 +94,38 @@ public class SeckillTimeServiceImpl implements SeckillTimeService { |
| 92 | 94 | } |
| 93 | 95 | |
| 94 | 96 | @Override |
| 95 | - public SeckillTimeDO getSeckillTime(Long id) { | |
| 96 | - return seckillTimeMapper.selectById(id); | |
| 97 | + public SeckillConfigDO getSeckillConfig(Long id) { | |
| 98 | + return seckillConfigMapper.selectById(id); | |
| 97 | 99 | } |
| 98 | 100 | |
| 99 | 101 | @Override |
| 100 | - public List<SeckillTimeDO> getSeckillTimeList() { | |
| 101 | - return seckillTimeMapper.selectList(); | |
| 102 | + public List<SeckillConfigDO> getSeckillConfigList() { | |
| 103 | + return seckillConfigMapper.selectList(); | |
| 102 | 104 | } |
| 103 | 105 | |
| 104 | 106 | @Override |
| 105 | - public void validateSeckillTimeExists(Collection<Long> timeIds) { | |
| 107 | + public void validateSeckillConfigExists(Collection<Long> timeIds) { | |
| 106 | 108 | if (CollUtil.isEmpty(timeIds)) { |
| 107 | 109 | throw exception(SECKILL_TIME_NOT_EXISTS); |
| 108 | 110 | } |
| 109 | - if (seckillTimeMapper.selectBatchIds(timeIds).size() != timeIds.size()) { | |
| 111 | + if (seckillConfigMapper.selectBatchIds(timeIds).size() != timeIds.size()) { | |
| 110 | 112 | throw exception(SECKILL_TIME_NOT_EXISTS); |
| 111 | 113 | } |
| 112 | 114 | } |
| 113 | 115 | |
| 114 | 116 | @Override |
| 115 | - public void sekillActivityCountIncr(Collection<Long> ids) { | |
| 116 | - seckillTimeMapper.updateActivityCount(ids, "+", 1); | |
| 117 | + public void seckillActivityCountIncr(Collection<Long> ids) { | |
| 118 | + seckillConfigMapper.updateActivityCount(ids, "+", 1); | |
| 117 | 119 | } |
| 118 | 120 | |
| 119 | 121 | @Override |
| 120 | - public void sekillActivityCountDecr(Collection<Long> ids) { | |
| 121 | - seckillTimeMapper.updateActivityCount(ids, "-", 1); | |
| 122 | + public void seckillActivityCountDecr(Collection<Long> ids) { | |
| 123 | + seckillConfigMapper.updateActivityCount(ids, "-", 1); | |
| 124 | + } | |
| 125 | + | |
| 126 | + @Override | |
| 127 | + public PageResult<SeckillConfigDO> getSeckillConfigPage(SeckillConfigPageReqVO pageVO) { | |
| 128 | + return seckillConfigMapper.selectPage(pageVO); | |
| 122 | 129 | } |
| 123 | 130 | |
| 124 | 131 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/seckillconfig/SeckillConfigServiceImplTest.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.promotion.service.seckillconfig; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | |
| 4 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigCreateReqVO; | |
| 5 | +import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO; | |
| 6 | +import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; | |
| 7 | +import cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckillconfig.SeckillConfigMapper; | |
| 8 | +import cn.iocoder.yudao.module.promotion.service.seckill.seckillconfig.SeckillConfigServiceImpl; | |
| 9 | +import com.fasterxml.jackson.core.JsonProcessingException; | |
| 10 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 11 | +import org.junit.jupiter.api.Disabled; | |
| 12 | +import org.junit.jupiter.api.Test; | |
| 13 | +import org.springframework.context.annotation.Import; | |
| 14 | + | |
| 15 | +import javax.annotation.Resource; | |
| 16 | + | |
| 17 | +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; | |
| 18 | +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; | |
| 19 | +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; | |
| 20 | +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; | |
| 21 | +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; | |
| 22 | +import static cn.iocoder.yudao.module.promotion.enums.ErrorCodeConstants.SECKILL_TIME_NOT_EXISTS; | |
| 23 | +import static org.junit.jupiter.api.Assertions.assertNotNull; | |
| 24 | +import static org.junit.jupiter.api.Assertions.assertNull; | |
| 25 | + | |
| 26 | +/** | |
| 27 | + * {@link SeckillConfigServiceImpl} 的单元测试类 | |
| 28 | + * | |
| 29 | + * @author 芋道源码 | |
| 30 | + */ | |
| 31 | +@Import(SeckillConfigServiceImpl.class) | |
| 32 | +@Disabled // TODO 芋艿:未来开启 | |
| 33 | +public class SeckillConfigServiceImplTest extends BaseDbUnitTest { | |
| 34 | + | |
| 35 | + @Resource | |
| 36 | + private SeckillConfigServiceImpl SeckillConfigService; | |
| 37 | + | |
| 38 | + @Resource | |
| 39 | + private SeckillConfigMapper seckillConfigMapper; | |
| 40 | + | |
| 41 | + @Resource | |
| 42 | + private ObjectMapper objectMapper; | |
| 43 | + | |
| 44 | + @Test | |
| 45 | + public void testJacksonSerializ() { | |
| 46 | + | |
| 47 | + // 准备参数 | |
| 48 | + SeckillConfigCreateReqVO reqVO = randomPojo(SeckillConfigCreateReqVO.class); | |
| 49 | +// ObjectMapper objectMapper = new ObjectMapper(); | |
| 50 | + try { | |
| 51 | + String string = objectMapper.writeValueAsString(reqVO); | |
| 52 | + System.out.println(string); | |
| 53 | + } catch (JsonProcessingException e) { | |
| 54 | + e.printStackTrace(); | |
| 55 | + } | |
| 56 | + | |
| 57 | + | |
| 58 | + } | |
| 59 | + | |
| 60 | + @Test | |
| 61 | + public void testCreateSeckillConfig_success() { | |
| 62 | + // 准备参数 | |
| 63 | + SeckillConfigCreateReqVO reqVO = randomPojo(SeckillConfigCreateReqVO.class); | |
| 64 | + | |
| 65 | + // 调用 | |
| 66 | + Long SeckillConfigId = SeckillConfigService.createSeckillConfig(reqVO); | |
| 67 | + // 断言 | |
| 68 | + assertNotNull(SeckillConfigId); | |
| 69 | + // 校验记录的属性是否正确 | |
| 70 | + SeckillConfigDO SeckillConfig = seckillConfigMapper.selectById(SeckillConfigId); | |
| 71 | + assertPojoEquals(reqVO, SeckillConfig); | |
| 72 | + } | |
| 73 | + | |
| 74 | + @Test | |
| 75 | + public void testUpdateSeckillConfig_success() { | |
| 76 | + // mock 数据 | |
| 77 | + SeckillConfigDO dbSeckillConfig = randomPojo(SeckillConfigDO.class); | |
| 78 | + seckillConfigMapper.insert(dbSeckillConfig);// @Sql: 先插入出一条存在的数据 | |
| 79 | + // 准备参数 | |
| 80 | + SeckillConfigUpdateReqVO reqVO = randomPojo(SeckillConfigUpdateReqVO.class, o -> { | |
| 81 | + o.setId(dbSeckillConfig.getId()); // 设置更新的 ID | |
| 82 | + }); | |
| 83 | + | |
| 84 | + // 调用 | |
| 85 | + SeckillConfigService.updateSeckillConfig(reqVO); | |
| 86 | + // 校验是否更新正确 | |
| 87 | + SeckillConfigDO SeckillConfig = seckillConfigMapper.selectById(reqVO.getId()); // 获取最新的 | |
| 88 | + assertPojoEquals(reqVO, SeckillConfig); | |
| 89 | + } | |
| 90 | + | |
| 91 | + @Test | |
| 92 | + public void testUpdateSeckillConfig_notExists() { | |
| 93 | + // 准备参数 | |
| 94 | + SeckillConfigUpdateReqVO reqVO = randomPojo(SeckillConfigUpdateReqVO.class); | |
| 95 | + | |
| 96 | + // 调用, 并断言异常 | |
| 97 | + assertServiceException(() -> SeckillConfigService.updateSeckillConfig(reqVO), SECKILL_TIME_NOT_EXISTS); | |
| 98 | + } | |
| 99 | + | |
| 100 | + @Test | |
| 101 | + public void testDeleteSeckillConfig_success() { | |
| 102 | + // mock 数据 | |
| 103 | + SeckillConfigDO dbSeckillConfig = randomPojo(SeckillConfigDO.class); | |
| 104 | + seckillConfigMapper.insert(dbSeckillConfig);// @Sql: 先插入出一条存在的数据 | |
| 105 | + // 准备参数 | |
| 106 | + Long id = dbSeckillConfig.getId(); | |
| 107 | + | |
| 108 | + // 调用 | |
| 109 | + SeckillConfigService.deleteSeckillConfig(id); | |
| 110 | + // 校验数据不存在了 | |
| 111 | + assertNull(seckillConfigMapper.selectById(id)); | |
| 112 | + } | |
| 113 | + | |
| 114 | + @Test | |
| 115 | + public void testDeleteSeckillConfig_notExists() { | |
| 116 | + // 准备参数 | |
| 117 | + Long id = randomLongId(); | |
| 118 | + | |
| 119 | + // 调用, 并断言异常 | |
| 120 | + assertServiceException(() -> SeckillConfigService.deleteSeckillConfig(id), SECKILL_TIME_NOT_EXISTS); | |
| 121 | + } | |
| 122 | + | |
| 123 | + @Test | |
| 124 | + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 | |
| 125 | + public void testGetSeckillConfigPage() { | |
| 126 | + // mock 数据 | |
| 127 | +// SeckillConfigDO dbSeckillConfig = randomPojo(SeckillConfigDO.class, o -> { // 等会查询到 | |
| 128 | +// o.setName(null); | |
| 129 | +// o.setStartTime(null); | |
| 130 | +// o.setEndTime(null); | |
| 131 | +// o.setCreateTime(null); | |
| 132 | +// }); | |
| 133 | +// seckillConfigMapper.insert(dbSeckillConfig); | |
| 134 | +// // 测试 name 不匹配 | |
| 135 | +// seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setName(null))); | |
| 136 | +// // 测试 startTime 不匹配 | |
| 137 | +// seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setStartTime(null))); | |
| 138 | +// // 测试 endTime 不匹配 | |
| 139 | +// seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setEndTime(null))); | |
| 140 | +// // 测试 createTime 不匹配 | |
| 141 | +// seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setCreateTime(null))); | |
| 142 | +// // 准备参数 | |
| 143 | +// SeckillConfigPageReqVO reqVO = new SeckillConfigPageReqVO(); | |
| 144 | +// reqVO.setName(null); | |
| 145 | +//// reqVO.setStartTime((new LocalTime())); | |
| 146 | +//// reqVO.setEndTime((new LocalTime[]{})); | |
| 147 | +//// reqVO.setCreateTime((new Date[]{})); | |
| 148 | +// | |
| 149 | +// // 调用 | |
| 150 | +// PageResult<SeckillConfigDO> pageResult = SeckillConfigService.getSeckillConfigPage(reqVO); | |
| 151 | +// // 断言 | |
| 152 | +// assertEquals(1, pageResult.getTotal()); | |
| 153 | +// assertEquals(1, pageResult.getList().size()); | |
| 154 | +// assertPojoEquals(dbSeckillConfig, pageResult.getList().get(0)); | |
| 155 | + } | |
| 156 | + | |
| 157 | + @Test | |
| 158 | + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 | |
| 159 | + public void testGetSeckillConfigList() { | |
| 160 | + // mock 数据 | |
| 161 | + SeckillConfigDO dbSeckillConfig = randomPojo(SeckillConfigDO.class, o -> { // 等会查询到 | |
| 162 | + o.setName(null); | |
| 163 | + o.setStartTime(null); | |
| 164 | + o.setEndTime(null); | |
| 165 | + o.setCreateTime(null); | |
| 166 | + }); | |
| 167 | + seckillConfigMapper.insert(dbSeckillConfig); | |
| 168 | + // 测试 name 不匹配 | |
| 169 | + seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setName(null))); | |
| 170 | + // 测试 startTime 不匹配 | |
| 171 | + seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setStartTime(null))); | |
| 172 | + // 测试 endTime 不匹配 | |
| 173 | + seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setEndTime(null))); | |
| 174 | + // 测试 createTime 不匹配 | |
| 175 | + seckillConfigMapper.insert(cloneIgnoreId(dbSeckillConfig, o -> o.setCreateTime(null))); | |
| 176 | + // 准备参数 | |
| 177 | +// SeckillConfigExportReqVO reqVO = new SeckillConfigExportReqVO(); | |
| 178 | +// reqVO.setName(null); | |
| 179 | +// reqVO.setStartTime((new LocalTime[]{})); | |
| 180 | +// reqVO.setEndTime((new LocalTime[]{})); | |
| 181 | +// reqVO.setCreateTime((new Date[]{})); | |
| 182 | +// | |
| 183 | +// // 调用 | |
| 184 | +// List<SeckillConfigDO> list = SeckillConfigService.getSeckillConfigList(reqVO); | |
| 185 | +// // 断言 | |
| 186 | +// assertEquals(1, list.size()); | |
| 187 | +// assertPojoEquals(dbSeckillConfig, list.get(0)); | |
| 188 | + } | |
| 189 | + | |
| 190 | +} | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/seckilltime/SeckillTimeServiceImplTest.java deleted
| 1 | -package cn.iocoder.yudao.module.promotion.service.seckilltime; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeCreateReqVO; | |
| 4 | -import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.time.SeckillTimeUpdateReqVO; | |
| 5 | -import cn.iocoder.yudao.module.promotion.service.seckill.seckilltime.SeckillTimeServiceImpl; | |
| 6 | -import com.fasterxml.jackson.core.JsonProcessingException; | |
| 7 | -import com.fasterxml.jackson.databind.ObjectMapper; | |
| 8 | -import org.junit.jupiter.api.Disabled; | |
| 9 | -import org.junit.jupiter.api.Test; | |
| 10 | - | |
| 11 | -import javax.annotation.Resource; | |
| 12 | - | |
| 13 | -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | |
| 14 | - | |
| 15 | -import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckilltime.SeckillTimeDO; | |
| 16 | -import cn.iocoder.yudao.module.promotion.dal.mysql.seckill.seckilltime.SeckillTimeMapper; | |
| 17 | - | |
| 18 | -import org.springframework.context.annotation.Import; | |
| 19 | - | |
| 20 | -import static cn.iocoder.yudao.module.promotion.enums.ErrorCodeConstants.*; | |
| 21 | -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; | |
| 22 | -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | |
| 23 | -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; | |
| 24 | -import static org.junit.jupiter.api.Assertions.*; | |
| 25 | - | |
| 26 | -/** | |
| 27 | -* {@link SeckillTimeServiceImpl} 的单元测试类 | |
| 28 | -* | |
| 29 | -* @author 芋道源码 | |
| 30 | -*/ | |
| 31 | -@Import(SeckillTimeServiceImpl.class) | |
| 32 | -@Disabled // TODO 芋艿:未来开启 | |
| 33 | -public class SeckillTimeServiceImplTest extends BaseDbUnitTest { | |
| 34 | - | |
| 35 | - @Resource | |
| 36 | - private SeckillTimeServiceImpl seckillTimeService; | |
| 37 | - | |
| 38 | - @Resource | |
| 39 | - private SeckillTimeMapper seckillTimeMapper; | |
| 40 | - | |
| 41 | - @Resource | |
| 42 | - private ObjectMapper objectMapper; | |
| 43 | - | |
| 44 | - @Test | |
| 45 | - public void testJacksonSerializ(){ | |
| 46 | - | |
| 47 | - // 准备参数 | |
| 48 | - SeckillTimeCreateReqVO reqVO = randomPojo(SeckillTimeCreateReqVO.class); | |
| 49 | -// ObjectMapper objectMapper = new ObjectMapper(); | |
| 50 | - try { | |
| 51 | - String string = objectMapper.writeValueAsString(reqVO); | |
| 52 | - System.out.println(string); | |
| 53 | - } catch (JsonProcessingException e) { | |
| 54 | - e.printStackTrace(); | |
| 55 | - } | |
| 56 | - | |
| 57 | - | |
| 58 | - } | |
| 59 | - | |
| 60 | - @Test | |
| 61 | - public void testCreateSeckillTime_success() { | |
| 62 | - // 准备参数 | |
| 63 | - SeckillTimeCreateReqVO reqVO = randomPojo(SeckillTimeCreateReqVO.class); | |
| 64 | - | |
| 65 | - // 调用 | |
| 66 | - Long seckillTimeId = seckillTimeService.createSeckillTime(reqVO); | |
| 67 | - // 断言 | |
| 68 | - assertNotNull(seckillTimeId); | |
| 69 | - // 校验记录的属性是否正确 | |
| 70 | - SeckillTimeDO seckillTime = seckillTimeMapper.selectById(seckillTimeId); | |
| 71 | - assertPojoEquals(reqVO, seckillTime); | |
| 72 | - } | |
| 73 | - | |
| 74 | - @Test | |
| 75 | - public void testUpdateSeckillTime_success() { | |
| 76 | - // mock 数据 | |
| 77 | - SeckillTimeDO dbSeckillTime = randomPojo(SeckillTimeDO.class); | |
| 78 | - seckillTimeMapper.insert(dbSeckillTime);// @Sql: 先插入出一条存在的数据 | |
| 79 | - // 准备参数 | |
| 80 | - SeckillTimeUpdateReqVO reqVO = randomPojo(SeckillTimeUpdateReqVO.class, o -> { | |
| 81 | - o.setId(dbSeckillTime.getId()); // 设置更新的 ID | |
| 82 | - }); | |
| 83 | - | |
| 84 | - // 调用 | |
| 85 | - seckillTimeService.updateSeckillTime(reqVO); | |
| 86 | - // 校验是否更新正确 | |
| 87 | - SeckillTimeDO seckillTime = seckillTimeMapper.selectById(reqVO.getId()); // 获取最新的 | |
| 88 | - assertPojoEquals(reqVO, seckillTime); | |
| 89 | - } | |
| 90 | - | |
| 91 | - @Test | |
| 92 | - public void testUpdateSeckillTime_notExists() { | |
| 93 | - // 准备参数 | |
| 94 | - SeckillTimeUpdateReqVO reqVO = randomPojo(SeckillTimeUpdateReqVO.class); | |
| 95 | - | |
| 96 | - // 调用, 并断言异常 | |
| 97 | - assertServiceException(() -> seckillTimeService.updateSeckillTime(reqVO), SECKILL_TIME_NOT_EXISTS); | |
| 98 | - } | |
| 99 | - | |
| 100 | - @Test | |
| 101 | - public void testDeleteSeckillTime_success() { | |
| 102 | - // mock 数据 | |
| 103 | - SeckillTimeDO dbSeckillTime = randomPojo(SeckillTimeDO.class); | |
| 104 | - seckillTimeMapper.insert(dbSeckillTime);// @Sql: 先插入出一条存在的数据 | |
| 105 | - // 准备参数 | |
| 106 | - Long id = dbSeckillTime.getId(); | |
| 107 | - | |
| 108 | - // 调用 | |
| 109 | - seckillTimeService.deleteSeckillTime(id); | |
| 110 | - // 校验数据不存在了 | |
| 111 | - assertNull(seckillTimeMapper.selectById(id)); | |
| 112 | - } | |
| 113 | - | |
| 114 | - @Test | |
| 115 | - public void testDeleteSeckillTime_notExists() { | |
| 116 | - // 准备参数 | |
| 117 | - Long id = randomLongId(); | |
| 118 | - | |
| 119 | - // 调用, 并断言异常 | |
| 120 | - assertServiceException(() -> seckillTimeService.deleteSeckillTime(id), SECKILL_TIME_NOT_EXISTS); | |
| 121 | - } | |
| 122 | - | |
| 123 | - @Test | |
| 124 | - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 | |
| 125 | - public void testGetSeckillTimePage() { | |
| 126 | - // mock 数据 | |
| 127 | -// SeckillTimeDO dbSeckillTime = randomPojo(SeckillTimeDO.class, o -> { // 等会查询到 | |
| 128 | -// o.setName(null); | |
| 129 | -// o.setStartTime(null); | |
| 130 | -// o.setEndTime(null); | |
| 131 | -// o.setCreateTime(null); | |
| 132 | -// }); | |
| 133 | -// seckillTimeMapper.insert(dbSeckillTime); | |
| 134 | -// // 测试 name 不匹配 | |
| 135 | -// seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setName(null))); | |
| 136 | -// // 测试 startTime 不匹配 | |
| 137 | -// seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setStartTime(null))); | |
| 138 | -// // 测试 endTime 不匹配 | |
| 139 | -// seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setEndTime(null))); | |
| 140 | -// // 测试 createTime 不匹配 | |
| 141 | -// seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setCreateTime(null))); | |
| 142 | -// // 准备参数 | |
| 143 | -// SeckillTimePageReqVO reqVO = new SeckillTimePageReqVO(); | |
| 144 | -// reqVO.setName(null); | |
| 145 | -//// reqVO.setStartTime((new LocalTime())); | |
| 146 | -//// reqVO.setEndTime((new LocalTime[]{})); | |
| 147 | -//// reqVO.setCreateTime((new Date[]{})); | |
| 148 | -// | |
| 149 | -// // 调用 | |
| 150 | -// PageResult<SeckillTimeDO> pageResult = seckillTimeService.getSeckillTimePage(reqVO); | |
| 151 | -// // 断言 | |
| 152 | -// assertEquals(1, pageResult.getTotal()); | |
| 153 | -// assertEquals(1, pageResult.getList().size()); | |
| 154 | -// assertPojoEquals(dbSeckillTime, pageResult.getList().get(0)); | |
| 155 | - } | |
| 156 | - | |
| 157 | - @Test | |
| 158 | - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 | |
| 159 | - public void testGetSeckillTimeList() { | |
| 160 | - // mock 数据 | |
| 161 | - SeckillTimeDO dbSeckillTime = randomPojo(SeckillTimeDO.class, o -> { // 等会查询到 | |
| 162 | - o.setName(null); | |
| 163 | - o.setStartTime(null); | |
| 164 | - o.setEndTime(null); | |
| 165 | - o.setCreateTime(null); | |
| 166 | - }); | |
| 167 | - seckillTimeMapper.insert(dbSeckillTime); | |
| 168 | - // 测试 name 不匹配 | |
| 169 | - seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setName(null))); | |
| 170 | - // 测试 startTime 不匹配 | |
| 171 | - seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setStartTime(null))); | |
| 172 | - // 测试 endTime 不匹配 | |
| 173 | - seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setEndTime(null))); | |
| 174 | - // 测试 createTime 不匹配 | |
| 175 | - seckillTimeMapper.insert(cloneIgnoreId(dbSeckillTime, o -> o.setCreateTime(null))); | |
| 176 | - // 准备参数 | |
| 177 | -// SeckillTimeExportReqVO reqVO = new SeckillTimeExportReqVO(); | |
| 178 | -// reqVO.setName(null); | |
| 179 | -// reqVO.setStartTime((new LocalTime[]{})); | |
| 180 | -// reqVO.setEndTime((new LocalTime[]{})); | |
| 181 | -// reqVO.setCreateTime((new Date[]{})); | |
| 182 | -// | |
| 183 | -// // 调用 | |
| 184 | -// List<SeckillTimeDO> list = seckillTimeService.getSeckillTimeList(reqVO); | |
| 185 | -// // 断言 | |
| 186 | -// assertEquals(1, list.size()); | |
| 187 | -// assertPojoEquals(dbSeckillTime, list.get(0)); | |
| 188 | - } | |
| 189 | - | |
| 190 | -} |
yudao-module-mall/yudao-module-promotion-biz/src/test/resources/sql/clean.sql
| 1 | -DELETE FROM "market_activity"; | |
| 2 | -DELETE FROM "promotion_coupon_template"; | |
| 3 | -DELETE FROM "promotion_coupon"; | |
| 4 | -DELETE FROM "promotion_reward_activity"; | |
| 5 | -DELETE FROM "promotion_discount_activity"; | |
| 6 | -DELETE FROM "promotion_discount_product"; | |
| 1 | +DELETE | |
| 2 | +FROM "market_activity"; | |
| 3 | +DELETE | |
| 4 | +FROM "promotion_coupon_template"; | |
| 5 | +DELETE | |
| 6 | +FROM "promotion_coupon"; | |
| 7 | +DELETE | |
| 8 | +FROM "promotion_reward_activity"; | |
| 9 | +DELETE | |
| 10 | +FROM "promotion_discount_activity"; | |
| 11 | +DELETE | |
| 12 | +FROM "promotion_discount_product"; | |
| 13 | +DELETE | |
| 14 | +FROM "promotion_seckill_config"; | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/test/resources/sql/create_tables.sql
| ... | ... | @@ -108,17 +108,122 @@ CREATE TABLE IF NOT EXISTS "promotion_discount_activity" ( |
| 108 | 108 | ) COMMENT '限时折扣活动'; |
| 109 | 109 | |
| 110 | 110 | CREATE TABLE IF NOT EXISTS "promotion_discount_product" ( |
| 111 | - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, | |
| 112 | - "activity_id" bigint NOT NULL, | |
| 113 | - "spu_id" bigint NOT NULL, | |
| 114 | - "sku_id" bigint NOT NULL, | |
| 115 | - "discount_type" int NOT NULL, | |
| 116 | - "discount_percent" int, | |
| 117 | - "discount_price" int, | |
| 118 | - "creator" varchar DEFAULT '', | |
| 119 | - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| 120 | - "updater" varchar DEFAULT '', | |
| 121 | - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, | |
| 122 | - "deleted" bit NOT NULL DEFAULT FALSE, | |
| 123 | - PRIMARY KEY ("id") | |
| 124 | -) COMMENT '限时折扣活动'; | |
| 111 | + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, | |
| 112 | + "activity_id" bigint NOT NULL, | |
| 113 | + "spu_id" bigint NOT NULL, | |
| 114 | + "sku_id" bigint NOT NULL, | |
| 115 | + "discount_type" int NOT NULL, | |
| 116 | + "discount_percent" | |
| 117 | + int, | |
| 118 | + "discount_price" | |
| 119 | + int, | |
| 120 | + "creator" | |
| 121 | + varchar | |
| 122 | + DEFAULT | |
| 123 | + '', | |
| 124 | + "create_time" | |
| 125 | + datetime | |
| 126 | + NOT | |
| 127 | + NULL | |
| 128 | + DEFAULT | |
| 129 | + CURRENT_TIMESTAMP, | |
| 130 | + "updater" | |
| 131 | + varchar | |
| 132 | + DEFAULT | |
| 133 | + '', | |
| 134 | + "update_time" | |
| 135 | + datetime | |
| 136 | + NOT | |
| 137 | + NULL | |
| 138 | + DEFAULT | |
| 139 | + CURRENT_TIMESTAMP | |
| 140 | + ON | |
| 141 | + UPDATE | |
| 142 | + CURRENT_TIMESTAMP, | |
| 143 | + "deleted" | |
| 144 | + bit | |
| 145 | + NOT | |
| 146 | + NULL | |
| 147 | + DEFAULT | |
| 148 | + FALSE, | |
| 149 | + PRIMARY | |
| 150 | + KEY | |
| 151 | +( | |
| 152 | + "id" | |
| 153 | +) | |
| 154 | + ) COMMENT '限时折扣活动'; | |
| 155 | + | |
| 156 | +CREATE TABLE IF NOT EXISTS "promotion_seckill_config" | |
| 157 | +( | |
| 158 | + "id" | |
| 159 | + bigint | |
| 160 | + NOT | |
| 161 | + NULL | |
| 162 | + GENERATED | |
| 163 | + BY | |
| 164 | + DEFAULT AS | |
| 165 | + IDENTITY, | |
| 166 | + "name" | |
| 167 | + varchar | |
| 168 | + NOT | |
| 169 | + NULL, | |
| 170 | + "start_time" | |
| 171 | + varchar | |
| 172 | + NOT | |
| 173 | + NULL, | |
| 174 | + "end_time" | |
| 175 | + varchar | |
| 176 | + NOT | |
| 177 | + NULL, | |
| 178 | + "seckill_activity_count" | |
| 179 | + int | |
| 180 | + NOT | |
| 181 | + NULL, | |
| 182 | + "pic_url" | |
| 183 | + varchar | |
| 184 | + NOT | |
| 185 | + NULL, | |
| 186 | + "status" | |
| 187 | + varchar | |
| 188 | + NOT | |
| 189 | + NULL, | |
| 190 | + "creator" | |
| 191 | + varchar | |
| 192 | + DEFAULT | |
| 193 | + '', | |
| 194 | + "create_time" | |
| 195 | + datetime | |
| 196 | + NOT | |
| 197 | + NULL | |
| 198 | + DEFAULT | |
| 199 | + CURRENT_TIMESTAMP, | |
| 200 | + "updater" | |
| 201 | + varchar | |
| 202 | + DEFAULT | |
| 203 | + '', | |
| 204 | + "update_time" | |
| 205 | + datetime | |
| 206 | + NOT | |
| 207 | + NULL | |
| 208 | + DEFAULT | |
| 209 | + CURRENT_TIMESTAMP | |
| 210 | + ON | |
| 211 | + UPDATE | |
| 212 | + CURRENT_TIMESTAMP, | |
| 213 | + "deleted" | |
| 214 | + bit | |
| 215 | + NOT | |
| 216 | + NULL | |
| 217 | + DEFAULT | |
| 218 | + FALSE, | |
| 219 | + "tenant_id" | |
| 220 | + bigint | |
| 221 | + NOT | |
| 222 | + NULL, | |
| 223 | + PRIMARY | |
| 224 | + KEY | |
| 225 | +( | |
| 226 | + "id" | |
| 227 | +) | |
| 228 | + ) COMMENT '秒杀时段配置'; | |
| 229 | + | ... | ... |
yudao-ui-admin/src/views/mall/promotion/seckill/seckillActivity/index.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | </el-form-item> |
| 18 | 18 | <el-form-item label="参与场次" prop="timeId"> |
| 19 | 19 | <el-select v-model="queryParams.timeId" placeholder="请选择参与场次" clearable size="small"> |
| 20 | - <el-option v-for="item in seckillTimeList" :key="item.id" :label="item.name" :value="item.id" /> | |
| 20 | + <el-option v-for="item in SeckillConfigList" :key="item.id" :label="item.name" :value="item.id"/> | |
| 21 | 21 | </el-select> |
| 22 | 22 | </el-form-item> |
| 23 | 23 | <el-form-item label="创建时间" prop="createTime"> |
| ... | ... | @@ -38,8 +38,9 @@ |
| 38 | 38 | v-hasPermi="['promotion:seckill-activity:create']">新增秒杀活动</el-button> |
| 39 | 39 | </el-col> |
| 40 | 40 | <el-col :span="1.5"> |
| 41 | - <el-button type="primary" plain icon="el-icon-menu" size="mini" @click="openSeckillTime" | |
| 42 | - v-hasPermi="['promotion:seckill-activity:create']">管理参与场次</el-button> | |
| 41 | + <el-button v-hasPermi="['promotion:seckill-activity:create']" icon="el-icon-menu" plain size="mini" type="primary" | |
| 42 | + @click="openSeckillConfig">管理参与场次 | |
| 43 | + </el-button> | |
| 43 | 44 | </el-col> |
| 44 | 45 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| 45 | 46 | </el-row> |
| ... | ... | @@ -54,8 +55,8 @@ |
| 54 | 55 | </el-table-column> |
| 55 | 56 | <el-table-column label="参与场次" prop="timeIds" width="250"> |
| 56 | 57 | <template v-slot="scope"> |
| 57 | - <span v-for="item in seckillTimeList" :key="item.id" | |
| 58 | - v-if="scope.row.timeIds.includes(item.id)"> | |
| 58 | + <span v-for="item in SeckillConfigList" v-if="scope.row.timeIds.includes(item.id)" | |
| 59 | + :key="item.id"> | |
| 59 | 60 | <el-tag style="margin:4px;" size="small">{{ item.name }}</el-tag> |
| 60 | 61 | </span> |
| 61 | 62 | </template> |
| ... | ... | @@ -110,12 +111,13 @@ |
| 110 | 111 | <el-form-item label="场次选择"> |
| 111 | 112 | <el-select v-model="form.timeIds" placeholder="请选择参与场次" clearable size="small" multiple filterable |
| 112 | 113 | style="width: 880px"> |
| 113 | - <el-option v-for="item in seckillTimeList" :key="item.id" :label="item.name" :value="item.id"> | |
| 114 | - <span style="float: left">{{ item.name + ': { ' }} {{ item.startTime }} -- {{ item.endTime + | |
| 115 | - ' }' | |
| 116 | - }}</span> | |
| 117 | - <span style="float: right; color: #8492a6; font-size: 13px"></span> | |
| 118 | - </el-option> | |
| 114 | + <el-option v-for="item in SeckillConfigList" :key="item.id" :label="item.name" :value="item.id"> | |
| 115 | + <span style="float: left">{{ item.name + ': { ' }} {{ item.startTime }} -- {{ | |
| 116 | + item.endTime + | |
| 117 | + ' }' | |
| 118 | + }}</span> | |
| 119 | + <span style="float: right; color: #8492a6; font-size: 13px"></span> | |
| 120 | + </el-option> | |
| 119 | 121 | </el-select> |
| 120 | 122 | </el-form-item> |
| 121 | 123 | <el-form-item label="商品选择"> |
| ... | ... | @@ -186,10 +188,17 @@ |
| 186 | 188 | </template> |
| 187 | 189 | |
| 188 | 190 | <script> |
| 189 | -import { getSkuOptionList } from "@/api/mall/product/sku"; | |
| 190 | -import { createSeckillActivity, updateSeckillActivity, closeSeckillActivity, deleteSeckillActivity, getSeckillActivity, getSeckillActivityPage, exportSeckillActivityExcel } from "@/api/mall/promotion/seckillActivity"; | |
| 191 | -import { getSeckillTimeList } from "@/api/mall/promotion/seckillTime"; | |
| 192 | -import { deepClone } from "@/utils"; | |
| 191 | +import {getSkuOptionList} from "@/api/mall/product/sku"; | |
| 192 | +import { | |
| 193 | + closeSeckillActivity, | |
| 194 | + createSeckillActivity, | |
| 195 | + deleteSeckillActivity, | |
| 196 | + getSeckillActivity, | |
| 197 | + getSeckillActivityPage, | |
| 198 | + updateSeckillActivity | |
| 199 | +} from "@/api/mall/promotion/seckillActivity"; | |
| 200 | +import {getSeckillConfigList} from "@/api/mall/promotion/SeckillConfig"; | |
| 201 | +import {deepClone} from "@/utils"; | |
| 193 | 202 | |
| 194 | 203 | export default { |
| 195 | 204 | name: "PromotionSeckillActivity", |
| ... | ... | @@ -197,26 +206,26 @@ export default { |
| 197 | 206 | }, |
| 198 | 207 | data() { |
| 199 | 208 | return { |
| 200 | - // 遮罩层 | |
| 201 | - loading: true, | |
| 202 | - // 显示搜索条件 | |
| 203 | - showSearch: true, | |
| 204 | - // 总条数 | |
| 205 | - total: 0, | |
| 206 | - // 秒杀活动列表 | |
| 207 | - list: [], | |
| 208 | - // 秒杀场次列表 | |
| 209 | - seckillTimeList: [], | |
| 210 | - // 弹出层标题 | |
| 211 | - title: "", | |
| 212 | - // 是否显示弹出层 | |
| 213 | - open: false, | |
| 214 | - // 查询参数 | |
| 215 | - queryParams: { | |
| 216 | - pageNo: 1, | |
| 217 | - pageSize: 10, | |
| 218 | - name: null, | |
| 219 | - status: null, | |
| 209 | + // 遮罩层 | |
| 210 | + loading: true, | |
| 211 | + // 显示搜索条件 | |
| 212 | + showSearch: true, | |
| 213 | + // 总条数 | |
| 214 | + total: 0, | |
| 215 | + // 秒杀活动列表 | |
| 216 | + list: [], | |
| 217 | + // 秒杀场次列表 | |
| 218 | + SeckillConfigList: [], | |
| 219 | + // 弹出层标题 | |
| 220 | + title: "", | |
| 221 | + // 是否显示弹出层 | |
| 222 | + open: false, | |
| 223 | + // 查询参数 | |
| 224 | + queryParams: { | |
| 225 | + pageNo: 1, | |
| 226 | + pageSize: 10, | |
| 227 | + name: null, | |
| 228 | + status: null, | |
| 220 | 229 | timeId: null, |
| 221 | 230 | createTime: [], |
| 222 | 231 | }, |
| ... | ... | @@ -261,18 +270,18 @@ export default { |
| 261 | 270 | this.total = response.data.total; |
| 262 | 271 | this.loading = false; |
| 263 | 272 | }); |
| 264 | - if (timeId) { | |
| 265 | - //查询完成后设置为空 | |
| 266 | - this.$route.params.timeId = undefined | |
| 267 | - } | |
| 268 | - // 获得 SKU 商品列表 | |
| 269 | - getSkuOptionList().then(response => { | |
| 270 | - this.productSkus = response.data; | |
| 271 | - }); | |
| 272 | - // 获取参与场次列表 | |
| 273 | - getSeckillTimeList().then(response => { | |
| 274 | - this.seckillTimeList = response.data; | |
| 275 | - }); | |
| 273 | + if (timeId) { | |
| 274 | + //查询完成后设置为空 | |
| 275 | + this.$route.params.timeId = undefined | |
| 276 | + } | |
| 277 | + // 获得 SKU 商品列表 | |
| 278 | + getSkuOptionList().then(response => { | |
| 279 | + this.productSkus = response.data; | |
| 280 | + }); | |
| 281 | + // 获取参与场次列表 | |
| 282 | + getSeckillConfigList().then(response => { | |
| 283 | + this.SeckillConfigList = response.data; | |
| 284 | + }); | |
| 276 | 285 | }, |
| 277 | 286 | /** 取消按钮 */ |
| 278 | 287 | cancel() { |
| ... | ... | @@ -306,10 +315,10 @@ export default { |
| 306 | 315 | this.resetForm("queryForm"); |
| 307 | 316 | this.handleQuery(); |
| 308 | 317 | }, |
| 309 | - /**打开秒杀场次管理页面 */ | |
| 310 | - openSeckillTime() { | |
| 311 | - this.$tab.openPage("秒杀场次管理", "/promotion/seckill-time"); | |
| 312 | - }, | |
| 318 | + /**打开秒杀场次管理页面 */ | |
| 319 | + openSeckillConfig() { | |
| 320 | + this.$tab.openPage("秒杀场次管理", "/promotion/seckill-time"); | |
| 321 | + }, | |
| 313 | 322 | /** 新增按钮操作 */ |
| 314 | 323 | handleAdd() { |
| 315 | 324 | this.reset(); | ... | ... |
yudao-ui-admin/src/views/mall/promotion/seckill/seckillTime/index.vue
| ... | ... | @@ -63,14 +63,19 @@ |
| 63 | 63 | </template> |
| 64 | 64 | |
| 65 | 65 | <script> |
| 66 | -import { createSeckillTime, updateSeckillTime, deleteSeckillTime, getSeckillTime, getSeckillTimePage, exportSeckillTimeExcel, getSeckillTimeList } from "@/api/mall/promotion/seckillTime"; | |
| 66 | +import { | |
| 67 | + createSeckillConfig, | |
| 68 | + deleteSeckillConfig, | |
| 69 | + getSeckillConfig, | |
| 70 | + getSeckillConfigList, | |
| 71 | + updateSeckillConfig | |
| 72 | +} from "@/api/mall/promotion/SeckillConfig"; | |
| 67 | 73 | import router from "@/router"; |
| 68 | -import { deepClone } from "@/utils"; | |
| 74 | +import {deepClone} from "@/utils"; | |
| 69 | 75 | |
| 70 | 76 | export default { |
| 71 | - name: "PromotionSeckillTime", | |
| 72 | - components: { | |
| 73 | - }, | |
| 77 | + name: "PromotionSeckillConfig", | |
| 78 | + components: {}, | |
| 74 | 79 | data() { |
| 75 | 80 | return { |
| 76 | 81 | // 遮罩层 |
| ... | ... | @@ -104,7 +109,7 @@ export default { |
| 104 | 109 | getList() { |
| 105 | 110 | this.loading = true; |
| 106 | 111 | // 执行查询 |
| 107 | - getSeckillTimeList().then(response => { | |
| 112 | + getSeckillConfigList().then(response => { | |
| 108 | 113 | this.list = response.data; |
| 109 | 114 | this.loading = false; |
| 110 | 115 | }); |
| ... | ... | @@ -148,7 +153,7 @@ export default { |
| 148 | 153 | handleUpdate(row) { |
| 149 | 154 | this.reset(); |
| 150 | 155 | const id = row.id; |
| 151 | - getSeckillTime(id).then(response => { | |
| 156 | + getSeckillConfig(id).then(response => { | |
| 152 | 157 | response.data.startAndEndTime = [response.data.startTime, response.data.endTime] |
| 153 | 158 | this.form = response.data; |
| 154 | 159 | this.open = true; |
| ... | ... | @@ -168,7 +173,7 @@ export default { |
| 168 | 173 | data.endTime = this.form.startAndEndTime[1]; |
| 169 | 174 | // 修改的提交 |
| 170 | 175 | if (this.form.id != null) { |
| 171 | - updateSeckillTime(data).then(response => { | |
| 176 | + updateSeckillConfig(data).then(response => { | |
| 172 | 177 | this.$modal.msgSuccess("修改成功"); |
| 173 | 178 | this.open = false; |
| 174 | 179 | this.getList(); |
| ... | ... | @@ -176,7 +181,7 @@ export default { |
| 176 | 181 | return; |
| 177 | 182 | } |
| 178 | 183 | // 添加的提交 |
| 179 | - createSeckillTime(data).then(response => { | |
| 184 | + createSeckillConfig(data).then(response => { | |
| 180 | 185 | this.$modal.msgSuccess("新增成功"); |
| 181 | 186 | this.open = false; |
| 182 | 187 | this.getList(); |
| ... | ... | @@ -187,7 +192,7 @@ export default { |
| 187 | 192 | handleDelete(row) { |
| 188 | 193 | const id = row.id; |
| 189 | 194 | this.$modal.confirm('是否确认删除秒杀时段编号为"' + id + '"的数据项?').then(function () { |
| 190 | - return deleteSeckillTime(id); | |
| 195 | + return deleteSeckillConfig(id); | |
| 191 | 196 | }).then(() => { |
| 192 | 197 | this.getList(); |
| 193 | 198 | this.$modal.msgSuccess("删除成功"); | ... | ... |