diff --git a/pom.xml b/pom.xml
index ae052fe..2305cda 100644
--- a/pom.xml
+++ b/pom.xml
@@ -95,6 +95,12 @@
easyexcel
3.3.2
+
+ org.jetbrains
+ annotations
+ 21.0.1
+ compile
+
diff --git a/src/main/java/com/yxt/user/UserApplication.java b/src/main/java/com/yxt/user/UserApplication.java
index 6e5d661..52f7e15 100644
--- a/src/main/java/com/yxt/user/UserApplication.java
+++ b/src/main/java/com/yxt/user/UserApplication.java
@@ -1,18 +1,18 @@
package com.yxt.user;
-
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
- * @author dimengzhe
+ * @author wangpengfei
+ * @date 2024/4/28 14:43
*/
@SpringBootApplication(scanBasePackages = {
"com.yxt.user.config",
"com.yxt.common.base.config",
- "com.yxt.goods"
+ "com.yxt.user"
})
// 启用自带定时任务
@EnableScheduling
diff --git a/src/main/java/com/yxt/user/apiadmin/SmsRest.java b/src/main/java/com/yxt/user/apiadmin/SmsRest.java
new file mode 100644
index 0000000..c68e2ca
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/SmsRest.java
@@ -0,0 +1,45 @@
+package com.yxt.user.apiadmin;
+
+import com.yxt.user.biz.sms.SmsDto;
+import com.yxt.user.biz.sms.SmsFeign;
+import com.yxt.user.utils.MsgWs;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.user.biz.sms.SmsDto;
+import com.yxt.user.utils.MsgWs;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Project: anrui_portal(门户建设)
+ * File: SysFunctionFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.sysfunction.SysFunctionRest
+ * Description: 功能.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "短信")
+@RestController
+@RequestMapping("v1/sms")
+public class SmsRest {
+
+
+ public ResultBean SendWaitWorkMsg(SmsDto dto) {
+ String mobile = dto.getMobile();
+ String msg = dto.getMsg();
+ if (StringUtils.isBlank(mobile)){
+ return ResultBean.fireFail().setMsg("手机号不能为空!");
+ }
+ if (StringUtils.isBlank(msg)){
+ return ResultBean.fireFail().setMsg("信息不能为空!");
+ }
+ String result = MsgWs.SendWaitWorkMsg(mobile, msg);
+ return ResultBean.fireSuccess();
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/SysFunctionRest.java b/src/main/java/com/yxt/user/apiadmin/SysFunctionRest.java
new file mode 100644
index 0000000..b8c271c
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/SysFunctionRest.java
@@ -0,0 +1,218 @@
+package com.yxt.user.apiadmin;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.user.biz.sysfunction.*;
+import com.yxt.user.biz.syssource.SysSource;
+import com.yxt.user.biz.syssource.SysSourceVo;
+//import com.yxt.user.biz.syssourcefunction.SysSourceFunction;
+import com.yxt.user.biz.syssource.SysSourceService;
+//import com.yxt.user.biz.syssourcefunction.SysSourceFunctionService;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Project: anrui_portal(门户建设)
+ * File: SysFunctionFeignFallback.java
+ * Class: com.yxt.user.biz.sysfunction.SysFunctionRest
+ * Description: 功能.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "功能")
+@RestController
+@RequestMapping("v1/sysfunction")
+public class SysFunctionRest {
+
+ @Autowired
+ private SysFunctionService sysFunctionService;
+ @Autowired
+ private SysSourceService sysSourceService;
+// @Autowired
+// private SysSourceFunctionService sysSourceFunctionService;
+
+
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = sysFunctionService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ public ResultBean> listAll(@RequestBody SysFunctionQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ List list = sysFunctionService.listAllVo(query);
+ return rb.success().setData(list);
+ }
+
+
+ public ResultBean> listAllByRoleSid(SysFunctionQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ List list = sysFunctionService.listAllByRoleSid(query);
+ return rb.success().setData(list);
+ }
+
+
+ public ResultBean> listAllVoForSource(@RequestBody SysFunctionQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ List list = sysFunctionService.listAllVoForSource(query);
+ return rb.success().setData(list);
+ }
+
+
+ public ResultBean> list() {
+ ResultBean rb = ResultBean.fireFail();
+ List list = sysFunctionService.listVo();
+ return rb.success().setData(list);
+ }
+
+
+ public ResultBean save(SysFunctionDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sourceSid = dto.getSourceSid();
+ if (StringUtils.isBlank(sourceSid)) {
+ return ResultBean.fireFail().setMessage("资源不能为空");
+ } else {
+ SysSourceVo sysSourceVo = sysSourceService.fetchBySidVo(sourceSid);
+ if (sysSourceVo.getSid() == null) {
+ return ResultBean.fireFail().setMessage("资源不存在");
+ }
+ }
+ String pSid = dto.getParentSid();
+ if (StringUtils.isBlank(pSid)) {
+ return ResultBean.fireFail().setMessage("菜单父级sid不能为空");
+ } else {
+ if (!"0".equals(pSid)) {
+ SysFunction sysFunction = sysFunctionService.fetchBySid(pSid);
+ if (StringUtils.isBlank(sysFunction.getSid())) {
+ return ResultBean.fireFail().setMessage("菜单父级不存在!");
+ }
+ }
+ }
+ sysFunctionService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ public ResultBean update(SysFunctionDto dto, String sid) {
+ SysFunction sysFunction = sysFunctionService.fetchBySid(sid);
+ if (sysFunction.getSid() == null) {
+ return ResultBean.fireFail().setMessage("功能不存在!");
+ }
+ ResultBean rb = ResultBean.fireFail();
+ sysFunctionService.updateBySid(dto.toMap(), sid);
+// SysSourceFunction sysSourceFunction1 = sysSourceFunctionService.fetchByFunctionSid(sid);
+// sysSourceFunctionService.delByFunctionSid(sid);
+// SysSourceFunction sysSourceFunction = new SysSourceFunction();
+// sysSourceFunction.setFunctionRootSid(sysSourceFunction1.getFunctionRootSid());
+// sysSourceFunction.setFunctionSid(sid);
+// sysSourceFunction.setSourceSid(dto.getSourceSid());
+// sysSourceFunctionService.insert(sysSourceFunction);
+ return rb.success();
+ }
+
+
+ public ResultBean updateIsEnable(String sid, Integer isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ SysFunction sysFunction = sysFunctionService.fetchBySid(sid);
+ if (sysFunction == null) {
+ //查询资源是否存在
+ SysSource sysSource = sysSourceService.fetchBySid(sid);
+ if (sysSource == null) {
+ return ResultBean.fireFail().setMessage("功能不存在!");
+ } else {
+ //将该资源下的所有功能关闭
+// List sids = sysSourceFunctionService.selectBySourceSid(sid);
+// if (sids.size() != 0) {
+// sysFunctionService.updateBySourceSid(isEnable, sids);
+// }
+
+ }
+ } else {
+ sysFunction.setIsEnable(isEnable);
+ sysFunctionService.updateById(sysFunction);
+ }
+
+ return rb.success();
+ }
+
+
+ public ResultBean del(String ids) {
+ ResultBean rb = ResultBean.fireFail();
+ sysFunctionService.delByIds(ids);
+ return rb.success();
+ }
+
+
+ public ResultBean delBySids(String sids) {
+ ResultBean rb = ResultBean.fireFail();
+ String[] sidsArr = sids.split(",");
+// for (String functionSid : sidsArr) {
+// sysSourceFunctionService.delByFunctionSid(functionSid);
+// }
+ sysFunctionService.delBySids(sidsArr);
+ return rb.success();
+ }
+
+
+ public ResultBean fetch(String id) {
+ ResultBean rb = ResultBean.fireFail();
+ SysFunctionVo vo = sysFunctionService.fetchByIdVo(id);
+ return rb.success().setData(vo);
+ }
+
+
+ public ResultBean fetchBySid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ SysFunction entity = sysFunctionService.fetchBySid(sid);
+ SysFunctionVo vo = new SysFunctionVo();
+ BeanUtil.copyProperties(entity, vo);
+// SysSourceFunction sysSourceFunction = sysSourceFunctionService.fetchByFunctionSid(sid);
+// vo.setSourceSid(sysSourceFunction.getSourceSid());
+ if ("0".equals(entity.getParentSid())) {
+ vo.setParentSid("0");
+ vo.setParentName("顶级功能");
+ } else {
+ SysFunction sysFunction = sysFunctionService.fetchBySid(entity.getParentSid());
+ vo.setParentSid(sysFunction.getSid());
+ vo.setParentName(sysFunction.getName());
+ }
+ return rb.success().setData(vo);
+ }
+
+
+ public ResultBean>> getFunctionAuthorization(String roleSid) {
+ ResultBean rb = ResultBean.fireFail();
+ List