diff --git a/bin/启动6379redis.bat.lnk b/bin/启动6379redis.bat.lnk
new file mode 100644
index 00000000..1bee4d52
Binary files /dev/null and b/bin/启动6379redis.bat.lnk differ
diff --git a/bin/启动nacos-server-2.0.4.bat b/bin/启动nacos-server-2.0.4.bat
new file mode 100644
index 00000000..6d0ee16b
--- /dev/null
+++ b/bin/启动nacos-server-2.0.4.bat
@@ -0,0 +1,2 @@
+@Echo Off
+start D:\tools_2022\work\nacos-server-2.0.4\nacos\bin\startup.cmd -m standalone
diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml
index 83871150..00db4cf1 100644
--- a/ruoyi-modules/pom.xml
+++ b/ruoyi-modules/pom.xml
@@ -13,6 +13,7 @@
ruoyi-gen
ruoyi-job
ruoyi-file
+ ruoyi-xjt
ruoyi-modules
diff --git a/ruoyi-modules/ruoyi-xjt/pom.xml b/ruoyi-modules/ruoyi-xjt/pom.xml
new file mode 100644
index 00000000..347c7232
--- /dev/null
+++ b/ruoyi-modules/ruoyi-xjt/pom.xml
@@ -0,0 +1,99 @@
+
+
+
+ ruoyi
+ com.ruoyi
+ 3.4.0
+
+ 4.0.0
+
+ ruoyi-modules-xjt
+
+ ruoyi-modules-xjt系统模块
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datasource
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datascope
+
+
+
+
+ com.ruoyi
+ ruoyi-common-log
+
+
+
+
+ com.ruoyi
+ ruoyi-common-swagger
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/RuoYiXjtApplication.java b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/RuoYiXjtApplication.java
new file mode 100644
index 00000000..1d37529a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/RuoYiXjtApplication.java
@@ -0,0 +1,34 @@
+package com.ruoyi.xjt;
+
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * 系统模块
+ *
+ * @author ruoyi
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableRyFeignClients
+@SpringBootApplication
+public class RuoYiXjtApplication
+{
+ public static void main(String[] args)
+ {
+ SpringApplication.run(RuoYiXjtApplication.class, args);
+ System.out.println("(♥◠‿◠)ノ゙ 系统模块启动成功 ლ(´ڡ`ლ)゙ \n" +
+ " .-------. ____ __ \n" +
+ " | _ _ \\ \\ \\ / / \n" +
+ " | ( ' ) | \\ _. / ' \n" +
+ " |(_ o _) / _( )_ .' \n" +
+ " | (_,_).' __ ___(_ o _)' \n" +
+ " | |\\ \\ | || |(_,_)' \n" +
+ " | | \\ `' /| `-' / \n" +
+ " | | \\ / \\ / \n" +
+ " ''-' `'-' `-..-' ");
+ }
+}
diff --git a/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/TMoneyController.java b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/TMoneyController.java
new file mode 100644
index 00000000..7835a075
--- /dev/null
+++ b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/TMoneyController.java
@@ -0,0 +1,105 @@
+package com.ruoyi.xjt.controller;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.xjt.domain.TMoney;
+import com.ruoyi.xjt.service.ITMoneyService;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+
+/**
+ * 支出或收入详情Controller
+ *
+ * @author ruoyi
+ * @date 2022-04-01
+ */
+@RestController
+@RequestMapping("/money")
+public class TMoneyController extends BaseController
+{
+ @Autowired
+ private ITMoneyService tMoneyService;
+
+ /**
+ * 查询支出或收入详情列表
+ */
+ @RequiresPermissions("xjt:money:list")
+ @GetMapping("/list")
+ public TableDataInfo list(TMoney tMoney)
+ {
+ startPage();
+ List list = tMoneyService.selectTMoneyList(tMoney);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出支出或收入详情列表
+ */
+ @RequiresPermissions("xjt:money:export")
+ @Log(title = "支出或收入详情", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, TMoney tMoney)
+ {
+ List list = tMoneyService.selectTMoneyList(tMoney);
+ ExcelUtil util = new ExcelUtil(TMoney.class);
+ util.exportExcel(response, list, "支出或收入详情数据");
+ }
+
+ /**
+ * 获取支出或收入详情详细信息
+ */
+ @RequiresPermissions("xjt:money:query")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return AjaxResult.success(tMoneyService.selectTMoneyById(id));
+ }
+
+ /**
+ * 新增支出或收入详情
+ */
+ @RequiresPermissions("xjt:money:add")
+ @Log(title = "支出或收入详情", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody TMoney tMoney)
+ {
+ return toAjax(tMoneyService.insertTMoney(tMoney));
+ }
+
+ /**
+ * 修改支出或收入详情
+ */
+ @RequiresPermissions("xjt:money:edit")
+ @Log(title = "支出或收入详情", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody TMoney tMoney)
+ {
+ return toAjax(tMoneyService.updateTMoney(tMoney));
+ }
+
+ /**
+ * 删除支出或收入详情
+ */
+ @RequiresPermissions("xjt:money:remove")
+ @Log(title = "支出或收入详情", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(tMoneyService.deleteTMoneyByIds(ids));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/TOrderController.java b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/TOrderController.java
new file mode 100644
index 00000000..9e32d143
--- /dev/null
+++ b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/TOrderController.java
@@ -0,0 +1,105 @@
+package com.ruoyi.xjt.controller;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.xjt.domain.TOrder;
+import com.ruoyi.xjt.service.ITOrderService;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+
+/**
+ * 缴费订单Controller
+ *
+ * @author ruoyi
+ * @date 2022-04-01
+ */
+@RestController
+@RequestMapping("/order")
+public class TOrderController extends BaseController
+{
+ @Autowired
+ private ITOrderService tOrderService;
+
+ /**
+ * 查询缴费订单列表
+ */
+ @RequiresPermissions("xjt:order:list")
+ @GetMapping("/list")
+ public TableDataInfo list(TOrder tOrder)
+ {
+ startPage();
+ List list = tOrderService.selectTOrderList(tOrder);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出缴费订单列表
+ */
+ @RequiresPermissions("xjt:order:export")
+ @Log(title = "缴费订单", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, TOrder tOrder)
+ {
+ List list = tOrderService.selectTOrderList(tOrder);
+ ExcelUtil util = new ExcelUtil(TOrder.class);
+ util.exportExcel(response, list, "缴费订单数据");
+ }
+
+ /**
+ * 获取缴费订单详细信息
+ */
+ @RequiresPermissions("xjt:order:query")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return AjaxResult.success(tOrderService.selectTOrderById(id));
+ }
+
+ /**
+ * 新增缴费订单
+ */
+ @RequiresPermissions("xjt:order:add")
+ @Log(title = "缴费订单", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody TOrder tOrder)
+ {
+ return toAjax(tOrderService.insertTOrder(tOrder));
+ }
+
+ /**
+ * 修改缴费订单
+ */
+ @RequiresPermissions("xjt:order:edit")
+ @Log(title = "缴费订单", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody TOrder tOrder)
+ {
+ return toAjax(tOrderService.updateTOrder(tOrder));
+ }
+
+ /**
+ * 删除缴费订单
+ */
+ @RequiresPermissions("xjt:order:remove")
+ @Log(title = "缴费订单", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(tOrderService.deleteTOrderByIds(ids));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/XjtUserController.java b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/XjtUserController.java
new file mode 100644
index 00000000..b8b96f7f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-xjt/src/main/java/com/ruoyi/xjt/controller/XjtUserController.java
@@ -0,0 +1,38 @@
+package com.ruoyi.xjt.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.constant.SecurityConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.xjt.service.XjtUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/user")
+public class XjtUserController {
+ @Autowired
+ private XjtUserService xjtUserService;
+ /**
+ * 根据角色编号获取详细信息
+ */
+ @RequiresPermissions("system:role:query")
+ @GetMapping(value = "/{username}")
+ public AjaxResult getInfo(@PathVariable String username)
+ {
+ System.out.println("用户username:"+username);
+ R