diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/InvokeUtils.java b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/InvokeUtils.java index 55e8c672..cd2dbe45 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/InvokeUtils.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/InvokeUtils.java @@ -1,6 +1,6 @@ package com.mdd.admin.config.quartz; -import com.mdd.common.entity.Crontab; +import com.mdd.common.entity.DevCrontab; import com.mdd.common.util.SpringUtils; import com.mdd.common.util.StringUtils; @@ -19,7 +19,7 @@ public class InvokeUtils { * * @param crontab 系统任务 */ - public static void invokeMethod(Crontab crontab) throws Exception { + public static void invokeMethod(DevCrontab crontab) throws Exception { String invokeTarget = crontab.getCommand(); String beanName = getBeanName(invokeTarget); String methodName = getMethodName(invokeTarget); diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/QuartzUtils.java b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/QuartzUtils.java index 98b14815..4e606fe1 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/QuartzUtils.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/QuartzUtils.java @@ -2,7 +2,7 @@ package com.mdd.admin.config.quartz; import com.mdd.admin.config.quartz.exceution.QuartzDisExecution; import com.mdd.admin.config.quartz.exceution.QuartzJobExecution; -import com.mdd.common.entity.Crontab; +import com.mdd.common.entity.DevCrontab; import com.mdd.common.util.StringUtils; import org.quartz.*; @@ -17,9 +17,10 @@ public class QuartzUtils { * @param crontab 执行计划 * @return 具体执行任务类 */ - private static Class getQuartzJobClass(Crontab crontab) { - boolean isConcurrent = crontab.getConcurrent().equals(0); - return isConcurrent ? QuartzJobExecution.class : QuartzDisExecution.class; + private static Class getQuartzJobClass(DevCrontab crontab) { +// boolean isConcurrent = crontab.getConcurrent().equals(0); +// return isConcurrent ? QuartzJobExecution.class : QuartzDisExecution.class; + return QuartzJobExecution.class; } /** @@ -51,10 +52,11 @@ public class QuartzUtils { * @param job 任务 * @throws SchedulerException 调度异常 */ - public static void createScheduleJob(Scheduler scheduler, Crontab job) throws SchedulerException { + public static void createScheduleJob(Scheduler scheduler, DevCrontab job) throws SchedulerException { Integer jobId = job.getId(); - String jobGroup = job.getTypes(); - String expression = job.getRules(); + String jobGroup = job.getType().toString(); + String expression = job.getExpression(); + // 构建任务 Class jobClass = getQuartzJobClass(job); @@ -64,17 +66,19 @@ public class QuartzUtils { // 构建时间 CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(expression); - switch (job.getStrategy()) { - case 1: // 立即执行 - cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionIgnoreMisfires(); - break; - case 2: // 执行一次 - cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionFireAndProceed(); - break; - case 3: // 放弃执行 - cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionDoNothing(); - break; - } +// switch (job.getStrategy()) { +// case 1: // 立即执行 +// cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionIgnoreMisfires(); +// break; +// case 2: // 执行一次 +// cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionFireAndProceed(); +// break; +// case 3: // 放弃执行 +// cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionDoNothing(); +// break; +// } + + cronScheduleBuilder = cronScheduleBuilder.withMisfireHandlingInstructionIgnoreMisfires(); // 注入参数 jobDetail.getJobDataMap().put(TaskConstants.TASK_PROPERTIES, job); @@ -91,7 +95,7 @@ public class QuartzUtils { } // 如果过期则调度 - if (StringUtils.isNotNull(CronUtils.nextExecution(job.getRules()))) { + if (StringUtils.isNotNull(CronUtils.nextExecution(job.getExpression()))) { scheduler.scheduleJob(jobDetail, trigger); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/AbstractQuartzJob.java b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/AbstractQuartzJob.java index da978abf..ad2dbff6 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/AbstractQuartzJob.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/AbstractQuartzJob.java @@ -1,8 +1,8 @@ package com.mdd.admin.config.quartz.exceution; import com.mdd.admin.config.quartz.TaskConstants; -import com.mdd.common.entity.Crontab; -import com.mdd.common.mapper.CrontabMapper; +import com.mdd.common.entity.DevCrontab; +import com.mdd.common.mapper.DevCrontabMapper; import com.mdd.common.util.SpringUtils; import com.mdd.common.util.StringUtils; import org.quartz.Job; @@ -27,7 +27,7 @@ public abstract class AbstractQuartzJob implements Job { */ @Override public void execute(JobExecutionContext context) { - Crontab crontab = new Crontab(); + DevCrontab crontab = new DevCrontab(); BeanUtils.copyProperties(context.getMergedJobDataMap().get(TaskConstants.TASK_PROPERTIES), crontab); try { before(); @@ -51,22 +51,23 @@ public abstract class AbstractQuartzJob implements Job { * * @param crontab 系统计划任务 */ - protected void after(Crontab crontab, Exception e) + protected void after(DevCrontab crontab, Exception e) { long startTime = threadLocal.get(); long endTime = System.currentTimeMillis(); threadLocal.remove(); crontab.setError(""); - crontab.setStartTime(startTime / 1000); - crontab.setEndTime(endTime / 1000); - crontab.setTaskTime(endTime - startTime); +// crontab.set(startTime / 1000); + crontab.setLastTime(endTime / 1000); + crontab.setMaxTime(endTime - startTime); + crontab.setTime(endTime - startTime); if (StringUtils.isNotNull(e)) { crontab.setError(e.getMessage()); crontab.setStatus(TaskConstants.STATUS_FAIL); } - SpringUtils.getBean(CrontabMapper.class).updateById(crontab); + SpringUtils.getBean(DevCrontabMapper.class).updateById(crontab); } /** @@ -76,6 +77,6 @@ public abstract class AbstractQuartzJob implements Job { * @param sysJob 系统计划任务 * @throws Exception 执行过程中的异常 */ - protected abstract void doExecute(JobExecutionContext context, Crontab sysJob) throws Exception; + protected abstract void doExecute(JobExecutionContext context, DevCrontab sysJob) throws Exception; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzDisExecution.java b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzDisExecution.java index c28b7854..6a0509e4 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzDisExecution.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzDisExecution.java @@ -1,7 +1,7 @@ package com.mdd.admin.config.quartz.exceution; import com.mdd.admin.config.quartz.InvokeUtils; -import com.mdd.common.entity.Crontab; +import com.mdd.common.entity.DevCrontab; import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; @@ -12,7 +12,7 @@ import org.quartz.JobExecutionContext; public class QuartzDisExecution extends AbstractQuartzJob { @Override - protected void doExecute(JobExecutionContext context, Crontab crontab) throws Exception { + protected void doExecute(JobExecutionContext context, DevCrontab crontab) throws Exception { InvokeUtils.invokeMethod(crontab); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzJobExecution.java b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzJobExecution.java index 56f7e68e..f62d4c2c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzJobExecution.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/quartz/exceution/QuartzJobExecution.java @@ -1,7 +1,7 @@ package com.mdd.admin.config.quartz.exceution; import com.mdd.admin.config.quartz.InvokeUtils; -import com.mdd.common.entity.Crontab; +import com.mdd.common.entity.DevCrontab; import org.quartz.JobExecutionContext; /** @@ -10,7 +10,7 @@ import org.quartz.JobExecutionContext; public class QuartzJobExecution extends AbstractQuartzJob { @Override - protected void doExecute(JobExecutionContext context, Crontab crontab) throws Exception { + protected void doExecute(JobExecutionContext context, DevCrontab crontab) throws Exception { InvokeUtils.invokeMethod(crontab); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java index 024a55d0..2aff577c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java @@ -4,9 +4,9 @@ import cn.dev33.satoken.stp.StpInterface; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mdd.admin.LikeAdminThreadLocal; import com.mdd.common.entity.system.SystemMenu; -import com.mdd.common.entity.system.SystemAuthPerm; +import com.mdd.common.entity.system.SystemRoleMenu; import com.mdd.common.mapper.system.SystemMenuMapper; -import com.mdd.common.mapper.system.SystemAuthPermMapper; +import com.mdd.common.mapper.system.SystemRoleMenuMapper; import com.mdd.common.util.StringUtils; import org.springframework.stereotype.Component; @@ -20,7 +20,7 @@ import java.util.*; public class StpInterConfig implements StpInterface { @Resource - SystemAuthPermMapper systemAuthPermMapper; + SystemRoleMenuMapper systemRoleMenuMapper; @Resource SystemMenuMapper systemAuthMenuMapper; @@ -41,8 +41,8 @@ public class StpInterConfig implements StpInterface { return perms; } - List permList = systemAuthPermMapper.selectList( - new QueryWrapper() + List permList = systemRoleMenuMapper.selectList( + new QueryWrapper() .select("id,role_id,menu_id") .in("role_id", roleIds)); @@ -51,7 +51,7 @@ public class StpInterConfig implements StpInterface { } List menuIds = new LinkedList<>(); - for (SystemAuthPerm systemAuthPerm : permList) { + for (SystemRoleMenu systemAuthPerm : permList) { menuIds.add(systemAuthPerm.getMenuId()); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/CrontabController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/CrontabController.java index b98ff80a..18be180d 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/CrontabController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/CrontabController.java @@ -10,24 +10,28 @@ import com.mdd.admin.vo.CrontabDetailVo; import com.mdd.admin.vo.CrontabListedVo; import com.mdd.common.core.AjaxResult; import com.mdd.common.core.PageResult; +import com.mdd.common.exception.OperateException; import com.mdd.common.validator.annotation.IDMust; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.quartz.CronExpression; import org.quartz.SchedulerException; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.*; @RestController -@RequestMapping("api/crontab") +@RequestMapping("/adminapi/crontab/crontab") @Api(tags = "计划任务管理") public class CrontabController { @Resource ICrontabService iCrontabService; - @GetMapping("/list") + @GetMapping("/lists") @ApiOperation(value="计划任务列表") public AjaxResult< PageResult> list(@Validated PageValidate pageValidate) { PageResult list = iCrontabService.list(pageValidate); @@ -58,11 +62,58 @@ public class CrontabController { } @Log(title = "计划任务删除") - @PostMapping("/del") + @PostMapping("/delete") @ApiOperation(value="计划任务删除") public AjaxResult del(@Validated @RequestBody IdValidate idValidate) throws SchedulerException { iCrontabService.del(idValidate.getId()); return AjaxResult.success(); } + + @GetMapping("/expression") + @ApiOperation(value="计划任务列表") + public AjaxResult>> expression(@Validated @RequestParam("expression") String expression) { + return AjaxResult.success(getExpression(expression)); + } + + + public static List> getExpression(String cronExpression) { + try { + CronExpression cron = new CronExpression(cronExpression); + List dates = new ArrayList<>(); + + Date date = new Date(); + for (int i = 0; i < 5; i++) { + Date nextValidTimeAfter = cron.getNextValidTimeAfter(date); // 假设从当前时间开始 + if (nextValidTimeAfter != null) { + dates.add(nextValidTimeAfter); + date = nextValidTimeAfter; + } else { + break; // 如果没有更多的有效时间,则退出循环 + } + } + + List> lists = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (int i = 0; i < dates.size(); i++) { + Map entry = new HashMap<>(); + entry.put("time", String.valueOf(i + 1)); + entry.put("date", sdf.format(dates.get(i))); + lists.add(entry); + } + + // 添加额外的条目 + Map extraEntry = new HashMap<>(); + extraEntry.put("time", "x"); + extraEntry.put("date", "……"); + lists.add(extraEntry); + + return lists; + } catch (Exception e) { + // 注意:在Java中,通常不会直接返回异常消息作为业务逻辑的一部分 + // 这里为了与PHP函数保持一致,我们返回异常消息,但在实际应用中应避免这样做 + throw new OperateException(e.getMessage()); + } + } + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java index 19c82fef..1c2fb22a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller.decorate; +import com.alibaba.fastjson2.JSONObject; import com.mdd.common.aop.NotPower; import com.mdd.admin.service.IDecorateDataService; import com.mdd.admin.vo.decorate.DecorateDataArticleVo; @@ -30,4 +31,12 @@ public class DecorateDataController { return AjaxResult.success(list); } + + @GetMapping("/pc") + @ApiOperation(value="获取pc装修数据") + public AjaxResult pc() { + JSONObject pc = iDecorateDataService.pc(); + return AjaxResult.success(pc); + } + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRechargerController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRechargerController.java index a378bc27..ef199297 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRechargerController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRechargerController.java @@ -5,6 +5,7 @@ import com.mdd.admin.service.IFinanceRechargerService; import com.mdd.admin.validate.commons.IdValidate; import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.validate.finance.FinanceRechargeSearchValidate; +import com.mdd.admin.validate.finance.FinanceRefundValidate; import com.mdd.admin.vo.finance.FinanceRechargeListVo; import com.mdd.common.core.AjaxResult; import com.mdd.common.core.PageResult; @@ -17,14 +18,14 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController -@RequestMapping("api/finance/recharger") +@RequestMapping("/adminapi/recharge/recharge") @Api("充值记录管理") public class FinanceRechargerController { @Resource IFinanceRechargerService iFinanceRechargerService; - @GetMapping("/list") + @GetMapping("/lists") @ApiOperation("充值记录") public AjaxResult> list(@Validated PageValidate pageValidate, @Validated FinanceRechargeSearchValidate searchValidate) { @@ -34,10 +35,10 @@ public class FinanceRechargerController { @PostMapping("/refund") @ApiOperation("发起退款") - public AjaxResult refund(@Validated @RequestBody IdValidate idValidate) { + public AjaxResult refund(@Validated @RequestBody FinanceRefundValidate financeRefundValidate) { Integer adminId = LikeAdminThreadLocal.getAdminId(); - iFinanceRechargerService.refund(idValidate.getId(), adminId); + iFinanceRechargerService.refund(financeRefundValidate.getRecharge_id(), adminId); return AjaxResult.success(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRefundController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRefundController.java index 6a817539..e27544a2 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRefundController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceRefundController.java @@ -20,7 +20,7 @@ import javax.annotation.Resource; import java.util.List; @RestController -@RequestMapping("api/finance/refund") +@RequestMapping("/adminapi/finance/refund") @Api("退款记录管理") public class FinanceRefundController { @@ -30,10 +30,10 @@ public class FinanceRefundController { @GetMapping("/stat") @ApiOperation("退还统计") public AjaxResult stat() { - return AjaxResult.success(); + return AjaxResult.success(iFinanceRefundService.stat()); } - @GetMapping("/list") + @GetMapping("/record") @ApiOperation("退款记录") public AjaxResult list(@Validated PageValidate pageValidate, @Validated FinanceRefundSearchValidate searchValidate) { @@ -43,7 +43,7 @@ public class FinanceRefundController { @GetMapping("/log") @ApiOperation("退款日志") - public AjaxResult log(@Validated @IDMust() @RequestParam("id") Integer id) { + public AjaxResult log(@Validated @IDMust() @RequestParam("record_id") Integer id) { List list = iFinanceRefundService.log(id); return AjaxResult.success(list); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceWalletController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceWalletController.java index 871c6869..feffc869 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceWalletController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/finance/FinanceWalletController.java @@ -14,16 +14,17 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.Map; @RestController -@RequestMapping("api/finance/wallet") +@RequestMapping("/adminapi/finance/account_log") @Api("余额明细管理") public class FinanceWalletController { @Resource IFinanceWalletService iFinanceWalletService; - @GetMapping("/list") + @GetMapping("/lists") @ApiOperation("记录列表") public AjaxResult list(@Validated PageValidate pageValidate, @Validated FinanceWalletSearchValidate searchValidate) { @@ -31,4 +32,11 @@ public class FinanceWalletController { return AjaxResult.success(list); } + + @GetMapping("/getUmChangeType") + @ApiOperation("记录列表") + public AjaxResult> getUmChangeType() { + return AjaxResult.success(iFinanceWalletService.getUmChangeType()); + } + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java index 7645ad7d..b90e0c5b 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java @@ -45,6 +45,13 @@ public class SystemAuthMenuController { return AjaxResult.success(result); } + @GetMapping("/all") + @ApiOperation(value="获取菜单列表") + public AjaxResult all() { + JSONArray result = iSystemAuthMenuService.all(); + return AjaxResult.success(result); + } + @GetMapping("/detail") @ApiOperation(value="获取菜单详情") public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) { diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java index f8b46767..1cee747d 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java @@ -68,7 +68,7 @@ public class SystemAuthRoleController { } @Log(title = "角色删除") - @PostMapping("/del") + @PostMapping("/delete") @ApiOperation(value="角色删除") public AjaxResult del(@Validated @RequestBody IdValidate idValidate) { iSystemAuthRoleService.del(idValidate.getId()); diff --git a/server/like-admin/src/main/java/com/mdd/admin/crontab/MyJob.java b/server/like-admin/src/main/java/com/mdd/admin/crontab/MyJob.java index c020730d..2ddd43a4 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/crontab/MyJob.java +++ b/server/like-admin/src/main/java/com/mdd/admin/crontab/MyJob.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; public class MyJob { public void handle(String s) { - // System.out.println("有参数定时任务执行逻辑 : " + s); + System.out.println("有参数定时任务执行逻辑 : " + s); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/IDecorateDataService.java b/server/like-admin/src/main/java/com/mdd/admin/service/IDecorateDataService.java index c24dbe3c..41e26d81 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/IDecorateDataService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/IDecorateDataService.java @@ -1,5 +1,6 @@ package com.mdd.admin.service; +import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.vo.decorate.DecorateDataArticleVo; import java.util.List; @@ -18,4 +19,5 @@ public interface IDecorateDataService { */ List article(Integer limit); + JSONObject pc(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceRefundService.java b/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceRefundService.java index 43ffc465..4f94b801 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceRefundService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceRefundService.java @@ -7,6 +7,7 @@ import com.mdd.admin.vo.finance.FinanceRefundLogVo; import com.mdd.common.core.PageResult; import java.util.List; +import java.util.Map; /** * 退款记录服务接口类 @@ -31,4 +32,5 @@ public interface IFinanceRefundService { */ List log(Integer recordId); + Map stat(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceWalletService.java b/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceWalletService.java index d407161c..0d3030a7 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceWalletService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/IFinanceWalletService.java @@ -5,6 +5,8 @@ import com.mdd.admin.validate.finance.FinanceWalletSearchValidate; import com.mdd.admin.vo.finance.FinanceWalletListVo; import com.mdd.common.core.PageResult; +import java.util.Map; + /** * 用户余额记录服务接口类 */ @@ -20,4 +22,5 @@ public interface IFinanceWalletService { */ PageResult list(PageValidate pageValidate, FinanceWalletSearchValidate searchValidate); + Map getUmChangeType(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/admin/IAdminRoleService.java b/server/like-admin/src/main/java/com/mdd/admin/service/admin/IAdminRoleService.java index bbcbdc0d..74706144 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/admin/IAdminRoleService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/admin/IAdminRoleService.java @@ -1,5 +1,7 @@ package com.mdd.admin.service.admin; +import com.mdd.common.entity.admin.AdminRole; + import java.util.List; /** @@ -15,6 +17,9 @@ public interface IAdminRoleService { List getRoleIdAttr(Integer adminId); + List getAdminIdByRoleId(Integer roleId); + + /** * 批量设置部门 * @param adminId diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/CrontabServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/CrontabServiceImpl.java index 98956907..bef3281c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/CrontabServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/CrontabServiceImpl.java @@ -11,9 +11,8 @@ import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.vo.CrontabDetailVo; import com.mdd.admin.vo.CrontabListedVo; import com.mdd.common.core.PageResult; -import com.mdd.common.entity.Crontab; -import com.mdd.common.mapper.CrontabMapper; -import com.mdd.common.util.TimeUtils; +import com.mdd.common.entity.DevCrontab; +import com.mdd.common.mapper.DevCrontabMapper; import org.quartz.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -35,7 +34,7 @@ public class CrontabServiceImpl implements ICrontabService { Scheduler scheduler; @Resource - CrontabMapper crontabMapper; + DevCrontabMapper crontabMapper; /** * 项目启动初始化任务 @@ -46,8 +45,8 @@ public class CrontabServiceImpl implements ICrontabService { @PostConstruct public void init() throws SchedulerException { scheduler.clear(); - List jobs = crontabMapper.selectList(new QueryWrapper().isNull("delete_time")); - for (Crontab crontab : jobs) { + List jobs = crontabMapper.selectList(new QueryWrapper().isNull("delete_time")); + for (DevCrontab crontab : jobs) { QuartzUtils.createScheduleJob(scheduler, crontab); } } @@ -64,18 +63,19 @@ public class CrontabServiceImpl implements ICrontabService { Integer pageNo = pageValidate.getPage_no(); Integer pageSize = pageValidate.getPage_size(); - IPage iPage = crontabMapper.selectPage(new Page<>(pageNo, pageSize), - new QueryWrapper() + IPage iPage = crontabMapper.selectPage(new Page<>(pageNo, pageSize), + new QueryWrapper() .isNull("delete_time") .orderByDesc("id")); List list = new LinkedList<>(); - for (Crontab crontab : iPage.getRecords()) { + for (DevCrontab crontab : iPage.getRecords()) { CrontabListedVo vo = new CrontabListedVo(); BeanUtils.copyProperties(crontab, vo); - vo.setStartTime(crontab.getStartTime()<=0?"-": TimeUtils.timestampToDate(crontab.getStartTime())); - vo.setEndTime(crontab.getEndTime()<=0?"-": TimeUtils.timestampToDate(crontab.getEndTime())); + vo.setTypeDesc("定时任务"); + vo.setStatusDesc(vo.getStatus() == null ? "未运行" : (vo.getStatus().equals(1) ? "运行" : (vo.getStatus().equals(2) ? "停止" : "错误"))); + list.add(vo); } @@ -91,8 +91,8 @@ public class CrontabServiceImpl implements ICrontabService { */ @Override public CrontabDetailVo detail(Integer id) { - Crontab crontab = crontabMapper.selectOne( - new QueryWrapper() + DevCrontab crontab = crontabMapper.selectOne( + new QueryWrapper() .eq("id", id) .isNull("delete_time") .last("limit 1")); @@ -113,20 +113,20 @@ public class CrontabServiceImpl implements ICrontabService { @Override @Transactional public void add(CrontabCreateValidate createValidate) throws SchedulerException { - Crontab crontab = new Crontab(); + DevCrontab crontab = new DevCrontab(); crontab.setName(createValidate.getName()); - crontab.setTypes(createValidate.getTypes()); + crontab.setType(createValidate.getType()); crontab.setCommand(createValidate.getCommand()); - crontab.setRules(createValidate.getRules()); + crontab.setExpression(createValidate.getExpression()); crontab.setStatus(createValidate.getStatus()); crontab.setRemark(createValidate.getRemark()); - crontab.setStrategy(createValidate.getStrategy()); - crontab.setConcurrent(createValidate.getConcurrent()); + crontab.setParams(createValidate.getParams()); crontab.setCreateTime(System.currentTimeMillis() / 1000); crontab.setUpdateTime(System.currentTimeMillis() / 1000); crontabMapper.insert(crontab); - - QuartzUtils.createScheduleJob(scheduler, crontab); + if (createValidate.getStatus() != null && createValidate.getStatus().equals(1)) { + QuartzUtils.createScheduleJob(scheduler, crontab); + } } /** @@ -138,8 +138,8 @@ public class CrontabServiceImpl implements ICrontabService { @Override @Transactional public void edit(CrontabUpdateValidate updateValidate) throws SchedulerException { - Crontab crontab = crontabMapper.selectOne( - new QueryWrapper() + DevCrontab crontab = crontabMapper.selectOne( + new QueryWrapper() .eq("id", updateValidate.getId()) .isNull("delete_time") .last("limit 1")); @@ -148,16 +148,19 @@ public class CrontabServiceImpl implements ICrontabService { crontab.setName(updateValidate.getName()); crontab.setCommand(updateValidate.getCommand()); - crontab.setTypes(updateValidate.getTypes()); - crontab.setRules(updateValidate.getRules()); + crontab.setType(updateValidate.getType()); + crontab.setExpression(updateValidate.getExpression()); crontab.setStatus(updateValidate.getStatus()); crontab.setRemark(updateValidate.getRemark()); - crontab.setStrategy(updateValidate.getStrategy()); - crontab.setConcurrent(updateValidate.getConcurrent()); + crontab.setParams(updateValidate.getParams()); crontab.setUpdateTime(System.currentTimeMillis() / 1000); crontabMapper.updateById(crontab); + if (updateValidate.getStatus() != null && updateValidate.getStatus().equals(1)) { + QuartzUtils.createScheduleJob(scheduler, crontab); + } else { + scheduler.deleteJob(QuartzUtils.getJobKey(crontab.getId(), crontab.getType().toString())); + } - QuartzUtils.createScheduleJob(scheduler, crontab); } /** @@ -169,19 +172,18 @@ public class CrontabServiceImpl implements ICrontabService { @Override @Transactional public void del(Integer id) throws SchedulerException { - Crontab crontab = crontabMapper.selectOne( - new QueryWrapper() + DevCrontab crontab = crontabMapper.selectOne( + new QueryWrapper() .eq("id", id) .isNull("delete_time") .last("limit 1")); Assert.notNull(crontab, "数据不存在!"); - crontab.setIsDelete(1); crontab.setDeleteTime(System.currentTimeMillis() / 1000); crontabMapper.updateById(crontab); - scheduler.deleteJob(QuartzUtils.getJobKey(crontab.getId(), crontab.getTypes())); + scheduler.deleteJob(QuartzUtils.getJobKey(crontab.getId(), crontab.getType().toString())); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java index 5efb4f0c..5ef4ae0b 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java @@ -1,12 +1,18 @@ package com.mdd.admin.service.impl; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Assert; import com.mdd.admin.service.IDecorateDataService; import com.mdd.admin.vo.decorate.DecorateDataArticleVo; +import com.mdd.admin.vo.decorate.DecoratePageVo; import com.mdd.common.entity.article.Article; +import com.mdd.common.entity.decorate.DecoratePage; import com.mdd.common.mapper.article.ArticleMapper; +import com.mdd.common.mapper.decorate.DecoratePageMapper; import com.mdd.common.util.TimeUtils; import com.mdd.common.util.UrlUtils; +import com.mdd.common.util.YmlUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -23,6 +29,9 @@ public class DecorateDataServiceImpl implements IDecorateDataService { @Resource ArticleMapper articleMapper; + @Resource + DecoratePageMapper decoratePageMapper; + /** * 获取文章数据 * @@ -58,4 +67,17 @@ public class DecorateDataServiceImpl implements IDecorateDataService { return list; } + + @Override + public JSONObject pc() { + + JSONObject pc = new JSONObject(); + DecoratePage decoratePage = decoratePageMapper.selectById(4); + Assert.notNull(decoratePage, "数据不存在!"); + + + pc.put("update_time", TimeUtils.timestampToDate(decoratePage.getUpdateTime())); + pc.put("pc_url", YmlUtils.get("like.front-url") + "/pc"); + return pc; + } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java index bd1b2f05..455ba41d 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRechargerServiceImpl.java @@ -50,7 +50,7 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { UserMapper userMapper; @Resource - UserAccountLogMapper logMoneyMapper; + UserAccountLogMapper userAccountLogMapper; @Resource RefundRecordMapper refundRecordMapper; @@ -79,19 +79,19 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.selectAll(RechargeOrder.class) - .select("U.id as user_id,U.sn as user_sn,U.nickname,U.avatar") + .select("U.id as user_id,U.account ,U.nickname,U.avatar, t.sn AS sn") .leftJoin("?_user U ON U.id=t.user_id".replace("?_", GlobalConfig.tablePrefix)) .orderByDesc("id"); rechargeOrderMapper.setSearch(mpjQueryWrapper, searchValidate, new String[]{ - "like:sn@t.order_sn:str", - "=:payWay@t.pay_way:int", - "=:payStatus@t.pay_status:int", - "datetime:startTime-endTime@create_time:long", + "like:sn@t.sn:str", + "=:pay_way@t.pay_way:int", + "=:pay_status@t.pay_status:int", + "datetime:start_time-end_time@create_time:long", }); - if (StringUtils.isNotEmpty(searchValidate.getKeyword())) { - String keyword = searchValidate.getKeyword(); + if (StringUtils.isNotEmpty(searchValidate.getUser_info())) { + String keyword = searchValidate.getUser_info(); mpjQueryWrapper.nested(wq->wq .like("U.nickname", keyword).or() .like("U.sn", keyword).or() @@ -107,20 +107,9 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { vo.setCreateTime(TimeUtils.timestampToDate(vo.getCreateTime())); vo.setPayTime(TimeUtils.timestampToDate(vo.getPayTime())); vo.setAvatar(UrlUtils.toAbsoluteUrl(vo.getAvatar())); - vo.setPayWay(PaymentEnum.getPayWayMsg(Integer.parseInt(vo.getPayWay()))); - - vo.setIsRefund(0); - if (vo.getPayStatus().equals(1)) { - RefundRecord refundRecord = refundRecordMapper.selectOne( - new QueryWrapper() - .eq("order_type", "recharge") - .eq("order_id", vo.getId()) - .last("limit 1")); - if (StringUtils.isNotNull(refundRecord)) { - vo.setIsRefund(1); - vo.setRefundStatusMsg(RefundEnum.getRefundStatusMsg(refundRecord.getRefundStatus())); - } - } + vo.setPayWay(vo.getPayWay()); + vo.setPayWayText(PaymentEnum.getPayWayMsg(Integer.parseInt(vo.getPayWay()))); + vo.setPayStatusText(PaymentEnum.getPayStatusMsg(vo.getPayStatus())); } return PageResult.iPageHandle(iPage); @@ -166,7 +155,7 @@ public class FinanceRechargerServiceImpl implements IFinanceRechargerService { userMapper.updateById(user); // 记录余额日志 - logMoneyMapper.dec( + userAccountLogMapper.dec( user.getId(), LogMoneyEnum.UM_DEC_RECHARGE.getCode(), rechargeOrder.getOrderAmount(), diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRefundServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRefundServiceImpl.java index 8031b605..a37f9e1a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRefundServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceRefundServiceImpl.java @@ -13,6 +13,7 @@ import com.mdd.common.config.GlobalConfig; import com.mdd.common.core.PageResult; import com.mdd.common.entity.RefundLog; import com.mdd.common.entity.RefundRecord; +import com.mdd.common.enums.PaymentEnum; import com.mdd.common.enums.RefundEnum; import com.mdd.common.mapper.RefundLogMapper; import com.mdd.common.mapper.RefundRecordMapper; @@ -52,24 +53,21 @@ public class FinanceRefundServiceImpl implements IFinanceRefundService { MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.selectAll(RefundRecord.class) - .select("U.id as user_id,U.nickname,U.avatar") + .select("U.id as user_id,U.nickname,U.avatar, U.account") .leftJoin("?_user U ON U.id=t.user_id".replace("?_", GlobalConfig.tablePrefix)) .orderByDesc("id"); refundRecordMapper.setSearch(mpjQueryWrapper, searchValidate, new String[]{ "like:sn@t.sn:str", - "like:orderSn@t.t.order_sn:str", - "=:refundType@t.refund_type:int", - "=:refundStatus@t.refund_status:int", - "datetime:startTime-endTime@create_time:long", + "like:order_sn@t.order_sn:str", + "=:refund_type@t.refund_type:int", + "=:refund_status@t.refund_status:int", + "datetime:start_time-end_time@create_time:long", }); - if (StringUtils.isNotNull(searchValidate.getType()) && searchValidate.getType() != -1) { - mpjQueryWrapper.eq("refund_status", searchValidate.getType()); - } - if (StringUtils.isNotEmpty(searchValidate.getKeyword())) { - String keyword = searchValidate.getKeyword(); + if (StringUtils.isNotEmpty(searchValidate.getUser_info())) { + String keyword = searchValidate.getUser_info(); mpjQueryWrapper.nested(wq->wq .like("U.nickname", keyword).or() .like("U.sn", keyword).or() @@ -82,8 +80,9 @@ public class FinanceRefundServiceImpl implements IFinanceRefundService { mpjQueryWrapper); for (FinanceRefundListVo vo : iPage.getRecords()) { - vo.setRefundTypeMsg(RefundEnum.getRefundTypeMsg(vo.getRefundType())); - vo.setRefundStatusMsg(RefundEnum.getRefundStatusMsg(vo.getRefundStatus())); + vo.setRefundTypeText(RefundEnum.getRefundTypeMsg(vo.getRefundType())); + vo.setRefundStatusText(RefundEnum.getRefundStatusMsg(vo.getRefundStatus())); + vo.setRefundWayText(PaymentEnum.getPayWayMsg(vo.getRefundWay())); vo.setCreateTime(TimeUtils.timestampToDate(vo.getCreateTime())); } @@ -114,19 +113,28 @@ public class FinanceRefundServiceImpl implements IFinanceRefundService { public List log(Integer recordId) { MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.selectAll(RefundLog.class) - .select("sa.nickname as handler") + .select("sa.name as handler") .eq("t.record_id", recordId) - .innerJoin("?_system_auth_admin sa ON sa.id=t.handle_id".replace("?_", GlobalConfig.tablePrefix)) + .innerJoin("?_admin sa ON sa.id=t.handle_id".replace("?_", GlobalConfig.tablePrefix)) .orderByDesc("t.id"); List list = refundLogMapper.selectJoinList(FinanceRefundLogVo.class, mpjQueryWrapper); for (FinanceRefundLogVo vo : list) { - vo.setRefundStatusMsg(RefundEnum.getRefundStatusMsg(vo.getRefundStatus())); + vo.setRefundStatusText(RefundEnum.getRefundStatusMsg(vo.getRefundStatus())); vo.setCreateTime(TimeUtils.timestampToDate(vo.getCreateTime())); } return list; } + @Override + public Map stat() { + Map stat = new LinkedHashMap<>(); + stat.put("total", refundRecordMapper.sum("order_amount", new QueryWrapper<>())); + stat.put("ing", refundRecordMapper.sum("order_amount", new QueryWrapper().eq("refund_status", 0))); + stat.put("success", refundRecordMapper.sum("order_amount", new QueryWrapper().eq("refund_status", 1))); + stat.put("error", refundRecordMapper.sum("order_amount", new QueryWrapper().eq("refund_status", 2))); + return stat; + } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceWalletServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceWalletServiceImpl.java index 90d52a94..78c11e45 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceWalletServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FinanceWalletServiceImpl.java @@ -37,17 +37,17 @@ public class FinanceWalletServiceImpl implements IFinanceWalletService { MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.selectAll(UserAccountLog.class) - .select("U.id as user_id,U.sn as user_sn,U.nickname,U.avatar") + .select("U.id as user_id,U.sn as sn,U.nickname,U.avatar, U.account, U.mobile") .leftJoin("?_user U ON U.id=t.user_id".replace("?_", GlobalConfig.tablePrefix)) .orderByDesc("id"); logMoneyMapper.setSearch(mpjQueryWrapper, searchValidate, new String[]{ - "=:type@change_type:int", + "=:change_type@change_type:int", "datetime:startTime-endTime@create_time:long", }); - if (StringUtils.isNotEmpty(searchValidate.getKeyword())) { - String keyword = searchValidate.getKeyword(); + if (StringUtils.isNotEmpty(searchValidate.getUser_info())) { + String keyword = searchValidate.getUser_info(); mpjQueryWrapper.nested(wq->wq .like("U.nickname", keyword).or() .like("U.sn", keyword).or() @@ -61,7 +61,7 @@ public class FinanceWalletServiceImpl implements IFinanceWalletService { for (FinanceWalletListVo vo : iPage.getRecords()) { vo.setCreateTime(TimeUtils.timestampToDate(vo.getCreateTime())); - vo.setChangeType(LogMoneyEnum.getMsgByCode(Integer.parseInt(vo.getChangeType()))); + vo.setChangeTypeDesc(LogMoneyEnum.getMsgByCode(Integer.parseInt(vo.getChangeType()))); vo.setAvatar(UrlUtils.toAbsoluteUrl(vo.getAvatar())); } @@ -71,4 +71,8 @@ public class FinanceWalletServiceImpl implements IFinanceWalletService { return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), iPage.getRecords(), extend); } + @Override + public Map getUmChangeType() { + return LogMoneyEnum.getTypeList(); + } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminRoleServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminRoleServiceImpl.java index 92a24e82..1bd71425 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminRoleServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminRoleServiceImpl.java @@ -31,6 +31,12 @@ public class AdminRoleServiceImpl implements IAdminRoleService { return ret; } + @Override + public List getAdminIdByRoleId(Integer roleId) { + List result = adminRoleMapper.selectList(new QueryWrapper().eq("role_id", roleId).select("admin_id")); + return result; + } + @Override public void batchInsert(Integer adminId, List roleIds) { this.deleteByAdminId(adminId); diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminServiceImpl.java index f3ef4101..93c2890c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/admin/AdminServiceImpl.java @@ -1,15 +1,14 @@ package com.mdd.admin.service.impl.admin; import cn.dev33.satoken.stp.StpUtil; -import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.query.MPJQueryWrapper; import com.mdd.admin.service.admin.*; -import com.mdd.admin.service.system.ISystemAuthPermService; import com.mdd.admin.service.system.ISystemMenuService; +import com.mdd.admin.service.system.ISystemRoleMenuService; import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.validate.system.SystemAdminCreateValidate; import com.mdd.admin.validate.system.SystemAdminSearchValidate; @@ -20,7 +19,6 @@ import com.mdd.admin.vo.auth.AuthMySelfVo; import com.mdd.admin.vo.system.*; import com.mdd.common.core.PageResult; import com.mdd.common.entity.admin.Admin; -import com.mdd.common.entity.admin.AdminDept; import com.mdd.common.entity.admin.Dept; import com.mdd.common.entity.system.Jobs; import com.mdd.common.entity.system.SystemMenu; @@ -54,7 +52,7 @@ public class AdminServiceImpl implements IAdminService { SystemRoleMapper systemAuthRoleMapper; @Resource - ISystemAuthPermService iSystemAuthPermService; + ISystemRoleMenuService iSystemRoleMenuService; @Resource IAdminRoleService iAdminRoleService; @Resource @@ -101,8 +99,8 @@ public class AdminServiceImpl implements IAdminService { "like:name:str" }); - if (StringUtils.isNotNull(searchValidate.getRole())) { - mpjQueryWrapper.in("lar.role_id", searchValidate.getRole()); + if (StringUtils.isNotNull(searchValidate.getRole_id())) { + mpjQueryWrapper.in("lar.role_id", searchValidate.getRole_id()); } IPage iPage = systemAuthAdminMapper.selectJoinPage( @@ -134,7 +132,7 @@ public class AdminServiceImpl implements IAdminService { List jobsId = new ArrayList<>(); List jobsNames = new ArrayList<>(); if (!jobs.isEmpty()) { - roles.forEach(item-> { + jobs.forEach(item-> { jobsId.add(item.getId()); jobsNames.add(item.getName()); }); @@ -147,7 +145,7 @@ public class AdminServiceImpl implements IAdminService { List deptIds = new ArrayList<>(); List deptNames = new ArrayList<>(); if (!depts.isEmpty()) { - roles.forEach(item-> { + depts.forEach(item-> { deptIds.add(item.getId()); deptNames.add(item.getName()); }); @@ -157,6 +155,8 @@ public class AdminServiceImpl implements IAdminService { } } + + vo.setDisableDesc(vo.getDisable() != null && vo.getDisable().equals(0) ? "启用" : "禁用"); vo.setAvatar(UrlUtils.toAbsoluteUrl(vo.getAvatar())); vo.setCreateTime(TimeUtils.timestampToDate(vo.getCreateTime())); vo.setUpdateTime(TimeUtils.timestampToDate(vo.getUpdateTime())); @@ -195,7 +195,7 @@ public class AdminServiceImpl implements IAdminService { List auths = new LinkedList<>(); if (adminId > 1) { List roleIds = new ArrayList(); - List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleIds); + List menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(roleIds); if (menuIds.size() > 0) { List systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper() .eq("is_disable", 0) @@ -317,6 +317,12 @@ public class AdminServiceImpl implements IAdminService { throw new OperateException("您无权限编辑系统管理员!"); } + boolean isEditInfo = false; + if (updateValidate.getPassword() != null) { + isEditInfo = true; + } + + String[] field = {"id", "account", "name"}; Assert.notNull(systemAuthAdminMapper.selectOne(new QueryWrapper() .select(field) @@ -339,36 +345,48 @@ public class AdminServiceImpl implements IAdminService { .last("limit 1")), "昵称已存在换一个吧!"); Admin model = new Admin(); + model.setId(updateValidate.getId()); - model.setName(updateValidate.getName()); - model.setAvatar(UrlUtils.toRelativeUrl(updateValidate.getAvatar())); - model.setMultipointLogin(updateValidate.getMultipointLogin()); - model.setDisable(updateValidate.getDisable()); - model.setUpdateTime(System.currentTimeMillis() / 1000); - if (!updateValidate.getId().equals(1)) { - model.setAccount(updateValidate.getAccount()); - } + if (isEditInfo) { - if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) { - String pwd = ToolUtils.makePassword(updateValidate.getPassword().trim()); - model.setPassword(pwd); + model.setName(updateValidate.getName()); + model.setAvatar(UrlUtils.toRelativeUrl(updateValidate.getAvatar())); + model.setMultipointLogin(updateValidate.getMultipointLogin()); + model.setUpdateTime(System.currentTimeMillis() / 1000); + + if (!updateValidate.getId().equals(1)) { + model.setAccount(updateValidate.getAccount()); + } + + if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) { + String pwd = ToolUtils.makePassword(updateValidate.getPassword().trim()); + model.setPassword(pwd); + } + } else { + model.setDisable(updateValidate.getDisable()); } systemAuthAdminMapper.updateById(model); - if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) { - StpUtil.kickout(updateValidate.getId()); + + if (isEditInfo) { + + if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) { + StpUtil.kickout(updateValidate.getId()); + } + + List deptIds = updateValidate.getDeptId(); + List jobsIds = updateValidate.getJobsId(); + List roleIds = updateValidate.getRoleId(); + + this.iAdminDeptService.batchInsert(updateValidate.getId(), deptIds); + + this.iAdminJobsService.batchInsert(updateValidate.getId(), jobsIds); + + this.iAdminRoleService.batchInsert(updateValidate.getId(), roleIds); } - List deptIds = updateValidate.getDeptId(); - List jobsIds = updateValidate.getJobsId(); - List roleIds = updateValidate.getRoleId(); - this.iAdminDeptService.batchInsert(updateValidate.getId(), deptIds); - - this.iAdminJobsService.batchInsert(updateValidate.getId(), jobsIds); - - this.iAdminRoleService.batchInsert(updateValidate.getId(), roleIds); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemAuthPermServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemAuthPermServiceImpl.java deleted file mode 100644 index c898e6b5..00000000 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemAuthPermServiceImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.mdd.admin.service.impl.system; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.mdd.admin.service.system.ISystemAuthPermService; -import com.mdd.common.entity.system.SystemAuthPerm; -import com.mdd.common.entity.system.SystemRole; -import com.mdd.common.mapper.system.SystemAuthPermMapper; -import com.mdd.common.mapper.system.SystemRoleMapper; -import com.mdd.common.util.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.LinkedList; -import java.util.List; - -/** - * 系统权限服务实现类 - */ -@Service -public class SystemAuthPermServiceImpl implements ISystemAuthPermService { - - @Resource - SystemAuthPermMapper systemAuthPermMapper; - - @Resource - SystemRoleMapper systemAuthRoleMapper; - - /** - * 根据角色ID获取菜单ID - * - * @param roleIds 角色ID - * @return List - */ - @Override - public List selectMenuIdsByRoleId(List roleIds) { - List menus = new LinkedList<>(); - - if (roleIds.isEmpty()) { - return menus; - } - - SystemRole systemAuthRole = systemAuthRoleMapper.selectOne(new QueryWrapper() - .in("id", roleIds) - .eq("is_disable", 0) - .last("limit 1")); - - if (StringUtils.isNull(systemAuthRole)) { - return menus; - } - - List systemAuthPerms = systemAuthPermMapper.selectList( - new QueryWrapper() - .in("role_id", roleIds)); - - for (SystemAuthPerm systemAuthPerm : systemAuthPerms) { - menus.add(systemAuthPerm.getMenuId()); - } - - return menus; - } - - /** - * 批量写入角色菜单 - * - * @author fzr - * @param roleId 角色ID - * @param menuIds 菜单ID组 - */ - @Override - @Transactional - public void batchSaveByMenuIds(Integer roleId, String menuIds) { - if (menuIds != null && !menuIds.equals("")) { - for (String menuId : menuIds.split(",")) { - SystemAuthPerm model = new SystemAuthPerm(); - model.setRoleId(roleId); - model.setMenuId(Integer.parseInt(menuId)); - systemAuthPermMapper.insert(model); - } - } - } - - /** - * 批量删除角色菜单(根据角色ID) - * - * @author fzr - * @param roleId 角色ID - */ - @Override - public void batchDeleteByRoleId(Integer roleId) { - systemAuthPermMapper.delete(new QueryWrapper().eq("role_id", roleId)); - } - - /** - * 批量删除角色菜单(根据菜单ID) - * - * @author fzr - * @param menuId 菜单ID - */ - @Override - public void batchDeleteByMenuId(Integer menuId) { - systemAuthPermMapper.delete(new QueryWrapper().eq("menu_id", menuId)); - } - -} diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemMenuServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemMenuServiceImpl.java index af034b17..b4c40c79 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemMenuServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemMenuServiceImpl.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.mdd.admin.LikeAdminThreadLocal; import com.mdd.admin.service.system.ISystemMenuService; -import com.mdd.admin.service.system.ISystemAuthPermService; +import com.mdd.admin.service.system.ISystemRoleMenuService; import com.mdd.admin.validate.system.SystemMenuCreateValidate; import com.mdd.admin.validate.system.SystemMenuUpdateValidate; import com.mdd.admin.vo.system.SystemAuthMenuVo; @@ -32,7 +32,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService { SystemMenuMapper systemAuthMenuMapper; @Resource - ISystemAuthPermService iSystemAuthPermService; + ISystemRoleMenuService iSystemRoleMenuService; /** * 根据角色ID获取菜单 @@ -44,7 +44,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService { @Override public JSONArray selectMenuByRoleId(List roleIds) { Integer adminId = LikeAdminThreadLocal.getAdminId(); - List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleIds); + List menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(roleIds); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("type", Arrays.asList("M", "C")); @@ -81,6 +81,13 @@ public class SystemMenuServiceImpl implements ISystemMenuService { */ @Override public JSONObject list() { + return new JSONObject() {{ + put("lists", all()); + }}; + } + + @Override + public JSONArray all() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("sort"); queryWrapper.orderByAsc("id"); @@ -99,10 +106,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService { JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists)); - - return new JSONObject() {{ - put("lists", ListUtils.listToTree(jsonArray, "id", "pid", "children")); - }}; + return ListUtils.listToTree(jsonArray, "id", "pid", "children"); } /** @@ -202,7 +206,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService { "请先删除子菜单再操作!"); systemAuthMenuMapper.deleteById(id); - iSystemAuthPermService.batchDeleteByMenuId(id); + iSystemRoleMenuService.batchDeleteByMenuId(id); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleMenuServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleMenuServiceImpl.java index 02849ec0..9d7098bd 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleMenuServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleMenuServiceImpl.java @@ -1,9 +1,18 @@ package com.mdd.admin.service.impl.system; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mdd.admin.service.system.ISystemRoleMenuService; +import com.mdd.common.entity.system.SystemRole; +import com.mdd.common.entity.system.SystemRoleMenu; +import com.mdd.common.mapper.system.SystemRoleMapper; +import com.mdd.common.mapper.system.SystemRoleMenuMapper; +import com.mdd.common.util.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; /** @@ -13,10 +22,85 @@ import java.util.List; public class SystemRoleMenuServiceImpl implements ISystemRoleMenuService { + @Resource + SystemRoleMenuMapper systemRoleMenuMapper; + + @Resource + SystemRoleMapper systemAuthRoleMapper; + + /** + * 根据角色ID获取菜单ID + * + * @param roleIds 角色ID + * @return List + */ @Override - public List getMenuIdsByRoleIds(List roleIds) { - List ret = new ArrayList<>(); - - return ret; + public List selectMenuIdsByRoleId(List roleIds) { + List menus = new LinkedList<>(); + + if (roleIds.isEmpty()) { + return menus; + } + + SystemRole systemAuthRole = systemAuthRoleMapper.selectOne(new QueryWrapper() + .in("id", roleIds) + .eq("is_disable", 0) + .last("limit 1")); + + if (StringUtils.isNull(systemAuthRole)) { + return menus; + } + + List systemRoleMenus = systemRoleMenuMapper.selectList( + new QueryWrapper() + .in("role_id", roleIds)); + + for (SystemRoleMenu systemRoleMenu : systemRoleMenus) { + menus.add(systemRoleMenu.getMenuId()); + } + + return menus; + } + + /** + * 批量写入角色菜单 + * + * @author fzr + * @param roleId 角色ID + * @param menuIds 菜单ID组 + */ + @Override + @Transactional + public void batchSaveByMenuIds(Integer roleId, List menuIds) { + if (menuIds != null && !menuIds.isEmpty()) { + menuIds.forEach(item-> { + SystemRoleMenu model = new SystemRoleMenu(); + model.setRoleId(roleId); + model.setMenuId(item); + systemRoleMenuMapper.insert(model); + }); + } + } + + /** + * 批量删除角色菜单(根据角色ID) + * + * @author fzr + * @param roleId 角色ID + */ + @Override + public void batchDeleteByRoleId(Integer roleId) { + systemRoleMenuMapper.delete(new QueryWrapper().eq("role_id", roleId)); + } + + /** + * 批量删除角色菜单(根据菜单ID) + * + * @author fzr + * @param menuId 菜单ID + */ + @Override + public void batchDeleteByMenuId(Integer menuId) { + systemRoleMenuMapper.delete(new QueryWrapper().eq("menu_id", menuId)); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleServiceImpl.java index 0473a8e2..02d1f1a9 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/SystemRoleServiceImpl.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mdd.admin.service.admin.IAdminRoleService; -import com.mdd.admin.service.system.ISystemAuthPermService; +import com.mdd.admin.service.system.ISystemRoleMenuService; import com.mdd.admin.service.system.ISystemRoleService; import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.validate.system.SystemRoleCreateValidate; @@ -40,7 +40,7 @@ public class SystemRoleServiceImpl implements ISystemRoleService { SystemRoleMapper systemRoleMapper; @Resource - ISystemAuthPermService iSystemAuthPermService; + ISystemRoleMenuService iSystemRoleMenuService; @Resource IAdminRoleService iAdminRoleService; @@ -55,6 +55,7 @@ public class SystemRoleServiceImpl implements ISystemRoleService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("id,name,sort,create_time,update_time"); queryWrapper.orderByDesc(Arrays.asList("sort", "id")); + queryWrapper.isNull("delete_time"); List systemAuthRoles = systemRoleMapper.selectList(queryWrapper); List list = new ArrayList<>(); @@ -89,6 +90,7 @@ public class SystemRoleServiceImpl implements ISystemRoleService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc(Arrays.asList("sort", "id")); + queryWrapper.isNull("delete_time"); IPage iPage = systemRoleMapper.selectPage(new Page<>(page, limit), queryWrapper); @@ -127,7 +129,7 @@ public class SystemRoleServiceImpl implements ISystemRoleService { SystemAuthRoleVo vo = new SystemAuthRoleVo(); BeanUtils.copyProperties(systemAuthRole, vo); vo.setNum(0); - vo.setMenusId(iSystemAuthPermService.selectMenuIdsByRoleId(roleIds)); + vo.setMenusId(iSystemRoleMenuService.selectMenuIdsByRoleId(roleIds)); vo.setCreateTime(TimeUtils.timestampToDate(systemAuthRole.getCreateTime())); vo.setUpdateTime(TimeUtils.timestampToDate(systemAuthRole.getUpdateTime())); @@ -186,8 +188,8 @@ public class SystemRoleServiceImpl implements ISystemRoleService { model.setUpdateTime(System.currentTimeMillis() / 1000); systemRoleMapper.updateById(model); -// iSystemAuthPermService.batchDeleteByRoleId(updateValidate.getId()); -// iSystemAuthPermService.batchSaveByMenuIds(updateValidate.getId(), updateValidate.getMenuIds()); + iSystemRoleMenuService.batchDeleteByRoleId(updateValidate.getId()); + iSystemRoleMenuService.batchSaveByMenuIds(updateValidate.getId(), updateValidate.getMenuId()); } /** @@ -206,19 +208,18 @@ public class SystemRoleServiceImpl implements ISystemRoleService { .last("limit 1")), "角色已不存在!"); - Assert.isNull(adminMapper.selectOne(new QueryWrapper() - .select("id", "role_ids", "nickname") - .apply("find_in_set({0}, role_ids)", id) - .isNull("delete_time")), + + List adminRoles = iAdminRoleService.getAdminIdByRoleId(id); + Assert.isTrue( adminRoles != null && adminRoles.isEmpty(), "角色已被管理员使用,请先移除"); systemRoleMapper.deleteById(id); - iSystemAuthPermService.batchDeleteByRoleId(id); + iSystemRoleMenuService.batchDeleteByRoleId(id); } @Override public List getRoleNameByAdminId(Integer adminId) { - List ret = new ArrayList(); + List ret = new ArrayList<>(); Admin admin = adminMapper.selectOne(new QueryWrapper().eq("id", adminId).isNull("delete_time")); if (StringUtils.isNull(admin)) { return ret; diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemAuthPermService.java b/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemAuthPermService.java deleted file mode 100644 index 2c461421..00000000 --- a/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemAuthPermService.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.mdd.admin.service.system; - -import java.util.List; - -/** - * 系统角色菜单服务接口类 - */ -public interface ISystemAuthPermService { - - /** - * 根据角色ID获取菜单ID - * - * @param roleIds 角色ID - * @return List - */ - List selectMenuIdsByRoleId(List roleIds); - - /** - * 批量写入角色菜单 - * - * @author fzr - * @param roleId 角色ID - * @param menuIds 菜单ID组 - */ - void batchSaveByMenuIds(Integer roleId, String menuIds); - - /** - * 根据角色ID批量删除角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - void batchDeleteByRoleId(Integer roleId); - - /** - * 根据菜单ID批量删除角色菜单 - * - * @author fzr - * @param menuId 菜单ID - */ - void batchDeleteByMenuId(Integer menuId); - -} diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemMenuService.java b/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemMenuService.java index bd090274..aa2abeab 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemMenuService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemMenuService.java @@ -29,6 +29,14 @@ public interface ISystemMenuService { */ JSONObject list(); + /** + * 菜单列表 + * + * @author fzr + * @return JSONArray + */ + JSONArray all(); + /** * 菜单详情 * diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemRoleMenuService.java b/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemRoleMenuService.java index ee920131..12187aec 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemRoleMenuService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/system/ISystemRoleMenuService.java @@ -8,10 +8,37 @@ import java.util.List; */ public interface ISystemRoleMenuService { + /** - * 根据roleIds 返回menuIds - * @param roleIds - * @return + * 根据角色ID获取菜单ID + * + * @param roleIds 角色ID + * @return List */ - List getMenuIdsByRoleIds(List roleIds); + List selectMenuIdsByRoleId(List roleIds); + + /** + * 批量写入角色菜单 + * + * @author fzr + * @param roleId 角色ID + * @param menuIds 菜单ID组 + */ + void batchSaveByMenuIds(Integer roleId, List menuIds); + + /** + * 根据角色ID批量删除角色菜单 + * + * @author fzr + * @param roleId 角色ID + */ + void batchDeleteByRoleId(Integer roleId); + + /** + * 根据菜单ID批量删除角色菜单 + * + * @author fzr + * @param menuId 菜单ID + */ + void batchDeleteByMenuId(Integer menuId); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabCreateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabCreateValidate.java index 2a954a5e..f8e9007b 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabCreateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabCreateValidate.java @@ -20,8 +20,8 @@ public class CrontabCreateValidate implements Serializable { private String name; @NotNull(message = "types参数缺失") - @ApiModelProperty(value = "任务分组", required = true) - private String types; + @ApiModelProperty("类型 1-定时任务") + private Integer type; @NotNull(message = "command参数缺失") @ApiModelProperty(value = "执行指令", required = true) @@ -29,7 +29,7 @@ public class CrontabCreateValidate implements Serializable { @NotNull(message = "rules参数缺失") @ApiModelProperty(value = "执行规则", required = true) - private String rules; + private String expression; @Length(max = 200, message = "remark参数不能超出200个字符") @ApiModelProperty(value = "备注") @@ -40,14 +40,17 @@ public class CrontabCreateValidate implements Serializable { @ApiModelProperty(value = "状态") private Integer status; - @NotNull(message = "strategy参数缺失") - @IntegerContains(values = {1, 2, 3}, message = "strategy参数取值异常") - @ApiModelProperty(value = "strategy", required = true) - private Integer strategy; + @ApiModelProperty(" 参数") + private String params; - @NotNull(message = "concurrent参数缺失") - @IntegerContains(values = {0, 1}, message = "concurrent参数取值异常") - @ApiModelProperty(value = "concurrent", required = true) - private Integer concurrent; +// @NotNull(message = "strategy参数缺失") +// @IntegerContains(values = {1, 2, 3}, message = "strategy参数取值异常") +// @ApiModelProperty(value = "strategy", required = true) +// private Integer strategy; +// +// @NotNull(message = "concurrent参数缺失") +// @IntegerContains(values = {0, 1}, message = "concurrent参数取值异常") +// @ApiModelProperty(value = "concurrent", required = true) +// private Integer concurrent; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabUpdateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabUpdateValidate.java index 2c0aed7c..170e4f71 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabUpdateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/crontab/CrontabUpdateValidate.java @@ -20,21 +20,21 @@ public class CrontabUpdateValidate implements Serializable { @ApiModelProperty(value = "id", required = true) private Integer id; - @NotNull(message = "types参数缺失") - @ApiModelProperty(value = "任务分组", required = true) - private String types; - @NotNull(message = "name参数缺失") @ApiModelProperty(value = "任务名称", required = true) private String name; + @NotNull(message = "types参数缺失") + @ApiModelProperty("类型 1-定时任务") + private Integer type; + @NotNull(message = "command参数缺失") @ApiModelProperty(value = "执行指令", required = true) private String command; @NotNull(message = "rules参数缺失") @ApiModelProperty(value = "执行规则", required = true) - private String rules; + private String expression; @Length(max = 200, message = "remark参数不能超出200个字符") @ApiModelProperty(value = "备注") @@ -42,17 +42,11 @@ public class CrontabUpdateValidate implements Serializable { @NotNull(message = "status参数缺失") @IntegerContains(values = {1, 2, 3}, message = "status参数取值异常") - @ApiModelProperty(value = "状态", required = true) + @ApiModelProperty(value = "状态") private Integer status; - @NotNull(message = "strategy参数缺失") - @IntegerContains(values = {1, 2, 3}, message = "strategy参数取值异常") - @ApiModelProperty(value = "strategy", required = true) - private Integer strategy; + @ApiModelProperty(" 参数") + private String params; - @NotNull(message = "concurrent参数缺失") - @IntegerContains(values = {0, 1}, message = "concurrent参数取值异常") - @ApiModelProperty(value = "concurrent", required = true) - private Integer concurrent; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRechargeSearchValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRechargeSearchValidate.java index 6d570dfa..481b3475 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRechargeSearchValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRechargeSearchValidate.java @@ -16,18 +16,18 @@ public class FinanceRechargeSearchValidate implements Serializable { private String sn; @ApiModelProperty(value = "关键词") - private String keyword; + private String user_info; @ApiModelProperty(value = "支付方式") - private Integer payWay; + private Integer pay_way; @ApiModelProperty(value = "支付状态") - private Integer payStatus; + private Integer pay_status; @ApiModelProperty(value = "开始时间") - private Integer startTime; + private Integer start_time; @ApiModelProperty(value = "结束时间") - private Integer endTime; + private Integer end_time; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundSearchValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundSearchValidate.java index c5e3d085..19230dc2 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundSearchValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundSearchValidate.java @@ -13,24 +13,23 @@ public class FinanceRefundSearchValidate implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("筛选类型: -1=全部, 0=退款中, 1=退款成功, 2=退款失败") - private Integer type; + private Integer refund_type; @ApiModelProperty("用户信息") - private String keyword; + private String user_info; @ApiModelProperty("退款单号") private String sn; @ApiModelProperty("来源单号") - private String orderSn; + private String order_sn; - @ApiModelProperty("退款类型: 1=后台退款") - private Integer refundType; + private Integer refund_status; @ApiModelProperty("开始时间") - private Long startTime; + private Long start_time; @ApiModelProperty("结束时间") - private Long endTime; + private Long end_time; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundValidate.java new file mode 100644 index 00000000..f0944cce --- /dev/null +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceRefundValidate.java @@ -0,0 +1,19 @@ +package com.mdd.admin.validate.finance; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("退款记录搜索参数") +public class FinanceRefundValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("充值订单id") + private Integer recharge_id; + + +} diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceWalletSearchValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceWalletSearchValidate.java index 349490de..67ea502f 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceWalletSearchValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/finance/FinanceWalletSearchValidate.java @@ -13,15 +13,15 @@ public class FinanceWalletSearchValidate implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "关键词") - private String keyword; + private String user_info; @ApiModelProperty(value = "类型") - private Integer type; + private Integer change_type; @ApiModelProperty(value = "创建时间") - private Integer startTime; + private Integer start_time; @ApiModelProperty(value = "结束时间") - private Integer endTime; + private Integer end_time; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminSearchValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminSearchValidate.java index 7082c25e..62103461 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminSearchValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminSearchValidate.java @@ -13,12 +13,12 @@ public class SystemAdminSearchValidate implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "登录账号") - private String username; + private String account; @ApiModelProperty(value = "用户昵称") - private String nickname; + private String name; @ApiModelProperty(value = "角色ID") - private Integer role; + private Integer role_id; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java index 1ed54404..23c492b5 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java @@ -55,7 +55,7 @@ public class SystemAdminUpdateValidate implements Serializable { @ApiModelProperty(value = "头像") private String avatar = ""; - @NotNull(message = "请选择角色") +// @NotNull(message = "请选择角色") @ApiModelProperty(value = "角色ID") private List roleId; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabDetailVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabDetailVo.java index fd617365..3641f4d6 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabDetailVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabDetailVo.java @@ -15,31 +15,28 @@ public class CrontabDetailVo implements Serializable { @ApiModelProperty(value = "任务ID") private Integer id; - @ApiModelProperty(value = "任务分组") - private String types; - - @ApiModelProperty(value = "任务名称") + @ApiModelProperty("任务名称") private String name; - @ApiModelProperty(value = "执行命令") - private String command; + @ApiModelProperty("类型 1-定时任务") + private Integer type; - @ApiModelProperty(value = "执行规则") - private String rules; + @ApiModelProperty("是否系统任务 0-否 1-是") + private Integer system; - @ApiModelProperty(value = "备注信息") + @ApiModelProperty("备注信息") private String remark; - @ApiModelProperty(value = "错误信息") - private String error; + @ApiModelProperty("执行命令") + private String command; - @ApiModelProperty(value = "执行状态: 1=正在运行, 2=任务停止, 3=发生错误") + @ApiModelProperty(" 执行状态: 1=正在运行, 2=任务停止, 3=发生错误") private Integer status; - @ApiModelProperty(value = "执行策略: 1=立即执行, 2=执行一次, 3=放弃执行") - private Integer strategy; + @ApiModelProperty(" 参数") + private String params; - @ApiModelProperty(value = "并发执行: 0=否, 1=是") - private Integer concurrent; + @ApiModelProperty("执行规则") + private String expression; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabListedVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabListedVo.java index e49dd04f..8010427c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabListedVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/CrontabListedVo.java @@ -12,40 +12,56 @@ public class CrontabListedVo implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "任务ID") - private Integer id; // 执行ID + @ApiModelProperty("ID") + private Integer id; - @ApiModelProperty(value = "任务分组") - private String groups; - - @ApiModelProperty(value = "任务名称") + @ApiModelProperty("任务名称") private String name; - @ApiModelProperty(value = "执行命令") + @ApiModelProperty("类型 1-定时任务") + private Integer type; + + private String typeDesc; + + @ApiModelProperty("是否系统任务 0-否 1-是") + private Integer system; + + @ApiModelProperty("备注信息") + private String remark; + + @ApiModelProperty("执行命令") private String command; - @ApiModelProperty(value = "执行规则") - private String rules; - - @ApiModelProperty(value = "错误信息") - private String error; - - @ApiModelProperty(value = "执行状态: [1=正在运行, 2=任务停止, 3=发生错误]") + @ApiModelProperty(" 执行状态: 1=正在运行, 2=任务停止, 3=发生错误") private Integer status; - @ApiModelProperty(value = "执行策略: [1=立即执行, 2=执行一次, 3=放弃执行]") - private Integer strategy; + private String statusDesc; - @ApiModelProperty(value = "并发执行: [0=否, 1=是]") - private Integer concurrent; + @ApiModelProperty(" 参数") + private String params; - @ApiModelProperty(value = "开始时间") - private String startTime; + @ApiModelProperty("执行规则") + private String expression; - @ApiModelProperty(value = "结束时间") - private String endTime; + @ApiModelProperty("错误信息") + private String error; - @ApiModelProperty(value = "执行耗时") - private Long taskTime; + @ApiModelProperty("结束时间") + private Long lastTime; + + @ApiModelProperty("最大执行时长") + private Long time; + + @ApiModelProperty("最大执行时长") + private Long maxTime; + + @ApiModelProperty("创建时间") + private Long createTime; + + @ApiModelProperty("更新时间") + private Long updateTime; + + @ApiModelProperty("删除时间") + private Long deleteTime; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRechargeListVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRechargeListVo.java index e6db53aa..7bf051c2 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRechargeListVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRechargeListVo.java @@ -22,11 +22,11 @@ public class FinanceRechargeListVo implements Serializable { @ApiModelProperty("用户头像") private String avatar; - @ApiModelProperty("用户编号") - private String userSn; + @ApiModelProperty("账号") + private String acount; @ApiModelProperty("订单编号") - private String orderSn; + private String sn; @ApiModelProperty("支付方式: [2=微信支付, 3=支付宝支付]") private String payWay; @@ -37,11 +37,11 @@ public class FinanceRechargeListVo implements Serializable { @ApiModelProperty("退款状态: [0=未退款 , 1=已退款]") private Integer refundStatus; - @ApiModelProperty("是否有退款: [0=否 , 1=是]") - private Integer isRefund; + @ApiModelProperty("支付状态: [0=待支付, 1=已支付]") + private String payStatusText; - @ApiModelProperty("退款状态描述") - private String refundStatusMsg; + @ApiModelProperty("支付方式") + private String payWayText; @ApiModelProperty("支付金额") private BigDecimal orderAmount; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundListVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundListVo.java index e1791467..e26e4e48 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundListVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundListVo.java @@ -40,11 +40,15 @@ public class FinanceRefundListVo implements Serializable { @ApiModelProperty("退款状态: 0=退款中, 1=退款成功, 2=退款失败") private Integer refundStatus; + private Integer refundWay; + @ApiModelProperty("退款类型描述") - private String refundTypeMsg; + private String refundTypeText; @ApiModelProperty("退款状态描述") - private String refundStatusMsg; + private String refundStatusText; + + private String refundWayText; @ApiModelProperty("记录时间") private String createTime; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundLogVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundLogVo.java index 8e1598ab..5ce421d7 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundLogVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceRefundLogVo.java @@ -29,7 +29,7 @@ public class FinanceRefundLogVo implements Serializable { private Integer refundStatus; @ApiModelProperty("退款状态描述") - private String refundStatusMsg; + private String refundStatusText; @ApiModelProperty("退款信息") private String refundMsg; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceWalletListVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceWalletListVo.java index a4a5aac2..29678a9d 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceWalletListVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/finance/FinanceWalletListVo.java @@ -17,7 +17,13 @@ public class FinanceWalletListVo implements Serializable { private Integer id; @ApiModelProperty(value = "用户编号") - private String userSn; + private String sn; + + private String account; + + private String mobile; + + private Integer action; @ApiModelProperty(value = "u屏幕估计头皮屑") private String avatar; @@ -34,6 +40,8 @@ public class FinanceWalletListVo implements Serializable { @ApiModelProperty(value = "变动类型") private String changeType; + private String changeTypeDesc; + @ApiModelProperty(value = "来源单号") private String sourceSn; diff --git a/server/like-common/src/main/java/com/mdd/common/entity/Crontab.java b/server/like-common/src/main/java/com/mdd/common/entity/DevCrontab.java similarity index 62% rename from server/like-common/src/main/java/com/mdd/common/entity/Crontab.java rename to server/like-common/src/main/java/com/mdd/common/entity/DevCrontab.java index a37b20dd..1d157ce5 100644 --- a/server/like-common/src/main/java/com/mdd/common/entity/Crontab.java +++ b/server/like-common/src/main/java/com/mdd/common/entity/DevCrontab.java @@ -10,7 +10,7 @@ import java.io.Serializable; @Data @ApiModel("计划任务实体") -public class Crontab implements Serializable { +public class DevCrontab implements Serializable { private static final long serialVersionUID = 1L; @@ -21,41 +21,44 @@ public class Crontab implements Serializable { @ApiModelProperty("任务名称") private String name; - @ApiModelProperty("任务分组") - private String types; + @ApiModelProperty("类型 1-定时任务") + private Integer type; - @ApiModelProperty("执行命令") - private String command; - - @ApiModelProperty("执行规则") - private String rules; + @ApiModelProperty("是否系统任务 0-否 1-是") + private Integer system; @ApiModelProperty("备注信息") private String remark; - @ApiModelProperty("错误信息") - private String error; + @ApiModelProperty("执行命令") + private String command; @ApiModelProperty(" 执行状态: 1=正在运行, 2=任务停止, 3=发生错误") private Integer status; - @ApiModelProperty("执行策略: 1=立即执行, 2=执行一次, 3=放弃执行") - private Integer strategy; + @ApiModelProperty(" 参数") + private String params; - @ApiModelProperty("并发执行: 0=否, 1=是") - private Integer concurrent; + @ApiModelProperty("执行规则") + private String expression; - @ApiModelProperty("是否删除: 0=否, 1=是") - private Integer isDelete; - - @ApiModelProperty("开始时间") - private Long startTime; + @ApiModelProperty("错误信息") + private String error; @ApiModelProperty("结束时间") - private Long endTime; + private Long lastTime; - @ApiModelProperty("任务耗时") - private Long taskTime; +// @ApiModelProperty("执行策略: 1=立即执行, 2=执行一次, 3=放弃执行") +// private Integer strategy; +// +// @ApiModelProperty("并发执行: 0=否, 1=是") +// private Integer concurrent; + + @ApiModelProperty("最大执行时长") + private Long time; + + @ApiModelProperty("最大执行时长") + private Long maxTime; @ApiModelProperty("创建时间") private Long createTime; diff --git a/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthPerm.java b/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthPerm.java deleted file mode 100644 index 90b39330..00000000 --- a/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthPerm.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.mdd.common.entity.system; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -@Data -@ApiModel("系统角色菜单实体") -public class SystemAuthPerm implements Serializable { - - private static final long serialVersionUID = 1L; - - @TableId(type = IdType.ASSIGN_UUID) - @ApiModelProperty("ID") - private String id; - - @ApiModelProperty("角色ID") - private Integer roleId; - - @ApiModelProperty("菜单ID") - private Integer menuId; - -} diff --git a/server/like-common/src/main/java/com/mdd/common/enums/PaymentEnum.java b/server/like-common/src/main/java/com/mdd/common/enums/PaymentEnum.java index 5f5a3485..de7f7e0d 100644 --- a/server/like-common/src/main/java/com/mdd/common/enums/PaymentEnum.java +++ b/server/like-common/src/main/java/com/mdd/common/enums/PaymentEnum.java @@ -61,4 +61,20 @@ public enum PaymentEnum { return "未知"; } + /** + * + * @author fzr + * @param status 支付状态 + * @return String + */ + public static String getPayStatusMsg(Integer status){ + switch (status) { + case 0: + return "未支付"; + case 1: + return "已支付"; + } + return "未知"; + } + } diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/CrontabMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/DevCrontabMapper.java similarity index 60% rename from server/like-common/src/main/java/com/mdd/common/mapper/CrontabMapper.java rename to server/like-common/src/main/java/com/mdd/common/mapper/DevCrontabMapper.java index 99e42f88..5d2cc39a 100644 --- a/server/like-common/src/main/java/com/mdd/common/mapper/CrontabMapper.java +++ b/server/like-common/src/main/java/com/mdd/common/mapper/DevCrontabMapper.java @@ -1,12 +1,12 @@ package com.mdd.common.mapper; import com.mdd.common.core.basics.IBaseMapper; -import com.mdd.common.entity.Crontab; +import com.mdd.common.entity.DevCrontab; import org.apache.ibatis.annotations.Mapper; /** * 计划任务Mapper */ @Mapper -public interface CrontabMapper extends IBaseMapper { +public interface DevCrontabMapper extends IBaseMapper { } diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthPermMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthPermMapper.java deleted file mode 100644 index 5f809b59..00000000 --- a/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthPermMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.mdd.common.mapper.system; - -import com.mdd.common.core.basics.IBaseMapper; -import com.mdd.common.entity.system.SystemAuthPerm; -import org.apache.ibatis.annotations.Mapper; - -/** - * 角色菜单Mapper - */ -@Mapper -public interface SystemAuthPermMapper extends IBaseMapper { -}